.include "t-macros.i" | |
start | |
PSW_BITS = PSW_FX|PSW_ST|PSW_SM | |
loadpsw2 PSW_BITS | |
;; Test normal sadd | |
loadacc2 a0 0x00 0x7fff 0xffff | |
loadacc2 a1 0xff 0x8000 0x0000 | |
sadd a1, a0 | |
checkacc2 1 a0 0x00 0x7fff 0xffff | |
checkacc2 2 a1 0xff 0x8000 0x7fff | |
;; Test overflow | |
loadacc2 a0 0x00 0x0000 0x0000 | |
loadacc2 a1 0x01 0x8000 0x0000 | |
sadd a1, a0 | |
checkacc2 3 a0 0x00 0x0000 0x0000 | |
checkacc2 4 a1 0x00 0x7fff 0xffff | |
loadacc2 a0 0x00 0xffff 0xffff | |
loadacc2 a1 0x00 0xffff 0xffff | |
sadd a1, a0 | |
checkacc2 5 a1 0x00 0x7fff 0xffff | |
checkacc2 6 a0 0x00 0xffff 0xffff | |
;; Test underflow | |
loadacc2 a0 0x00 0x0000 0x0000 | |
loadacc2 a1 0x80 0x8000 0x0000 | |
sadd a1, a0 | |
checkacc2 7 a0 0x00 0x0000 0x0000 | |
checkacc2 8 a1 0xff 0x8000 0x0000 | |
exit0 |