t-sadd.s   [plain text]


.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