mirror of
https://github.com/open-simh/simtools.git
synced 2026-05-04 23:15:19 +00:00
Fix check for JMP Rn (which is illegal).
This commit is contained in:
@@ -1241,7 +1241,7 @@ static int assemble(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (op->value == 0100 && (mode.type & 07) == 0) {
|
if (op->value == 0100 && (mode.type & 070) == 0) {
|
||||||
report(stack->top, "JMP Rn is illegal\n");
|
report(stack->top, "JMP Rn is illegal\n");
|
||||||
/* But encode it anyway... */
|
/* But encode it anyway... */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
# If there is a .objd.ok file, it compares the result of dumpobj.
|
# If there is a .objd.ok file, it compares the result of dumpobj.
|
||||||
#
|
#
|
||||||
|
|
||||||
TESTS="test-asciz test-backpatch test-bsl-mac-arg test-complex-reloc test-endm test-include test-locals test-macro-comma test-undef test-word-comma"
|
TESTS="test-asciz test-backpatch test-bsl-mac-arg test-complex-reloc test-endm test-include test-jmp test-locals test-macro-comma test-undef test-word-comma"
|
||||||
|
|
||||||
for t in $TESTS
|
for t in $TESTS
|
||||||
do
|
do
|
||||||
|
|||||||
17
tests/test-jmp.mac
Normal file
17
tests/test-jmp.mac
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
;;;;;
|
||||||
|
;
|
||||||
|
; Tests the addressing modes for JMP.
|
||||||
|
; JMP Rx is not allowed, all other modes are.
|
||||||
|
;
|
||||||
|
|
||||||
|
start: jmp end
|
||||||
|
jmp r1 ; must fail
|
||||||
|
jmp (r1)
|
||||||
|
jmp (r1)+
|
||||||
|
jmp @(r1)+
|
||||||
|
jmp -(r1)
|
||||||
|
jmp @-(r1)
|
||||||
|
jmp 1234(r1)
|
||||||
|
jmp @1234(r1)
|
||||||
|
|
||||||
|
end:
|
||||||
Reference in New Issue
Block a user