florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
pierre
dfdfbf896d
Fix several warnings about uninitialized local variables
...
git-svn-id: trunk@45787 -
2020-07-15 08:59:59 +00:00
nickysn
c49213c561
+ Z80: implemented the JRJP pseudo instruction in the Z80 internal asm writer
...
git-svn-id: trunk@45502 -
2020-05-25 22:40:41 +00:00
nickysn
f71b6f341b
+ added JRJP to various instruction lists
...
git-svn-id: trunk@45497 -
2020-05-25 16:12:06 +00:00
nickysn
75ce122d36
- removed commented out writeln
...
git-svn-id: trunk@45290 -
2020-05-06 03:24:15 +00:00
nickysn
bface9fd94
- reverted previous commit, since it was incorrect
...
git-svn-id: trunk@45287 -
2020-05-06 00:44:35 +00:00
nickysn
0caba1e84d
+ added internal error in taicpu.gencode.WriteNN to catch unhandled asm instructions
...
git-svn-id: trunk@45286 -
2020-05-06 00:38:55 +00:00
nickysn
0d402a1341
+ support signed 8-bit immediate constants in the Z80 internal asm writer as well
...
git-svn-id: trunk@45284 -
2020-05-06 00:13:10 +00:00
nickysn
11a7b8592f
+ support instructions like BIT, SET and RES in the Z80 internal asm writer
...
git-svn-id: trunk@45283 -
2020-05-06 00:10:17 +00:00
nickysn
6764056eff
+ support the 'in A,(n)' and 'out (n),A' instrunction in the Z80 internal asm writer
...
git-svn-id: trunk@45282 -
2020-05-05 23:58:54 +00:00
nickysn
b164f5aa65
+ support relative jumps in the Z80 internal asm writer
...
git-svn-id: trunk@45280 -
2020-05-05 23:42:09 +00:00
nickysn
0a09359906
+ support the RST instruction in the Z80 internal asm writer
...
git-svn-id: trunk@45279 -
2020-05-05 23:30:44 +00:00
nickysn
43686720c3
+ fix for conditional JP in the Z80 internal asm writer
...
git-svn-id: trunk@45275 -
2020-05-05 22:45:40 +00:00
nickysn
3e14eddaf6
+ support conditional operations in the Z80 internal asm
...
git-svn-id: trunk@45274 -
2020-05-05 22:42:21 +00:00
nickysn
58d6d64fba
+ Z80 internal asm: support OT_REF_ADDR16 in taicpu.gencode.WrinteNN
...
git-svn-id: trunk@45273 -
2020-05-05 22:30:49 +00:00
nickysn
4fed57adc1
+ lots of fixes to the Z80 internal asm writer
...
git-svn-id: trunk@45272 -
2020-05-05 22:18:44 +00:00
nickysn
3ab5acccb1
* the parameter of WriteWord should be word, not byte :)
...
git-svn-id: trunk@45269 -
2020-05-05 20:35:08 +00:00
nickysn
256597be58
+ Z80 internal asm: produce correct opcodes for register operands
...
git-svn-id: trunk@45250 -
2020-05-04 02:17:30 +00:00
nickysn
90ee079cd1
+ partial implementation of pass2 asm opcode generation for the Z80 internal asm writer
...
git-svn-id: trunk@45249 -
2020-05-04 01:27:44 +00:00
nickysn
5d2be4da1c
* Z80: match both signed and unsigned 16-bit constants as OT_IMM16 in the asm instab lookup
...
git-svn-id: trunk@45248 -
2020-05-04 00:20:50 +00:00
nickysn
27e9dde81a
+ implemented pass1 (calcsize) of the instruction encoding for the Z80 internal asm
...
git-svn-id: trunk@45247 -
2020-05-04 00:14:28 +00:00
nickysn
9b1eebd333
+ z80: add operand info to the result of taicpu.GetString, this makes the
...
compiler produce nicer error messages, when it encounters an invalid
instruction in inline asm code
git-svn-id: trunk@45187 -
2020-04-30 00:17:29 +00:00
nickysn
34112c932c
+ handle OT_IMM8 and OT_IMM16 for getting symbol addresses in taicpu.Matches
...
git-svn-id: trunk@45185 -
2020-04-29 23:45:09 +00:00
nickysn
a79d12ae41
+ handle OT_RELJMP8 in taicpu.Matches
...
git-svn-id: trunk@45184 -
2020-04-29 23:39:47 +00:00
nickysn
4c021c100a
+ handle OT_REG8_C_PORT in taicpu.Matches
...
git-svn-id: trunk@45183 -
2020-04-29 23:30:43 +00:00
nickysn
a063a53863
+ handle OT_IMM_PORT in taicpu.Matches
...
git-svn-id: trunk@45182 -
2020-04-29 23:23:20 +00:00
nickysn
552107f577
+ z80: implemented taicpu.CheckIfValid
...
git-svn-id: trunk@45181 -
2020-04-29 22:21:40 +00:00
nickysn
d5b8e49da2
+ z80: implemented taicpu.FindInsentry
...
git-svn-id: trunk@45180 -
2020-04-29 22:12:51 +00:00
nickysn
5e90aa27d5
- z80: oops, forgot to delete some code from taicpu.Matches
...
git-svn-id: trunk@45179 -
2020-04-29 21:46:42 +00:00
nickysn
e08c7b3642
+ z80: added condition checking in taicpu.Matches
...
git-svn-id: trunk@45178 -
2020-04-29 21:38:41 +00:00
nickysn
365e320119
+ partial implementation of taicpu.Matches
...
git-svn-id: trunk@45175 -
2020-04-29 16:25:52 +00:00
nickysn
6654faea08
+ build an instruction table cache for the Z80
...
git-svn-id: trunk@45173 -
2020-04-29 14:53:21 +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
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
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
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
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
5ddd0dd9b8
+ implemented a_load_const_ref for more efficient Z80 code generation for const assignment to local variables
...
git-svn-id: branches/z80@44528 -
2020-04-03 02:23:05 +00:00
nickysn
4099c0eed8
+ initial implementation (not working yet) for spilling_create_store and spilling_create_load for Z80
...
git-svn-id: branches/z80@44526 -
2020-04-03 01:03:49 +00:00
florian
ea52a23179
+ skeleton for Z80 support
...
git-svn-id: branches/z80@35665 -
2017-03-26 19:10:50 +00:00