From 362aea22bdf6b8bb08ef032f96c030f3ddb6d597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ni=C3=B1o=20D=C3=ADaz?= Date: Mon, 10 Apr 2017 22:57:05 +0100 Subject: [PATCH] Fix conflict in yacc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `LD HL,n16` and `LD SP,n16` are handled in a different rule as `LD r16,n16`, but they are also part of that rule. This patch converts the `LD r16,n16` rule into two rules, one for doing `LD BC,n16` and other one for `LD DE,n16`. Signed-off-by: Antonio Niño Díaz --- src/asm/asmy.y | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/asm/asmy.y b/src/asm/asmy.y index ec20771b..137546e9 100644 --- a/src/asm/asmy.y +++ b/src/asm/asmy.y @@ -1475,8 +1475,14 @@ z80_ld_a : T_Z80_LD reg_r comma T_MODE_C_IND } ; -z80_ld_ss : T_Z80_LD reg_ss comma const_16bit - { out_AbsByte(0x01|($2<<4)); out_RelWord(&$4); } +z80_ld_ss : T_Z80_LD T_MODE_BC comma const_16bit + { out_AbsByte(0x01|(REG_BC<<4)); out_RelWord(&$4); } + | T_Z80_LD T_MODE_DE comma const_16bit + { out_AbsByte(0x01|(REG_DE<<4)); out_RelWord(&$4); } + /* + * HL is taken care of in z80_ld_hl + * SP is taken care of in z80_ld_sp + */ ; z80_nop : T_Z80_NOP