ソースを参照

Fix assembler bug involving extended immediates.

master
Ben Kurtovic 8年前
コミット
ba701545b2
3個のファイルの変更5行の追加3行の削除
  1. +4
    -2
      src/assembler/instructions.c
  2. +1
    -1
      src/disassembler/mnemonics.c
  3. バイナリ
     

+ 4
- 2
src/assembler/instructions.c ファイルの表示

@@ -92,9 +92,11 @@ static ASMErrorDesc parse_inst_##mnemonic( \
}

#define INST_IMM_U16_B1(imm) \
((imm).is_label ? (*symbol = cr_strdup((imm).label), 0) : (imm).uval >> 8)
((imm).is_label ? \
(*symbol = cr_strdup((imm).label), 0) : \
(imm).uval & 0xFF)
#define INST_IMM_U16_B2(imm) \
((imm).is_label ? 0 : (imm).uval & 0xFF)
((imm).is_label ? 0 : (imm).uval >> 8)

#define INST_INDEX_PREFIX(n) INST_PREFIX_(INST_INDEX(n).reg)



+ 1
- 1
src/disassembler/mnemonics.c ファイルの表示

@@ -18,7 +18,7 @@ static char* instr_mnemonics[256] = {
/* 58 */ "ld", "ld", "ld", "ld", "ld", "ld", "ld", "ld",
/* 60 */ "ld", "ld", "ld", "ld", "ld", "ld", "ld", "ld",
/* 68 */ "ld", "ld", "ld", "ld", "ld", "ld", "ld", "ld",
/* 70 */ "ld", "ld", "ld", "ld", "ld", "ld", "ld", "ld",
/* 70 */ "ld", "ld", "ld", "ld", "ld", "ld", "halt", "ld",
/* 78 */ "ld", "ld", "ld", "ld", "ld", "ld", "ld", "ld",
/* 80 */ "add", "add", "add", "add", "add", "add", "add", "add",
/* 88 */ "adc", "adc", "adc", "adc", "adc", "adc", "adc", "adc",


バイナリ
ファイルの表示


読み込み中…
キャンセル
保存