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