From c86d9069c577f7a88f7ab59da1113fdd14ad7ff0 Mon Sep 17 00:00:00 2001 From: philpem Date: Tue, 29 Oct 2024 19:31:21 +0000 Subject: [PATCH] Update 6805.slaspec --- .../Processors/MC6800/data/languages/6805.slaspec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Ghidra/Processors/MC6800/data/languages/6805.slaspec b/Ghidra/Processors/MC6800/data/languages/6805.slaspec index 89c0c4da87..f314c0a311 100644 --- a/Ghidra/Processors/MC6800/data/languages/6805.slaspec +++ b/Ghidra/Processors/MC6800/data/languages/6805.slaspec @@ -42,13 +42,13 @@ OP1: imm8 is op4_6=3; imm8 { export *:1 imm8; } OP1: imm16 is op4_6=4; imm16 { export *:1 imm16; } OP1: imm16,X is op4_6=5 & X; imm16 { tmp:2 = imm16 + zext(X); export *:1 tmp; } OP1: imm8,X is op4_6=6 & X; imm8 { tmp:2 = imm8 + zext(X); export *:1 tmp; } -OP1: X is op4_6=7 & X { tmp:2 = zext(X); export *:1 tmp; } +OP1: ","X is op4_6=7 & X { tmp:2 = zext(X); export *:1 tmp; } ADDR: imm8 is op4_6=3; imm8 { export *:1 imm8; } ADDR: imm16 is op4_6=4; imm16 { export *:1 imm16; } -ADDRI: imm16,X is op4_6=5 & X; imm16 { tmp:2 = imm16 + zext(X); export tmp; } -ADDRI: imm8,X is op4_6=6 & X; imm8 { tmp:2 = imm8 + zext(X); export tmp; } -ADDRI: X is op4_6=7 & X { tmp:2 = zext(X); export tmp; } +ADDRI: imm16,X is op4_6=5 & X; imm16 { tmp:2 = imm16 + zext(X); export *:1 tmp; } +ADDRI: imm8,X is op4_6=6 & X; imm8 { tmp:2 = imm8 + zext(X); export *:1 tmp; } +ADDRI: ","X is op4_6=7 & X { tmp:2 = zext(X); export *:1 tmp; } DIRECT: imm8 is imm8 { export *:1 imm8; } @@ -373,7 +373,7 @@ DIRECT: imm8 is imm8 { export *:1 imm8; } :JMP ADDRI is (op=0xDC | op=0xEC | op=0xFC) ... & ADDRI { - goto ADDRI; + goto [ADDRI]; } @@ -387,7 +387,7 @@ DIRECT: imm8 is imm8 { export *:1 imm8; } { *:2 (SP-1) = inst_next; SP=SP-2; - call ADDRI; + call [ADDRI]; } :LDA OP1 is (op=0xA6 | op=0xB6 | op=0xC6 | op=0xD6 | op=0xE6 | op=0xF6) ... & OP1 @@ -666,4 +666,3 @@ DIRECT: imm8 is imm8 { export *:1 imm8; } { I = 0; } -