Commit Graph

370 Commits

Author SHA1 Message Date
nickysn
44d95ef7c8 + generate better code in op_const_reg for OP_ADD and OP_SUB by using in certain cases A_DEC for OP_SUB
and A_INC for OP_ADD

git-svn-id: branches/z80@45120 -
2020-04-26 17:24:53 +00:00
nickysn
7957560fba + implemented tcgz80.a_adjust_sp
git-svn-id: branches/z80@45116 -
2020-04-26 17:04:15 +00:00
nickysn
723faf14a9 - removed GetByteLoc, because it isn't used
git-svn-id: branches/z80@45113 -
2020-04-26 16:44:14 +00:00
nickysn
ff0c771e2e - removed unused local vars
git-svn-id: branches/z80@45112 -
2020-04-26 16:42:19 +00:00
nickysn
9b9197c06e * formatting
git-svn-id: branches/z80@45111 -
2020-04-26 16:42:03 +00:00
nickysn
5de66f75a0 - removed commented out code from tcgz80.a_cmp_reg_reg_label
git-svn-id: branches/z80@45110 -
2020-04-26 16:41:44 +00:00
nickysn
ab8f9cc707 - removed commented out code from tcgz80.done_register_allocators
git-svn-id: branches/z80@45109 -
2020-04-26 16:40:52 +00:00
nickysn
1713176078 - removed commented out code from tcgz80.a_load_reg_cgpara
git-svn-id: branches/z80@45108 -
2020-04-26 16:40:21 +00:00
nickysn
3d5452cda3 - removed commented out code from tcgz80.a_load_ref_cgpara
git-svn-id: branches/z80@45107 -
2020-04-26 16:39:36 +00:00
nickysn
ab6d9e9df9 - removed tcgz80.maybegetcpuregister, because it isn't used
git-svn-id: branches/z80@45106 -
2020-04-26 16:38:29 +00:00
nickysn
05ca71133f + implemented OP_MUL/OP_IMUL in tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@45105 -
2020-04-26 16:37:53 +00:00
nickysn
3a80895e34 * fixed section writing with smartlinking the sdcc-sdasz80 asm writer
git-svn-id: branches/z80@45103 -
2020-04-26 15:35:03 +00:00
nickysn
3d81dd0b00 * ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
label length limit

git-svn-id: branches/z80@45085 -
2020-04-26 10:42:07 +00:00
nickysn
4165e3224a - removed some commented out code that won't be needed
git-svn-id: branches/z80@45084 -
2020-04-26 10:36:17 +00:00
nickysn
db4581041a * moved $EXTRAOPT before $OBJ
git-svn-id: branches/z80@45075 -
2020-04-25 16:42:31 +00:00
nickysn
3580c53b05 + enabled library-based smart linking for the ZX Spectrum target (not fully working yet)
git-svn-id: branches/z80@45071 -
2020-04-25 14:09:38 +00:00
nickysn
91289fddf4 + emit a label in g_intf_wrapper, even though the entire function is not yet implemented. For now, this
is enough to avoid linking errors

git-svn-id: branches/z80@45068 -
2020-04-25 13:45:37 +00:00
nickysn
2e55f9f4ab + support ait_realconst in the SDCC-SDASZ80 asm output
git-svn-id: branches/z80@45067 -
2020-04-25 13:12:18 +00:00
nickysn
a8fe46c0f5 + introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
output label to that length

