Commit Graph

48 Commits

Author SHA1 Message Date
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