From: Lukas Krickl Date: Fri, 24 Nov 2023 15:33:05 +0000 (+0100) Subject: Added more ld instructions X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=13ac5791bb12865ecbf046311abe70ef67ce9c7c;p=ulas%2F.git Added more ld instructions --- diff --git a/src/ulas.c b/src/ulas.c index 68875c4..ceebeec 100644 --- a/src/ulas.c +++ b/src/ulas.c @@ -1461,7 +1461,7 @@ const struct ulas_instr ULASINSTRS[] = { // misc {"daa", {0}, {0x27, 0x00}}, {"scf", {0}, {0x37, 0x00}}, - + {"cpl", {0}, {0x2F, 0x00}}, {"ccf", {0}, {0x3F, 0x00}}, @@ -1495,6 +1495,15 @@ const struct ulas_instr ULASINSTRS[] = { {"ld", {'[', ULAS_E16, ']', ',', ULAS_REG_SP, 0}, {0x08, ULAS_E16, 0}}, + {"ld", {'[', ULAS_E16, ']', ',', ULAS_REG_A, 0}, {0xEA, ULAS_E16, 0}}, + {"ld", {ULAS_REG_A, ',', '[', ULAS_E16, ']', 0}, {0xFA, ULAS_E16, 0}}, + + {"ldh", {'[', ULAS_REG_C, ']', ',', ULAS_REG_A, 0}, {0xE2, 0}}, + {"ldh", {ULAS_REG_A, ',', '[', ULAS_REG_C, ']', 0}, {0xF2, 0}}, + + {"ldh", {'[', ULAS_E8, ']', ',', ULAS_REG_A, 0}, {0xE0, ULAS_E8, 0}}, + {"ldh", {ULAS_REG_A, ',', '[', ULAS_E8, ']', 0}, {0xF0, ULAS_E8, 0}}, + // ld r8, e8 ULAS_INSTR_R8_EXPR8("ld", 0x06, ULAS_REG_B), ULAS_INSTR_R8_EXPR8("ld", 0x16, ULAS_REG_D), @@ -1518,6 +1527,10 @@ const struct ulas_instr ULASINSTRS[] = { ULAS_INSTR_R8_EXPR8("jr", 0x28, ULAS_REG_ZERO), ULAS_INSTR_R8_EXPR8("jr", 0x38, ULAS_REG_CARRY), + // ret + ULAS_INSTR_REG("ret", 0xC0, ULAS_REG_NOT_ZERO), + ULAS_INSTR_REG("ret", 0xD0, ULAS_REG_NOT_CARRY), + // inc/dec ULAS_INSTR_REG("inc", 0x03, ULAS_REG_BC), ULAS_INSTR_REG("inc", 0x13, ULAS_REG_DE), diff --git a/test/t0.s b/test/t0.s index 62ffa84..e792dbb 100644 --- a/test/t0.s +++ b/test/t0.s @@ -30,3 +30,14 @@ dec a ld c, 1+2 + + ret nz + + ldh [1], a + ldh a, [2] + + ldh [c], a + ldh a, [c] + + ld [1], a + ld a, [2]