git-svn-id: branches/z80@45066 -
2020-04-25 12:59:25 +00:00
nickysn
084b4187f8 * dollar sign changed to dollar in the SDCC-SDASZ80 asm output
git-svn-id: branches/z80@45065 -
2020-04-25 12:38:52 +00:00
nickysn
2bcd6f4c17 + apply ReplaceForbiddenAsmSymbolChars to all symbols in the SDCC-SDASZ80 assembler output
git-svn-id: branches/z80@45064 -
2020-04-25 12:38:23 +00:00
nickysn
b15c66b396 * fixed tcgz80.a_call_reg
git-svn-id: branches/z80@45062 -
2020-04-25 11:06:58 +00:00
nickysn
4b88e8f48e * fixed label placement in tcgz80.a_cmp_const_reg_label for 16-bit/32-bit operations OC_GT,OC_LT,OC_GTE,OC_LTE,OC_BE,OC_B,OC_AE,OC_A
git-svn-id: branches/z80@45061 -
2020-04-25 09:44:34 +00:00
nickysn
6014305708 - removed debug writeln
git-svn-id: branches/z80@45055 -
2020-04-24 19:15:52 +00:00
nickysn
9c7f1a7cab * synchronized with trunk
git-svn-id: branches/z80@45046 -
2020-04-24 03:30:29 +00:00
nickysn
9d1a9354c2 * set the correct expectloc in the first pass for pointer comparisons on the Z80
git-svn-id: branches/z80@45039 -
2020-04-23 14:00:38 +00:00
nickysn
0a017f1634 - removed unused method TZ80AddNode.NoEqual
git-svn-id: branches/z80@45038 -
2020-04-23 12:54:00 +00:00
nickysn
4a0ad586d0 + implemented record copy in tcgz80.a_load_ref_cgpara
git-svn-id: branches/z80@45035 -
2020-04-23 03:14:09 +00:00
nickysn
992602afcb * fixed 64-bit OP_NOT
git-svn-id: branches/z80@45034 -
2020-04-23 03:10:39 +00:00
nickysn
86bc22528a - removed some commented out code from tcpuparamanager.get_funcretloc
git-svn-id: branches/z80@45026 -
2020-04-23 02:33:41 +00:00
nickysn
3a5544ea63 - removed the the OS_64 and OS_F64-related code from tcpuparamanager.get_funcretloc
git-svn-id: branches/z80@45025 -
2020-04-23 02:32:54 +00:00
nickysn
89b8bd3848 + added a Z80-specific override for tcgz80.a_loadfpu_ref_cgpara, to support returning single results
in registers

git-svn-id: branches/z80@45024 -
2020-04-23 02:29:46 +00:00
nickysn
5c6fadada8 + return singles in the same registers as 32-bit ints
git-svn-id: branches/z80@45023 -
2020-04-23 02:17:03 +00:00
nickysn
088cfd5da5 * write a warning in the assembler output, instead of stopping with an internal error in
tcgz80.a_op_reg_reg_internal for OP_MUL/OP_IMUL, so that more RTL code can be compiled

git-svn-id: branches/z80@45022 -
2020-04-23 02:07:25 +00:00
nickysn
cae8a928c9 * fixed tz80loadparentfpnode.pass_generate_code to return result in an imaginary register sequence,
instead of simply returning IX

