| .include "t-macros.i" |
| |
| start |
| |
| ;; clear FX |
| loadpsw2 0x8005 |
| loadacc2 a1 0x7f 0xffff 0xffff |
| load r8 0xffff |
| load r9 0x8001 |
| test_macu1: |
| MACU a1, r9, r8 |
| checkacc2 1 a1 0x80 0x8000 0x7FFE |
| |
| ;; set FX |
| loadpsw2 0x8085 |
| loadacc2 a1 0x7f 0xffff 0xffff |
| load r8 0xffff |
| load r9 0x8001 |
| test_macu2: |
| MACU a1, r9, r8 |
| checkacc2 2 a1 0x81 0x0000 0xfffd |
| |
| |
| |
| |
| ;; clear FX |
| ldi r2, #0x8005 |
| mvtc r2, cr0 |
| |
| loadacc2 a1 0x7f 0xffff 0xffff |
| ldi r8, #0xffff |
| ldi r9, #0x7FFF |
| test_macsu1: |
| MACSU a1, r9, r8 |
| checkacc2 3 a1 0x80 0x7FFE 0x8000 |
| |
| ;; set FX |
| ldi r2, #0x8085 |
| mvtc r2, cr0 |
| |
| loadacc2 a1 0x7f 0xffff 0xffff |
| ldi r8, #0xffff |
| ldi r9, #0x7FFF |
| test_macsu2: |
| MACSU a1, r9, r8 |
| checkacc2 4 a1 0x80 0xfffd 0x0001 |
| |
| ;; clear FX |
| ldi r2, #0x8005 |
| mvtc r2, cr0 |
| |
| loadacc2 a1 0x7f 0xffff 0xffff |
| ldi r8, 0xffff |
| ldi r9, 0x8001 |
| test_macsu3: |
| MACSU a1, r9, r8 |
| checkacc2 5 a1 0x7F 0x8001 0x7FFE |
| |
| ;; set FX |
| ldi r2, #0x8085 |
| mvtc r2, cr0 |
| |
| loadacc2 a1 0x7f 0xffff 0xffff |
| ldi r8, #0xffff |
| ldi r9, #0x8001 |
| test_macsu4: |
| MACSU a1, r9, r8 |
| checkacc2 6 a1 0x7f 0x0002 0xFFFD |
| |
| exit0 |
| |