1.include "t-macros.i" 2 3.section .rodata 4 5 .text 6 .globl main 7 .type main,@function 8main: 9 mvfc r0, PSW || ldi.s r14, #0 10 ldi.l r2, 0x100 ; MOD_E 11 ldi.l r3, 0x108 ; MOD_S 12 13test_mod_dec_ld: 14 mvtc r2, MOD_E || bseti r0, #7 15 mvtc r3, MOD_S 16 mvtc r0, PSW ; modulo mode enable 17 mv r1,r3 ; r1=0x108 18 ld r4, @r1- || nop ; r1=0x106 19 ld r4, @r1- || nop ; r1=0x104 20 ld r4, @r1- || nop ; r1=0x102 21 ld r4, @r1- || nop ; r1=0x100 22 ld r4, @r1- || nop ; r1=0x108 23 ld r4, @r1- || nop ; r1=0x106 24 25 cmpeqi r1,#0x106 26 brf0f _ERR ; branch to error 27 28test_mod_inc_ld: 29 mvtc r2, MOD_S 30 mvtc r3, MOD_E 31 mv r1,r2 ; r1=0x100 32 ld r4, @r1+ || nop ; r1=0x102 33 ld r4, @r1+ || nop ; r1=0x104 34 ld r4, @r1+ || nop ; r1=0x106 35 ld r4, @r1+ || nop ; r1=0x108 36 ld r4, @r1+ || nop ; r1=0x100 37 ld r4, @r1+ || nop ; r1=0x102 38 39 cmpeqi r1,#0x102 40 brf0f _ERR 41 42test_mod_dec_ld2w: 43 mvtc r2, MOD_E 44 mvtc r3, MOD_S 45 mv r1,r3 ; r1=0x108 46 ld2W r4, @r1- || nop ; r1=0x104 47 ld2W r4, @r1- || nop ; r1=0x100 48 ld2W r4, @r1- || nop ; r1=0x108 49 ld2W r4, @r1- || nop ; r1=0x104 50 51 cmpeqi r1,#0x104 52 brf0f _ERR ; <= branch to error 53 54test_mod_inc_ld2w: 55 mvtc r2, MOD_S 56 mvtc r3, MOD_E || BCLRI r0, #7 57 mv r1,r2 ; r1=0x100 58 ld2W r4, @r1+ || nop ; r1=0x104 59 ld2W r4, @r1+ || nop ; r1=0x108 60 ld2W r4, @r1+ || nop ; r1=0x100 61 ld2W r4, @r1+ || nop ; r1=0x104 62 63 cmpeqi r1,#0x104 64 brf0f _ERR 65 66test_mod_dec_ld_dis: 67 mvtc r0, PSW ; modulo mode disable 68 mvtc r2, MOD_E 69 mvtc r3, MOD_S 70 mv r1,r3 ; r1=0x108 71 ld r4, @r1- || nop ; r1=0x106 72 ld r4, @r1- || nop ; r1=0x104 73 ld r4, @r1- || nop ; r1=0x102 74 ld r4, @r1- || nop ; r1=0x100 75 ld r4, @r1- || nop ; r1=0xFE 76 ld r4, @r1- || nop ; r1=0xFC 77 78 cmpeqi r1,#0xFC 79 brf0f _ERR 80 81test_mod_inc_ld_dis: 82 mvtc r2, MOD_S 83 mvtc r3, MOD_E 84 mv r1,r2 ; r1=0x100 85 ld r4, @r1+ || nop ; r1=0x102 86 ld r4, @r1+ || nop ; r1=0x104 87 ld r4, @r1+ || nop ; r1=0x106 88 ld r4, @r1+ || nop ; r1=0x108 89 ld r4, @r1+ || nop ; r1=0x10A 90 ld r4, @r1+ || nop ; r1=0x10C 91 92 cmpeqi r1,#0x10C 93 brf0f _ERR 94 95test_mod_dec_ld2w_dis: 96 mvtc r2, MOD_E 97 mvtc r3, MOD_S 98 mv r1,r3 ; r1=0x108 99 ld2W r4, @r1- || nop ; r1=0x104 100 ld2W r4, @r1- || nop ; r1=0x100 101 ld2W r4, @r1- || nop ; r1=0xFC 102 ld2W r4, @r1- || nop ; r1=0xF8 103 104 cmpeqi r1,#0xF8 105 brf0f _ERR 106 107 test_mod_inc_ld2w_dis: 108 mvtc r2, MOD_S 109 mvtc r3, MOD_E 110 mv r1,r2 ; r1=0x100 111 ld2W r4, @r1+ || nop ; r1=0x104 112 ld2W r4, @r1+ || nop ; r1=0x108 113 ld2W r4, @r1+ || nop ; r1=0x10C 114 ld2W r4, @r1+ || nop ; r1=0x110 115 116 cmpeqi r1,#0x110 117 brf0f _ERR 118 119_OK: 120 exit0 121 122_ERR: 123 exit47 124 125 126 127