git-svn-id: branches/z80@45020 -
2020-04-23 01:40:13 +00:00
nickysn
770822382f + implemented all the remaining 16-bit and 32-bit comparisons in tcgz80.a_cmp_const_reg_label
git-svn-id: branches/z80@45019 -
2020-04-23 00:57:21 +00:00
nickysn
d54a2b7cb6 * generate an internal error in tcgz80.a_cmp_reg_reg_label, because that's not yet implemented
git-svn-id: branches/z80@45018 -
2020-04-23 00:40:23 +00:00
nickysn
38d3bdc60e + allow fromsize>tosize in tcgz80.a_load_ref_reg
git-svn-id: branches/z80@45017 -
2020-04-23 00:36:22 +00:00
nickysn
9c461d90bd + handle ref.base=NR_HL/NR_BC/NR_SP in tcgz80.a_loadaddr_ref_reg
git-svn-id: branches/z80@45009 -
2020-04-22 22:37:20 +00:00
nickysn
3014378ad2 + support OS_32,OS_S32 in tcgz80.a_load_reg_cgpara
git-svn-id: branches/z80@45006 -
2020-04-22 22:04:15 +00:00
nickysn
3d89d72621 * fixed 64-bit AND/OR/XOR in tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@45005 -
2020-04-22 21:58:43 +00:00
nickysn
e7f707cd78 + fixed 64-bit OP_NEG in a_op_reg_reg_internal
git-svn-id: branches/z80@45004 -
2020-04-22 21:48:42 +00:00
nickysn
ccd23d288d * handle same size, but different sign conversions properly in tcgz80.a_load_reg_ref,.a_load_ref_reg,.a_load_reg_reg
git-svn-id: branches/z80@45003 -
2020-04-22 21:42:00 +00:00
nickysn
4d875acdf1 + support OS_32 and OS_S32 in tcgz80.a_load_ref_cgpara
git-svn-id: branches/z80@45002 -
2020-04-22 21:09:03 +00:00
nickysn
0b3b8401df + implemented tcgz80.a_jmp_cond
git-svn-id: branches/z80@44997 -
2020-04-22 16:10:23 +00:00
nickysn
39574ac70e + implemented tz80notnode.second_boolean
git-svn-id: branches/z80@44994 -
2020-04-22 03:20:49 +00:00
nickysn
a3ae55081a + also handle LOC_FLAGS in tz80notnode.second_boolean
git-svn-id: branches/z80@44993 -
2020-04-22 03:03:11 +00:00
nickysn
bdd7cfb644 + handle LOC_JUMP in tz80notnode.second_boolean
git-svn-id: branches/z80@44992 -
2020-04-22 02:59:14 +00:00
nickysn
63e6c8fcf1 + override the NOT node for the Z80 (not yet implemented)
git-svn-id: branches/z80@44991 -
2020-04-22 02:56:51 +00:00
nickysn
242b67c50a + always use a mul helper on the Z80
git-svn-id: branches/z80@44989 -
2020-04-22 02:39:26 +00:00
nickysn
b741ed63b0 - commented out internal error in trgcpu.do_spill_read and trgcpu.do_spill_written
git-svn-id: branches/z80@44988 -
2020-04-22 02:31:21 +00:00
nickysn
9ad3de966f + handle IX and IY-based references in tcgz80.normalize_ref
git-svn-id: branches/z80@44987 -
2020-04-22 02:27:07 +00:00
nickysn
fe8b50fed3 * fix for Z80 pointer comparisons
git-svn-id: branches/z80@44986 -
2020-04-22 01:45:10 +00:00
nickysn
22d60361a8 * fixed broken code generation for unequaln in TZ80AddNode.second_cmp16_32_64bit
git-svn-id: branches/z80@44985 -
2020-04-22 01:30:13 +00:00
nickysn
8a3847e1b2 * use cg.a_jmp_flags in TZ80AddNode.second_cmp
git-svn-id: branches/z80@44984 -
2020-04-22 01:20:54 +00:00
nickysn
fec0f346f1 + partially implemented tcgz80.a_cmp_const_reg_label: all 8-bit comparison ops are implemented, and
also OP_EQ, OP_NE for 16-bit and 32-bit operands

git-svn-id: branches/z80@44983 -
2020-04-22 01:18:02 +00:00
nickysn
41b5829983 - removed commented out code, because it looks like a misleading comment
git-svn-id: branches/z80@44982 -
2020-04-21 23:40:46 +00:00
nickysn
9fc1d39beb + implemented code generation for signed 16/32/64-bit comparisons (<,<=,>,>=)
git-svn-id: branches/z80@44980 -
2020-04-21 23:00:32 +00:00
nickysn
ce8ed9efa8 + added another helper tcgz80.a_jmp_signed_cmp_3way
git-svn-id: branches/z80@44979 -
2020-04-21 22:48:44 +00:00
nickysn
ded10c55b3 - removed an extra unused jump
git-svn-id: branches/z80@44978 -
2020-04-21 22:17:30 +00:00
nickysn
027217d1fe * fixed an OP_SUB bug in tcgz80.a_op_const_reg_internal
git-svn-id: branches/z80@44977 -
2020-04-21 22:05:02 +00:00
nickysn
c1fa5600f1 + implemented code generation for unsigned 16,32 and 64-bit comparisons (<,<=,>,>=)
git-svn-id: branches/z80@44976 -
2020-04-21 21:52:55 +00:00
nickysn
a714a2fb76 + added a jmp helper that handles all possible combinations of jump on below, equal and above (unsigned comparison)
git-svn-id: branches/z80@44975 -
2020-04-21 21:38:15 +00:00
nickysn
08f02cfd87 + implemented code generation for 16-bit, 32-bit and 64-bit equal and unequal comparisons. </<=/>/>=
are still 8-bit only.

