}
-// A8.6.218 Supervisor Call (Software Interrupt) -- for disassembly only
+// A8.6.218 Supervisor Call (Software Interrupt)
// A8.6.16 B: Encoding T1
// If Inst{11-8} == 0b1111 then SEE SVC
let isCall = 1, Uses = [SP] in
subs r1, r2, r3
@ CHECK: subs r1, r2, r3 @ encoding: [0xd1,0x1a]
+
+
+@------------------------------------------------------------------------------
+@ SVC
+@------------------------------------------------------------------------------
+ svc #0
+ svc #255
+
+@ CHECK: svc #0 @ encoding: [0x00,0xdf]
+@ CHECK: svc #255 @ encoding: [0xff,0xdf]
@ CHECK-ERRORS: error: instruction requires a CPU feature not currently enabled
@ CHECK-ERRORS: str r3, [r7, #128]
@ CHECK-ERRORS: ^
+
+@ Out of range immediate for SVC instruction.
+ svc #-1
+ svc #256
+@ CHECK-ERRORS: error: invalid operand for instruction
+@ CHECK-ERRORS: svc #-1
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: error: instruction requires a CPU feature not currently enabled
+@ CHECK-ERRORS: svc #256
+@ CHECK-ERRORS: ^