nickysn
eb26cd55d4
+ implemented OP_XOR in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44661 -
2020-04-09 14:29:56 +00:00
nickysn
7a86d193cc
+ implemented OP_OR in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44660 -
2020-04-09 14:24:36 +00:00
nickysn
f00f39abef
+ implemented OP_AND in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44659 -
2020-04-09 14:21:57 +00:00
nickysn
5360770ed2
+ implemented OP_SUB in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44658 -
2020-04-09 13:41:28 +00:00
nickysn
75a2f0352e
* fixed 64-bit OP_ADD in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44657 -
2020-04-09 13:28:22 +00:00
nickysn
a419018ff0
+ handle fromsize>tosize in tcgz80.a_load_reg_reg
...
git-svn-id: branches/z80@44656 -
2020-04-09 13:23:10 +00:00
nickysn
ce56125e40
+ implemented OP_ADD in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44655 -
2020-04-09 13:16:48 +00:00
nickysn
62cc60d081
* use register L for returning 8-bit values, DEHL for 32-bit values (SDCC-compatible)
...
git-svn-id: branches/z80@44654 -
2020-04-09 00:11:39 +00:00
nickysn
3c8ed1cfbc
* use 8-bit registers for the function return regs
...
git-svn-id: branches/z80@44653 -
2020-04-09 00:07:20 +00:00
nickysn
b896d2fea2
+ implemented sign extension in tcgz80.a_load_reg_ref
...
git-svn-id: branches/z80@44652 -
2020-04-08 23:59:58 +00:00
nickysn
6fea99ac9d
+ implemented sign extension in tcgz80.a_load_ref_reg
...
git-svn-id: branches/z80@44651 -
2020-04-08 23:57:26 +00:00
nickysn
df59c070a1
+ implemented sign extension in tcgz80.a_load_reg_reg
...
git-svn-id: branches/z80@44650 -
2020-04-08 23:50:14 +00:00
nickysn
b84bcdaeee
+ implemented unsigned int extension in tcgz80.a_load_ref_reg
...
git-svn-id: branches/z80@44648 -
2020-04-08 22:30:35 +00:00
nickysn
d0166242b3
+ support unsigned sign extension in tcgz80.a_load_reg_reg
...
git-svn-id: branches/z80@44646 -
2020-04-08 20:23:16 +00:00
nickysn
7d9658e2ba
+ support unsigned expansion in tcgz80.a_load_reg_ref
...
git-svn-id: branches/z80@44645 -
2020-04-08 20:12:17 +00:00
nickysn
5e94fbff54
+ added method make_simple_ref (empty for now, but will be implemented later)
...
git-svn-id: branches/z80@44640 -
2020-04-07 23:12:33 +00:00
nickysn
7fd807905f
+ initial implementation of pushing ref params in tcgz80.a_load_ref_cgpara
...
git-svn-id: branches/z80@44639 -
2020-04-07 22:55:33 +00:00
nickysn
c53cd30e7f
+ implemented tcgz80.a_load_reg_cgpara for pushing 1-byte parameters on the stack
...
git-svn-id: branches/z80@44638 -
2020-04-07 22:34:05 +00:00
nickysn
4fc83a44d3
+ implemented byte-sized inc/dec by 1 in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44631 -
2020-04-07 01:03:02 +00:00
nickysn
0d04d198fe
+ emit warnings for unimplemented ops in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44630 -
2020-04-07 00:55:54 +00:00
nickysn
b2549b63cd
* implemented pop_parasize for the Z80 and declared stdcall to be a clearstack pocall on this arch
...
git-svn-id: branches/z80@44629 -
2020-04-07 00:07:34 +00:00
nickysn
472ac716b7
* mark the 8-bit versions of the registers as volatile when calling procedures/functions
...
git-svn-id: branches/z80@44628 -
2020-04-06 23:31:20 +00:00
nickysn
f15b54085c
* fixed tcgz80.a_load_const_cgpara for pushing params on the stack
...
git-svn-id: branches/z80@44627 -
2020-04-06 23:15:00 +00:00
nickysn
fe20a00711
* don't typecast the const to aint in taicpu.op_const_reg and .op_reg_const, because, on the Z80, aint
...
is 8-bit (we treat it as having an 8-bit ALU), but it also has 16-bit instructions and registers,
that can take 16-bit consts
git-svn-id: branches/z80@44626 -
2020-04-06 23:12:02 +00:00
nickysn
3e3a392d88
* z80 regdat files regenerated
...
git-svn-id: branches/z80@44625 -
2020-04-06 22:49:05 +00:00
nickysn
d8ca077c33
+ add externals as .globl directives in the sdcc-sdasz80 assembler output
...
git-svn-id: branches/z80@44587 -
2020-04-04 23:15:57 +00:00
nickysn
c0b4e5c994
- removed the unused 's: topsize' parameter to TSdccSdasZ80Assembler.WriteOper
...
git-svn-id: branches/z80@44586 -
2020-04-04 23:04:35 +00:00
nickysn
1b06b649a7
* use is_calljmp to determine whether to use WriteOper_jmp in the sdcc-sdasz80 asm writer. This fixes
...
asm output for call instructions.
git-svn-id: branches/z80@44585 -
2020-04-04 23:03:13 +00:00
nickysn
fdc24164a0
+ implemented 8-bit signed comparisons as well
...
git-svn-id: branches/z80@44583 -
2020-04-04 20:59:52 +00:00
nickysn
8a1be73ce0
* also use the unsigned 8-bit comparison code for 8-bit signed equal/unequal comparisons
...
git-svn-id: branches/z80@44582 -
2020-04-04 20:28:53 +00:00
nickysn
55c18a11a0
- removed commented out code from TZ80AddNode.second_cmp
...
git-svn-id: branches/z80@44581 -
2020-04-04 20:16:11 +00:00
nickysn
9dc8744b53
- removed debug writeln
...
git-svn-id: branches/z80@44580 -
2020-04-04 20:15:10 +00:00
nickysn
59d7a45215
* generate more optimal code for unsigned 8-bit comparisons in TZ80AddNode.second_cmp
...
git-svn-id: branches/z80@44579 -
2020-04-04 20:14:31 +00:00
nickysn
5585bdb6aa
+ also support unsigned 8-bit > and <= in TZ80AddNode.second_cmp. All 8-bit unsigned comparisons now
...
work.
git-svn-id: branches/z80@44576 -
2020-04-04 17:49:13 +00:00
nickysn
f52f9dc56b
+ added a not-yet-complete implementation of TZ80AddNode.second_cmp. Only 8-bit unsigned comparison
...
works for now, and only for the <,= and <> operators
git-svn-id: branches/z80@44575 -
2020-04-04 17:15:31 +00:00
nickysn
3ed692a157
+ implemented tcgz80.a_jmp_flags
...
git-svn-id: branches/z80@44574 -
2020-04-04 17:07:54 +00:00
nickysn
ff655543ed
+ support conditional jumps in the sdcc-sdasz80 assembler writer
...
git-svn-id: branches/z80@44573 -
2020-04-04 17:05:49 +00:00
nickysn
d05a632616
+ write jump operands (not all forms supported yet) in the sdcc-sdasz80 asm output
...
git-svn-id: branches/z80@44572 -
2020-04-04 16:59:14 +00:00
nickysn
fb3a079916
* updated TAsmCond and TResFlags for the Z80
...
git-svn-id: branches/z80@44571 -
2020-04-04 16:12:47 +00:00
nickysn
99e304165e
* fix for 64-bit OP_AND/OP_OR/OP_XOR in tcgz80.a_op_reg_reg_internal
...
git-svn-id: branches/z80@44570 -
2020-04-04 15:33:01 +00:00
nickysn
c0b3eb70ac
+ fix for 64-bit OP_NOT in tcgz80.a_op_reg_reg_internal
...
git-svn-id: branches/z80@44569 -
2020-04-04 15:30:43 +00:00
nickysn
5b8fd51b3a
+ implemented OP_NEG in tcgz80.a_op_reg_reg_internal
...
git-svn-id: branches/z80@44568 -
2020-04-04 15:27:28 +00:00
nickysn
a362c3247d
+ added instruction encoding info for all the remaining Z80 instructions
...
git-svn-id: branches/z80@44567 -
2020-04-04 13:49:07 +00:00
nickysn
c5aa1193bf
+ started describing the instructions encoding
...
git-svn-id: branches/z80@44558 -
2020-04-04 02:35:15 +00:00
nickysn
4027ad18e0
+ added strict validation for the param types in z80ins.dat
...
git-svn-id: branches/z80@44557 -
2020-04-04 02:11:20 +00:00
nickysn
20eab5582f
+ generate the Z80 instruction enum and string table from z80ins.dat via a newly created tool
...
git-svn-id: branches/z80@44556 -
2020-04-04 01:36:07 +00:00
nickysn
565cc0e96b
+ created a parseable Z80 instruction description file, very loosely based on x86ins.dat. Parser not
...
implemented yet, but will be soon.
git-svn-id: branches/z80@44554 -
2020-04-04 00:21:50 +00:00
nickysn
9309e2c42e
* replace 'add/adc/sub/sbc/and/or/xor/cp orgreg' with 'add/adc/sub/sbc/and/or/xor/cp spilltemp' in
...
trgcpu.do_spill_replace
git-svn-id: branches/z80@44553 -
2020-04-03 22:42:02 +00:00
nickysn
e43834c5d0
* replace 'inc/dec orgreg' with 'inc/dec spilltemp' in trgcpu.do_spill_replace
...
git-svn-id: branches/z80@44552 -
2020-04-03 22:19:40 +00:00
nickysn
9d545342f8
* replace 'add/adc/sub/sbc/and/or/xor/cp A,orgreg' with 'add/adc/sub/sbc/and/or/xor/cp A,spilltemp' in trgcpu.do_spill_replace
...
git-svn-id: branches/z80@44537 -
2020-04-03 20:05:42 +00:00