git-svn-id: branches/z80@44974 -
2020-04-21 20:37:05 +00:00
nickysn
0bbd140228 * fixed handling of untyped const parameters
git-svn-id: branches/z80@44971 -
2020-04-21 19:19:17 +00:00
nickysn
7bfce62302 * fixed stack direction in assignintreg. This fixes problems with the parameter location calculation.
git-svn-id: branches/z80@44964 -
2020-04-21 16:41:43 +00:00
nickysn
fcaf2fe5a0 * stack_offset changed to longint
git-svn-id: branches/z80@44963 -
2020-04-21 16:34:21 +00:00
nickysn
0332a60cb8 * cur_stack_offset changed to longint
git-svn-id: branches/z80@44962 -
2020-04-21 16:31:15 +00:00
nickysn
c67fa28d7c * use a LD sequence for 2-byte moves as well in tcgz80.g_concatcopy
git-svn-id: branches/z80@44961 -
2020-04-21 16:26:04 +00:00
nickysn
f8b0c24024 + support pushing word-sized parameters in a_load_reg_cgpara
git-svn-id: branches/z80@44911 -
2020-04-21 03:48:36 +00:00
nickysn
391990e456 * tg.direction is always -1 on the Z80
git-svn-id: branches/z80@44908 -
2020-04-21 03:02:43 +00:00
nickysn
d3e946b779 * fixed Z80 stack and temp allocation, so it doesn't have any wasted bytes
git-svn-id: branches/z80@44906 -
2020-04-21 02:51:44 +00:00
nickysn
168c009bc3 - removed the 'sdcc-' prefix of sdasz80 and sdldz80
git-svn-id: branches/z80@44900 -
2020-04-20 23:50:45 +00:00
nickysn
2f68090dd6 * synchronized with trunk
git-svn-id: branches/z80@44898 -
2020-04-20 22:42:08 +00:00
nickysn
557a481743 + use normalize_ref in tcgz80.a_load_ref_reg
git-svn-id: branches/z80@44897 -
2020-04-20 21:44:36 +00:00
nickysn
1813727faf + support addr_full in the sdcc-sdasz80 asm writer
git-svn-id: branches/z80@44896 -
2020-04-20 21:38:31 +00:00
nickysn
bee3e9c354 + make use of normalize_ref in tcgz80.a_load_reg_ref
git-svn-id: branches/z80@44895 -
2020-04-20 21:34:10 +00:00
nickysn
a7b69cd18b - removed make_simple_ref, because normalize_ref should be used instead
git-svn-id: branches/z80@44894 -
2020-04-20 20:52:07 +00:00
nickysn
0d6e59e9ef + actually return the proper (HL) reference result in tcgz80.normalize_ref
git-svn-id: branches/z80@44893 -
2020-04-20 20:49:45 +00:00
nickysn
5c138c341f + added an output parameter to tcgz80.normalize_ref, that returns a list of the registers that were
actually used, so they can be freed after the reference is used.

git-svn-id: branches/z80@44892 -
2020-04-20 20:46:30 +00:00
nickysn
fc991af9d1 + added tregisterlist - dynarray of tregister, and methods get/uncpuregisters for allocating/freeing
a dynamic list of registers

