blob: ae2db2f01cda4067d0f06252e0b958d50efaa844 [file] [log] [blame]
.text
.cpu 430x
;;; Test for the assembler detecting spurious size modifiers.
mov.z r1, r2
mov.abc r1, r2
mov.bcd r1, r2
mov.wcd r1, r2
mov. r1, r2
bis.a #8, r2
;;; FIXME: Add more tests of assembler error detection here.
;; A NOP is needed *before* an EINT instruction.
eint
nop
;; And *after* a DINT instruction.
dint
;; Changing interrupt states in two successive instructions
;; might cause an interrupt to be missed. The assembler
;; should warn about this, if the -mz command line option
;; is used.
eint
dint
nop ;; No warning needed here.
dint
and #1, r11 ;; Any instruction will do, not just NOPs.
clr r2 ;; Aliases should trigger the warning too.
mov #1, r2
BIC #8, SR
BIS #8, SR
MOV.W #1, SR
;; We will also get a warning if the last instruction in the file
;; changes the interrupt state, since this file could be linked
;; with another that starts with an interrupt change.