From 02cedd4c2b6bfe5cce61fd019bc54b57033123f1 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Thu, 21 May 2015 19:53:22 -0400 Subject: [PATCH] Finish adding step() to instructions.yml. --- src/assembler/instructions.inc.c | 2 +- src/assembler/instructions.yml | 362 ++++++--------------------------------- 2 files changed, 55 insertions(+), 309 deletions(-) diff --git a/src/assembler/instructions.inc.c b/src/assembler/instructions.inc.c index c878756..8c8e3f1 100644 --- a/src/assembler/instructions.inc.c +++ b/src/assembler/instructions.inc.c @@ -7,7 +7,7 @@ `make` should trigger a rebuild when it is modified; if not, use: `python scripts/update_asm_instructions.py`. - @AUTOGEN_DATE Thu May 21 22:35:58 2015 UTC + @AUTOGEN_DATE Thu May 21 23:52:57 2015 UTC */ /* @AUTOGEN_INST_BLOCK_START */ diff --git a/src/assembler/instructions.yml b/src/assembler/instructions.yml index 3f1daf4..1480004 100644 --- a/src/assembler/instructions.yml +++ b/src/assembler/instructions.yml @@ -505,14 +505,8 @@ or: cases: - cond: [a] return: [0xB7] - - cond: [b] - return: [0xB0] - - cond: [c] - return: [0xB1] - - cond: [d] - return: [0xB2] - - cond: [e] - return: [0xB3] + - cond: [b|c|d|e] + return: [step(0xB0)] - cond: [h|ih] return: [0xB4] - cond: [l|il] @@ -543,18 +537,8 @@ out: return: [0xD3, u8] - cond: [reg.c, a] return: [0xED, 0x79] - - cond: [reg.c, b] - return: [0xED, 0x41] - - cond: [reg.c, c] - return: [0xED, 0x49] - - cond: [reg.c, d] - return: [0xED, 0x51] - - cond: [reg.c, e] - return: [0xED, 0x59] - - cond: [reg.c, h] - return: [0xED, 0x61] - - cond: [reg.c, l] - return: [0xED, 0x69] + - cond: [reg.c, b|c|d|e|h|l] + return: [0xED, step(0x41 0x08)] - type: [port, immediate] cases: - cond: [reg.c, u8.0] @@ -603,18 +587,8 @@ res: cases: - cond: [bit, a] return: [0xCB, bit(0x87)] - - cond: [bit, b] - return: [0xCB, bit(0x80)] - - cond: [bit, c] - return: [0xCB, bit(0x81)] - - cond: [bit, d] - return: [0xCB, bit(0x82)] - - cond: [bit, e] - return: [0xCB, bit(0x83)] - - cond: [bit, h] - return: [0xCB, bit(0x84)] - - cond: [bit, l] - return: [0xCB, bit(0x85)] + - cond: [bit, b|c|d|e|h|l] + return: [0xCB, bit(step(0x80))] - type: [immediate, indirect_hl_or_indexed] cases: - cond: [bit, _] @@ -623,18 +597,8 @@ res: cases: - cond: [bit, _, a] return: [0xCB, bit(0x87)] - - cond: [bit, _, b] - return: [0xCB, bit(0x80)] - - cond: [bit, _, c] - return: [0xCB, bit(0x81)] - - cond: [bit, _, d] - return: [0xCB, bit(0x82)] - - cond: [bit, _, e] - return: [0xCB, bit(0x83)] - - cond: [bit, _, h] - return: [0xCB, bit(0x84)] - - cond: [bit, _, l] - return: [0xCB, bit(0x85)] + - cond: [bit, _, b|c|d|e|h|l] + return: [0xCB, bit(step(0x80))] ret: args: yes @@ -643,22 +607,8 @@ ret: return: [0xC9] - type: [condition] cases: - - cond: [nz] - return: [0xC0] - - cond: [z] - return: [0xC8] - - cond: [nc] - return: [0xD0] - - cond: [c] - return: [0xD8] - - cond: [po] - return: [0xE0] - - cond: [pe] - return: [0xE8] - - cond: [p] - return: [0xF0] - - cond: [m] - return: [0xF8] + - cond: [nz|z|nc|c|po|pe|p|m] + return: [step(0xC0 0x08)] reti: args: no @@ -675,18 +625,8 @@ rl: cases: - cond: [a] return: [0xCB, 0x17] - - cond: [b] - return: [0xCB, 0x10] - - cond: [c] - return: [0xCB, 0x11] - - cond: [d] - return: [0xCB, 0x12] - - cond: [e] - return: [0xCB, 0x13] - - cond: [h] - return: [0xCB, 0x14] - - cond: [l] - return: [0xCB, 0x15] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x10)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -695,18 +635,8 @@ rl: cases: - cond: [_, a] return: [0xCB, 0x17] - - cond: [_, b] - return: [0xCB, 0x10] - - cond: [_, c] - return: [0xCB, 0x11] - - cond: [_, d] - return: [0xCB, 0x12] - - cond: [_, e] - return: [0xCB, 0x13] - - cond: [_, h] - return: [0xCB, 0x14] - - cond: [_, l] - return: [0xCB, 0x15] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x10)] rla: args: no @@ -719,18 +649,8 @@ rlc: cases: - cond: [a] return: [0xCB, 0x07] - - cond: [b] - return: [0xCB, 0x00] - - cond: [c] - return: [0xCB, 0x01] - - cond: [d] - return: [0xCB, 0x02] - - cond: [e] - return: [0xCB, 0x03] - - cond: [h] - return: [0xCB, 0x04] - - cond: [l] - return: [0xCB, 0x05] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x00)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -739,18 +659,8 @@ rlc: cases: - cond: [_, a] return: [0xCB, 0x07] - - cond: [_, b] - return: [0xCB, 0x00] - - cond: [_, c] - return: [0xCB, 0x01] - - cond: [_, d] - return: [0xCB, 0x02] - - cond: [_, e] - return: [0xCB, 0x03] - - cond: [_, h] - return: [0xCB, 0x04] - - cond: [_, l] - return: [0xCB, 0x05] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x00)] rlca: args: no @@ -767,18 +677,8 @@ rr: cases: - cond: [a] return: [0xCB, 0x1F] - - cond: [b] - return: [0xCB, 0x18] - - cond: [c] - return: [0xCB, 0x19] - - cond: [d] - return: [0xCB, 0x1A] - - cond: [e] - return: [0xCB, 0x1B] - - cond: [h] - return: [0xCB, 0x1C] - - cond: [l] - return: [0xCB, 0x1D] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x18)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -787,18 +687,8 @@ rr: cases: - cond: [_, a] return: [0xCB, 0x1F] - - cond: [_, b] - return: [0xCB, 0x18] - - cond: [_, c] - return: [0xCB, 0x19] - - cond: [_, d] - return: [0xCB, 0x1A] - - cond: [_, e] - return: [0xCB, 0x1B] - - cond: [_, h] - return: [0xCB, 0x1C] - - cond: [_, l] - return: [0xCB, 0x1D] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x18)] rra: args: no @@ -811,18 +701,8 @@ rrc: cases: - cond: [a] return: [0xCB, 0x0F] - - cond: [b] - return: [0xCB, 0x08] - - cond: [c] - return: [0xCB, 0x09] - - cond: [d] - return: [0xCB, 0x0A] - - cond: [e] - return: [0xCB, 0x0B] - - cond: [h] - return: [0xCB, 0x0C] - - cond: [l] - return: [0xCB, 0x0D] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x08)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -831,18 +711,8 @@ rrc: cases: - cond: [_, a] return: [0xCB, 0x0F] - - cond: [_, b] - return: [0xCB, 0x08] - - cond: [_, c] - return: [0xCB, 0x09] - - cond: [_, d] - return: [0xCB, 0x0A] - - cond: [_, e] - return: [0xCB, 0x0B] - - cond: [_, h] - return: [0xCB, 0x0C] - - cond: [_, l] - return: [0xCB, 0x0D] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x08)] rrca: args: no @@ -881,26 +751,14 @@ sbc: cases: - cond: [a, a] return: [0x9F] - - cond: [a, b] - return: [0x98] - - cond: [a, c] - return: [0x99] - - cond: [a, d] - return: [0x9A] - - cond: [a, e] - return: [0x9B] + - cond: [a, b|c|d|e] + return: [step(0x98)] - cond: [a, h|ih] return: [0x9C] - cond: [a, l|il] return: [0x9D] - - cond: [hl, bc] - return: [0xED, 0x42] - - cond: [hl, de] - return: [0xED, 0x52] - - cond: [hl, hl] - return: [0xED, 0x62] - - cond: [hl, sp] - return: [0xED, 0x72] + - cond: [hl, bc|de|hl|sp] + return: [0xED, step(0x42 0x10)] - type: [register, immediate] cases: - cond: [a, u8] @@ -921,18 +779,8 @@ set: cases: - cond: [bit, a] return: [0xCB, bit(0xC7)] - - cond: [bit, b] - return: [0xCB, bit(0xC0)] - - cond: [bit, c] - return: [0xCB, bit(0xC1)] - - cond: [bit, d] - return: [0xCB, bit(0xC2)] - - cond: [bit, e] - return: [0xCB, bit(0xC3)] - - cond: [bit, h] - return: [0xCB, bit(0xC4)] - - cond: [bit, l] - return: [0xCB, bit(0xC5)] + - cond: [bit, b|c|d|e|h|l] + return: [0xCB, bit(step(0xC0))] - type: [immediate, indirect_hl_or_indexed] cases: - cond: [bit, _] @@ -941,18 +789,8 @@ set: cases: - cond: [bit, _, a] return: [0xCB, bit(0xC7)] - - cond: [bit, _, b] - return: [0xCB, bit(0xC0)] - - cond: [bit, _, c] - return: [0xCB, bit(0xC1)] - - cond: [bit, _, d] - return: [0xCB, bit(0xC2)] - - cond: [bit, _, e] - return: [0xCB, bit(0xC3)] - - cond: [bit, _, h] - return: [0xCB, bit(0xC4)] - - cond: [bit, _, l] - return: [0xCB, bit(0xC5)] + - cond: [bit, _, b|c|d|e|h|l] + return: [0xCB, bit(step(0xC0))] sl1: &sl1 args: yes @@ -961,18 +799,8 @@ sl1: &sl1 cases: - cond: [a] return: [0xCB, 0x37] - - cond: [b] - return: [0xCB, 0x30] - - cond: [c] - return: [0xCB, 0x31] - - cond: [d] - return: [0xCB, 0x32] - - cond: [e] - return: [0xCB, 0x33] - - cond: [h] - return: [0xCB, 0x34] - - cond: [l] - return: [0xCB, 0x35] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x30)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -981,18 +809,8 @@ sl1: &sl1 cases: - cond: [_, a] return: [0xCB, 0x37] - - cond: [_, b] - return: [0xCB, 0x30] - - cond: [_, c] - return: [0xCB, 0x31] - - cond: [_, d] - return: [0xCB, 0x32] - - cond: [_, e] - return: [0xCB, 0x33] - - cond: [_, h] - return: [0xCB, 0x34] - - cond: [_, l] - return: [0xCB, 0x35] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x30)] sla: args: yes @@ -1001,18 +819,8 @@ sla: cases: - cond: [a] return: [0xCB, 0x27] - - cond: [b] - return: [0xCB, 0x20] - - cond: [c] - return: [0xCB, 0x21] - - cond: [d] - return: [0xCB, 0x22] - - cond: [e] - return: [0xCB, 0x23] - - cond: [h] - return: [0xCB, 0x24] - - cond: [l] - return: [0xCB, 0x25] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x20)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -1021,18 +829,8 @@ sla: cases: - cond: [_, a] return: [0xCB, 0x27] - - cond: [_, b] - return: [0xCB, 0x20] - - cond: [_, c] - return: [0xCB, 0x21] - - cond: [_, d] - return: [0xCB, 0x22] - - cond: [_, e] - return: [0xCB, 0x23] - - cond: [_, h] - return: [0xCB, 0x24] - - cond: [_, l] - return: [0xCB, 0x25] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x20)] sll: *sl1 @@ -1045,18 +843,8 @@ sra: cases: - cond: [a] return: [0xCB, 0x2F] - - cond: [b] - return: [0xCB, 0x28] - - cond: [c] - return: [0xCB, 0x29] - - cond: [d] - return: [0xCB, 0x2A] - - cond: [e] - return: [0xCB, 0x2B] - - cond: [h] - return: [0xCB, 0x2C] - - cond: [l] - return: [0xCB, 0x2D] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x28)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -1065,18 +853,8 @@ sra: cases: - cond: [_, a] return: [0xCB, 0x2F] - - cond: [_, b] - return: [0xCB, 0x28] - - cond: [_, c] - return: [0xCB, 0x29] - - cond: [_, d] - return: [0xCB, 0x2A] - - cond: [_, e] - return: [0xCB, 0x2B] - - cond: [_, h] - return: [0xCB, 0x2C] - - cond: [_, l] - return: [0xCB, 0x2D] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x28)] srl: args: yes @@ -1085,18 +863,8 @@ srl: cases: - cond: [a] return: [0xCB, 0x3F] - - cond: [b] - return: [0xCB, 0x38] - - cond: [c] - return: [0xCB, 0x39] - - cond: [d] - return: [0xCB, 0x3A] - - cond: [e] - return: [0xCB, 0x3B] - - cond: [h] - return: [0xCB, 0x3C] - - cond: [l] - return: [0xCB, 0x3D] + - cond: [b|c|d|e|h|l] + return: [0xCB, step(0x38)] - type: [indirect_hl_or_indexed] cases: - cond: [_] @@ -1105,18 +873,8 @@ srl: cases: - cond: [_, a] return: [0xCB, 0x3F] - - cond: [_, b] - return: [0xCB, 0x38] - - cond: [_, c] - return: [0xCB, 0x39] - - cond: [_, d] - return: [0xCB, 0x3A] - - cond: [_, e] - return: [0xCB, 0x3B] - - cond: [_, h] - return: [0xCB, 0x3C] - - cond: [_, l] - return: [0xCB, 0x3D] + - cond: [_, b|c|d|e|h|l] + return: [0xCB, step(0x38)] sub: args: yes @@ -1125,14 +883,8 @@ sub: cases: - cond: [a] return: [0x97] - - cond: [b] - return: [0x90] - - cond: [c] - return: [0x91] - - cond: [d] - return: [0x92] - - cond: [e] - return: [0x93] + - cond: [b|c|d|e] + return: [step(0x90)] - cond: [h|ih] return: [0x94] - cond: [l|il] @@ -1153,14 +905,8 @@ xor: cases: - cond: [a] return: [0xAF] - - cond: [b] - return: [0xA8] - - cond: [c] - return: [0xA9] - - cond: [d] - return: [0xAA] - - cond: [e] - return: [0xAB] + - cond: [b|c|d|e] + return: [step(0xA8)] - cond: [h|ih] return: [0xAC] - cond: [l|il]