git-svn-id: branches/z80@44891 -
2020-04-20 20:42:16 +00:00
nickysn
882522259e + initial implementation of tcgz80.normalize_ref
git-svn-id: branches/z80@44890 -
2020-04-20 20:27:08 +00:00
nickysn
6e1dd417cf + only allow the first operand to be a condition
git-svn-id: branches/z80@44886 -
2020-04-20 17:07:21 +00:00
nickysn
a6e72713ad + support conditions in the Z80 inline assembler
git-svn-id: branches/z80@44885 -
2020-04-20 17:02:03 +00:00
nickysn
e5f4419694 + also support local labels in the Z80 inline assembler reader
git-svn-id: branches/z80@44884 -
2020-04-20 16:08:13 +00:00
nickysn
90fa75fb7a + support labels in the Z80 inline assembler
git-svn-id: branches/z80@44883 -
2020-04-20 15:49:11 +00:00
nickysn
ed2c19293a - removed getopstr - unused function, causing warning
git-svn-id: branches/z80@44834 -
2020-04-19 04:54:38 +00:00
nickysn
fb9d7c1289 * fixed warning in agsdasz80
git-svn-id: branches/z80@44833 -
2020-04-19 04:52:33 +00:00
nickysn
fc9a5797dd * fixed warning in agz80asm
git-svn-id: branches/z80@44832 -
2020-04-19 04:50:32 +00:00
nickysn
bb0c9424f8 * another warning in cgcpu fixed
git-svn-id: branches/z80@44830 -
2020-04-19 04:46:09 +00:00
nickysn
8a5757e72b * fixed warnings in Z80 cgcpu
git-svn-id: branches/z80@44829 -
2020-04-19 04:44:26 +00:00
nickysn
44d4b5ea83 * fixed warnings in aoptcpu
git-svn-id: branches/z80@44828 -
2020-04-19 04:40:48 +00:00
nickysn
85e3ad2193 * fixed warnings in Z80 rgcpu
git-svn-id: branches/z80@44827 -
2020-04-19 04:38:47 +00:00
nickysn
36043e8046 * fix warning in Z80 cpupara
git-svn-id: branches/z80@44826 -
2020-04-19 04:32:54 +00:00
nickysn
3deeff689a + added a ZX Spectrum target to the compiler
git-svn-id: branches/z80@44815 -
2020-04-19 01:09:03 +00:00
nickysn
35742f4d0d + write a comment for the CPU directive in the sdcc-sdasz80 asm output
git-svn-id: branches/z80@44812 -
2020-04-19 00:04:41 +00:00
nickysn
e86cd0df7a + handle ait_marker in the sdcc-sdasz80 asm writer
git-svn-id: branches/z80@44811 -
2020-04-19 00:00:34 +00:00
nickysn
27e01155a5 - cleaned up lots of unused commented out code from the z80 asm reader
git-svn-id: branches/z80@44808 -
2020-04-18 23:43:41 +00:00
nickysn
a512b0cc99 + some reference handling fixes
git-svn-id: branches/z80@44806 -
2020-04-18 23:32:39 +00:00
nickysn
47bfe41766 + initial implementation of const and ref operands (refs not fully working yet)
git-svn-id: branches/z80@44805 -
2020-04-18 23:25:02 +00:00
nickysn
ce598813fa + handle all registers properly in reg_cgsize
git-svn-id: branches/z80@44804 -
2020-04-18 22:34:21 +00:00
nickysn
0dcccfb4bd + implemented support for operands in the z80 asm reader - support only registers for now
git-svn-id: branches/z80@44803 -
2020-04-18 22:27:32 +00:00
nickysn
383e834324 + handle 0 operand instructions in the z80 asm reader
git-svn-id: branches/z80@44802 -
2020-04-18 22:12:43 +00:00
nickysn
407d19560c + handle and skip AS_SEPARATOR in the z80 assembler reader
git-svn-id: branches/z80@44801 -
2020-04-18 21:58:21 +00:00
nickysn
dced623ab2 + implemented tz80reader.gettoken
git-svn-id: branches/z80@44800 -
2020-04-18 21:54:14 +00:00
nickysn
97f7095109 + some more z80 asm reader stuff
git-svn-id: branches/z80@44786 -
2020-04-18 15:27:47 +00:00
nickysn
4e5e42f839 + added the AS_END directive
git-svn-id: branches/z80@44784 -
2020-04-18 14:34:36 +00:00
nickysn
6e0bdaf128 + implemented tz80reader.is_asmopcode
git-svn-id: branches/z80@44783 -
2020-04-18 14:32:44 +00:00
nickysn
5a94c2adbe + added tz80reader comment for lazarus autocompletion
git-svn-id: branches/z80@44782 -
2020-04-18 14:23:11 +00:00
nickysn
4e7e48ef32 * moved tz80reader comment
git-svn-id: branches/z80@44781 -
2020-04-18 14:22:42 +00:00
nickysn
f78fef23a2 + implemented tz80reader.is_register
git-svn-id: branches/z80@44780 -
2020-04-18 14:20:17 +00:00
nickysn
8164d91050 + defined some tokens for the z80 asm reader
git-svn-id: branches/z80@44779 -
2020-04-18 14:17:06 +00:00
nickysn
4ba42b5b5f + build the z80 assembler reader units (not working yet)
git-svn-id: branches/z80@44778 -
2020-04-18 13:46:42 +00:00
nickysn
05a6bcec13 + support more instructions in taicpu.spilling_get_operation_type
git-svn-id: branches/z80@44772 -
2020-04-18 02:02:38 +00:00
nickysn
f08dc825ef * changed AVR to Z80 in comment
git-svn-id: branches/z80@44771 -
2020-04-18 01:51:36 +00:00
nickysn
d0122e1bf3 + added toperandtype subrange types for convenience
git-svn-id: branches/z80@44770 -
2020-04-18 01:50:20 +00:00
nickysn
513ef512ff - removed redundant opcode:=A_LD assignments in do_spill_replace
git-svn-id: branches/z80@44769 -
2020-04-18 00:51:48 +00:00
nickysn
721bbe636b + support the bit,set and res instructions in do_spill_replace
git-svn-id: branches/z80@44768 -
2020-04-18 00:50:43 +00:00
nickysn
81ccf6935c + support the rlc,rl,rrc,rr,sla,sra and srl instructions in do_spill_replace
git-svn-id: branches/z80@44767 -
2020-04-18 00:42:47 +00:00
nickysn
82ca49e0a6 + use is_ref_in_opertypes in nz80add
git-svn-id: branches/z80@44766 -
2020-04-18 00:32:01 +00:00
nickysn
0245075c05 + use is_ref_in_opertypes in cgcpu
git-svn-id: branches/z80@44765 -
2020-04-18 00:30:09 +00:00
nickysn
c9ac7afba7 + introduced is_ref_in_opertypes
git-svn-id: branches/z80@44764 -
2020-04-18 00:27:31 +00:00
nickysn
54ad38288b + introduced is_ref_opertype
git-svn-id: branches/z80@44763 -
2020-04-18 00:24:12 +00:00
nickysn
2edb5932a3 + introduced is_ref_addr16
git-svn-id: branches/z80@44762 -
2020-04-18 00:19:43 +00:00
nickysn
4d67bd509e + introduced is_ref_bc,is_ref_de,is_ref_sp
git-svn-id: branches/z80@44761 -
2020-04-18 00:18:02 +00:00
nickysn
5547be6b3f * make use of the new is_ref_XXX functions
git-svn-id: branches/z80@44760 -
2020-04-18 00:11:34 +00:00
nickysn
5c0fa369c2 + added z80 reference helper functions is_ref_hl,is_ref_ix,is_ref_iy,is_ref_ix_d,is_ref_iy_d
git-svn-id: branches/z80@44759 -
2020-04-18 00:04:09 +00:00
nickysn
4b01ff605a * changed max_operands to 2 for the Z80
git-svn-id: branches/z80@44758 -
2020-04-17 23:34:56 +00:00
nickysn
66462fec68 - removed taddressmode from the Z80 code generator - it's a leftover from AVR that doesn't apply to the Z80
git-svn-id: branches/z80@44756 -
2020-04-17 23:01:13 +00:00
nickysn
53de231c23 + added the instruction opcode information strings to the compiler instruction table
git-svn-id: branches/z80@44755 -
2020-04-17 22:57:18 +00:00
nickysn
be095914ec + created and included an Z80 instruction table
git-svn-id: branches/z80@44753 -
2020-04-17 22:47:15 +00:00
nickysn
3ab0f3a93f + added a toperandtype enum, containing all the operand types of Z80
git-svn-id: branches/z80@44752 -
2020-04-17 22:04:54 +00:00
nickysn
1f5a1f8c28 + added DJNZ to the set of jmp instructions
git-svn-id: branches/z80@44750 -
2020-04-17 19:30:44 +00:00
nickysn
f307f6954f * formatting
git-svn-id: branches/z80@44744 -
2020-04-17 02:32:14 +00:00
nickysn
962e339ec4 + TZ80AddNode.NoEqual
git-svn-id: branches/z80@44731 -
2020-04-16 03:57:21 +00:00
nickysn
6b74573677 + added a nodetype parameter to TZ80AddNode.GetResFlags
git-svn-id: branches/z80@44730 -
2020-04-16 03:16:18 +00:00
nickysn
2e6b36f57d + initialize some common variables in TZ80AddNode.second_cmp16_32_64bit
git-svn-id: branches/z80@44729 -
2020-04-16 03:11:35 +00:00
nickysn
f9e4f7b19b + introduced a TZ80AddNode.second_cmp16_32_64bit method, not implemented for now
git-svn-id: branches/z80@44728 -
2020-04-15 23:38:40 +00:00
nickysn
90e2b9ecc6 + implemented tcgz80.g_flags2reg
git-svn-id: branches/z80@44696 -
2020-04-12 02:21:03 +00:00
nickysn
00f7fad1a6 + support pushing word-sized parameters in tcgz80.a_load_ref_cgpara
git-svn-id: branches/z80@44695 -
2020-04-11 21:29:28 +00:00
nickysn
87258f4004 - removed unused local vars of tcgz80.g_concatcopy
git-svn-id: branches/z80@44693 -
2020-04-11 21:18:36 +00:00
nickysn
26e93d1e02 - removed unused method tcgz80.g_concatcopy_move
git-svn-id: branches/z80@44692 -
2020-04-11 21:17:20 +00:00
nickysn
c6a066495a + implemented tcgz80.g_concatcopy in the general case, using the ldir instruction
git-svn-id: branches/z80@44691 -
2020-04-11 21:15:55 +00:00
nickysn
1f8c1c1346 + implemented more ref cases in tcgz80.a_loadaddr_ref_reg
git-svn-id: branches/z80@44690 -
2020-04-11 16:44:51 +00:00
nickysn
472bc6c936 + support symbol+base/index in tcgz80.a_loadaddr_ref_reg
git-svn-id: branches/z80@44683 -
2020-04-11 01:19:13 +00:00
nickysn
4e5eb7fa4e + implemented tcgz80.a_loadaddr_ref_reg for symbol references
git-svn-id: branches/z80@44682 -
2020-04-11 01:00:46 +00:00
nickysn
ca77f07013 * fixed offset to procedure/function parameters
git-svn-id: branches/z80@44674 -
2020-04-09 23:48:47 +00:00
nickysn
e8cecafffa + implemented g_concatcopy for 1-byte copies from (IX+d)/(IY+d)/(HL) to (IX+d)/(IY+d)/(HL)
git-svn-id: branches/z80@44673 -
2020-04-09 23:37:27 +00:00
nickysn
5aca5937e6 - cleaned up unused local variables and procedures from tcgz80.a_op_const_reg_internal and tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@44670 -
2020-04-09 22:01:07 +00:00
nickysn
0e257a2c9f - removed 2 unnecessary instructions for 8-bit OP_ROL/OP_ROR in tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@44669 -
2020-04-09 21:56:45 +00:00