| //Original:/proj/frio/dv/testcases/seq/se_undefinedinstruction4/se_undefinedinstruction4.dsp |
| // Description: 64 bit special cases Undefined Instructions in Supervisor Mode |
| # mach: bfin |
| # sim: --environment operating |
| |
| #include "test.h" |
| .include "testutils.inc" |
| start |
| |
| // |
| // Constants and Defines |
| // |
| |
| include(gen_int.inc) |
| include(selfcheck.inc) |
| include(std.inc) |
| include(mmrs.inc) |
| include(symtable.inc) |
| |
| #ifndef STACKSIZE |
| #define STACKSIZE 0x10 // change for how much stack you need |
| #endif |
| #ifndef ITABLE |
| #define ITABLE 0xF0000000 |
| #endif |
| |
| GEN_INT_INIT(ITABLE) // set location for interrupt table |
| |
| // |
| // Reset/Bootstrap Code |
| // (Here we should set the processor operating modes, initialize registers, |
| // etc.) |
| // |
| |
| BOOT: |
| INIT_R_REGS(0); // initialize general purpose regs |
| |
| INIT_P_REGS(0); // initialize the pointers |
| |
| INIT_I_REGS(0); // initialize the dsp address regs |
| INIT_M_REGS(0); |
| INIT_L_REGS(0); |
| INIT_B_REGS(0); |
| |
| CLI R1; // inhibit events during MMR writes |
| |
| LD32_LABEL(sp, USTACK); // setup the user stack pointer |
| USP = SP; |
| |
| LD32_LABEL(sp, KSTACK); // setup the kernel stack pointer |
| FP = SP; // and frame pointer |
| |
| LD32(p0, EVT0); // Setup Event Vectors and Handlers |
| |
| P0 += 4; // EVT0 not used (Emulation) |
| |
| P0 += 4; // EVT1 not used (Reset) |
| |
| LD32_LABEL(r0, NHANDLE); // NMI Handler (Int2) |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, XHANDLE); // Exception Handler (Int3) |
| [ P0 ++ ] = R0; |
| |
| P0 += 4; // EVT4 not used (Global Interrupt Enable) |
| |
| LD32_LABEL(r0, HWHANDLE); // HW Error Handler (Int5) |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, THANDLE); // Timer Handler (Int6) |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I7HANDLE); // IVG7 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I8HANDLE); // IVG8 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I9HANDLE); // IVG9 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I10HANDLE);// IVG10 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I11HANDLE);// IVG11 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I12HANDLE);// IVG12 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I13HANDLE);// IVG13 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I14HANDLE);// IVG14 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32_LABEL(r0, I15HANDLE);// IVG15 Handler |
| [ P0 ++ ] = R0; |
| |
| LD32(p0, EVT_OVERRIDE); |
| R0 = 0; |
| [ P0 ++ ] = R0; |
| |
| R1 = -1; // Change this to mask interrupts (*) |
| CSYNC; // wait for MMR writes to finish |
| STI R1; // sync and reenable events (implicit write to IMASK) |
| |
| DUMMY: |
| |
| A0 = 0; // reset accumulators |
| A1 = 0; |
| |
| R0 = 0 (Z); |
| |
| LT0 = r0; // set loop counters to something deterministic |
| LB0 = r0; |
| LC0 = r0; |
| LT1 = r0; |
| LB1 = r0; |
| LC1 = r0; |
| |
| ASTAT = r0; // reset other internal regs |
| SYSCFG = r0; |
| RETS = r0; // prevent X's breaking LINK instruction |
| |
| // The following code sets up the test for running in USER mode |
| |
| LD32_LABEL(r0, STARTUSER);// One gets to user mode by doing a |
| // ReturnFromInterrupt (RTI) |
| RETI = r0; // We need to load the return address |
| |
| // Comment the following line for a USER Mode test |
| |
| JUMP STARTSUP; // jump to code start for SUPERVISOR mode |
| |
| RTI; |
| |
| STARTSUP: |
| LD32_LABEL(p1, BEGIN); |
| |
| LD32(p0, EVT15); |
| |
| CLI R1; // inhibit events during write to MMR |
| [ P0 ] = P1; // IVG15 (General) handler (Int 15) load with start |
| CSYNC; // wait for it |
| STI R1; // reenable events with proper imask |
| |
| RAISE 15; // after we RTI, INT 15 should be taken |
| |
| RTI; |
| |
| // |
| // The Main Program |
| // |
| |
| STARTUSER: |
| |
| LINK 0; // change for how much stack frame space you need. |
| |
| JUMP BEGIN; |
| |
| //********************************************************************* |
| |
| BEGIN: |
| |
| // COMMENT the following line for USER MODE tests |
| [ -- SP ] = RETI; // enable interrupts in supervisor mode |
| |
| // **** YOUR CODE GOES HERE **** |
| // Starting 64bit section COUNT = 6406 |
| .dw 0xCF00 ; |
| .dw 0xFA4D ; |
| .dw 0x4973 ; |
| .dw 0x434D ; |
| .dw 0xCF01 ; |
| .dw 0x3CAF ; |
| .dw 0xE7F7 ; |
| .dw 0xACAD ; |
| .dw 0xCF02 ; |
| .dw 0xC9A3 ; |
| .dw 0x705D ; |
| .dw 0x8EFF ; |
| .dw 0xCF03 ; |
| .dw 0x242D ; |
| .dw 0x26ED ; |
| .dw 0x1C67 ; |
| .dw 0xCF04 ; |
| .dw 0xBC83 ; |
| .dw 0x18BB ; |
| .dw 0xEF95 ; |
| .dw 0xCF05 ; |
| .dw 0xDFA7 ; |
| .dw 0x6AD9 ; |
| .dw 0x7FEF ; |
| .dw 0xCF06 ; |
| .dw 0x71F3 ; |
| .dw 0x19CB ; |
| .dw 0x1F69 ; |
| .dw 0xCF07 ; |
| .dw 0xA117 ; |
| .dw 0x23ED ; |
| .dw 0xE509 ; |
| .dw 0xCF08 ; |
| .dw 0x4DF9 ; |
| .dw 0x31C3 ; |
| .dw 0x5207 ; |
| .dw 0xCF09 ; |
| .dw 0xF35D ; |
| .dw 0x998F ; |
| .dw 0xC1A7 ; |
| .dw 0xCF0A ; |
| .dw 0xA7FF ; |
| .dw 0x73D ; |
| .dw 0x4ACB ; |
| .dw 0xCF0B ; |
| .dw 0xEE29 ; |
| .dw 0xAAE7 ; |
| .dw 0x3FD3 ; |
| .dw 0xCF0C ; |
| .dw 0xD3B5 ; |
| .dw 0x5549 ; |
| .dw 0xBCB7 ; |
| .dw 0xCF0D ; |
| .dw 0xF0B7 ; |
| .dw 0xB91B ; |
| .dw 0xC01F ; |
| .dw 0xCF0E ; |
| .dw 0xC169 ; |
| .dw 0x3D1F ; |
| .dw 0xB96B ; |
| .dw 0xCF0F ; |
| .dw 0x7CD3 ; |
| .dw 0xFD95 ; |
| .dw 0x2EA1 ; |
| .dw 0xCF10 ; |
| .dw 0x8907 ; |
| .dw 0x6013 ; |
| .dw 0x467D ; |
| .dw 0xCF11 ; |
| .dw 0x7F67 ; |
| .dw 0xFC1F ; |
| .dw 0x6611 ; |
| .dw 0xCF12 ; |
| .dw 0x1BB3 ; |
| .dw 0xCFE1 ; |
| .dw 0xF609 ; |
| .dw 0xCF13 ; |
| .dw 0x6AF1 ; |
| .dw 0xC229 ; |
| .dw 0x8009 ; |
| .dw 0xCF14 ; |
| .dw 0xF619 ; |
| .dw 0xF2C9 ; |
| .dw 0xF8C7 ; |
| .dw 0xCF15 ; |
| .dw 0xE413 ; |
| .dw 0x99F3 ; |
| .dw 0x7919 ; |
| .dw 0xCF16 ; |
| .dw 0x5E8B ; |
| .dw 0xCA1 ; |
| .dw 0xED71 ; |
| .dw 0xCF17 ; |
| .dw 0x3FBB ; |
| .dw 0x221B ; |
| .dw 0xDA89 ; |
| .dw 0xCF18 ; |
| .dw 0xDFED ; |
| .dw 0x1565 ; |
| .dw 0x12DB ; |
| .dw 0xCF19 ; |
| .dw 0x95FD ; |
| .dw 0xB71F ; |
| .dw 0xB9B ; |
| .dw 0xCF1A ; |
| .dw 0xAB8F ; |
| .dw 0xC14F ; |
| .dw 0xD777 ; |
| .dw 0xCF1B ; |
| .dw 0x9427 ; |
| .dw 0x2E69 ; |
| .dw 0x5F23 ; |
| .dw 0xCF1C ; |
| .dw 0xB9F1 ; |
| .dw 0xFE17 ; |
| .dw 0x6AA1 ; |
| .dw 0xCF1D ; |
| .dw 0x642B ; |
| .dw 0x676B ; |
| .dw 0xCA2B ; |
| .dw 0xCF1E ; |
| .dw 0x4399 ; |
| .dw 0x8C55 ; |
| .dw 0x5187 ; |
| .dw 0xCF1F ; |
| .dw 0xCED5 ; |
| .dw 0x9163 ; |
| .dw 0x4B95 ; |
| .dw 0xCF20 ; |
| .dw 0xE0F9 ; |
| .dw 0xA3AF ; |
| .dw 0x72EB ; |
| .dw 0xCF21 ; |
| .dw 0x120B ; |
| .dw 0x9161 ; |
| .dw 0x4C73 ; |
| .dw 0xCF22 ; |
| .dw 0xA97F ; |
| .dw 0x9BC3 ; |
| .dw 0xF2A9 ; |
| .dw 0xCF23 ; |
| .dw 0x9B6F ; |
| .dw 0x15F5 ; |
| .dw 0x83F3 ; |
| .dw 0xCF24 ; |
| .dw 0x67D3 ; |
| .dw 0x4385 ; |
| .dw 0xEF37 ; |
| .dw 0xCF25 ; |
| .dw 0xD3A3 ; |
| .dw 0xFB5B ; |
| .dw 0x119D ; |
| .dw 0xCF26 ; |
| .dw 0xCA67 ; |
| .dw 0xC3F5 ; |
| .dw 0x2109 ; |
| .dw 0xCF27 ; |
| .dw 0x459B ; |
| .dw 0xC69 ; |
| .dw 0x6BD3 ; |
| .dw 0xCF28 ; |
| .dw 0xBD4B ; |
| .dw 0x82E1 ; |
| .dw 0xDD07 ; |
| .dw 0xCF29 ; |
| .dw 0x9131 ; |
| .dw 0x4A0B ; |
| .dw 0x503B ; |
| .dw 0xCF2A ; |
| .dw 0x3383 ; |
| .dw 0x55B5 ; |
| .dw 0x7107 ; |
| .dw 0xCF2B ; |
| .dw 0x9F5D ; |
| .dw 0x14B3 ; |
| .dw 0xF6FF ; |
| .dw 0xCF2C ; |
| .dw 0xF3B1 ; |
| .dw 0x53DF ; |
| .dw 0x9A93 ; |
| .dw 0xCF2D ; |
| .dw 0x5A59 ; |
| .dw 0x3879 ; |
| .dw 0x41AD ; |
| .dw 0xCF2E ; |
| .dw 0xDD63 ; |
| .dw 0x9BEF ; |
| .dw 0x55B3 ; |
| .dw 0xCF2F ; |
| .dw 0x9B01 ; |
| .dw 0x563D ; |
| .dw 0x598B ; |
| .dw 0xCF30 ; |
| .dw 0xF1E3 ; |
| .dw 0x45E1 ; |
| .dw 0xD327 ; |
| .dw 0xCF31 ; |
| .dw 0xF0C7 ; |
| .dw 0xD19D ; |
| .dw 0x110D ; |
| .dw 0xCF32 ; |
| .dw 0x94B7 ; |
| .dw 0x68CF ; |
| .dw 0x6ADB ; |
| .dw 0xCF33 ; |
| .dw 0x4083 ; |
| .dw 0xAD23 ; |
| .dw 0x3F8B ; |
| .dw 0xCF34 ; |
| .dw 0x55D3 ; |
| .dw 0x6969 ; |
| .dw 0x38D9 ; |
| .dw 0xCF35 ; |
| .dw 0xD261 ; |
| .dw 0xF353 ; |
| .dw 0x1595 ; |
| .dw 0xCF36 ; |
| .dw 0x8897 ; |
| .dw 0x9A6D ; |
| .dw 0x2093 ; |
| .dw 0xCF37 ; |
| .dw 0x2673 ; |
| .dw 0xD509 ; |
| .dw 0xF435 ; |
| .dw 0xCF38 ; |
| .dw 0x5093 ; |
| .dw 0x6F8F ; |
| .dw 0x93D9 ; |
| .dw 0xCF39 ; |
| .dw 0xAAE1 ; |
| .dw 0xE2F1 ; |
| .dw 0x807F ; |
| .dw 0xCF3A ; |
| .dw 0x64D ; |
| .dw 0xFEF7 ; |
| .dw 0x103D ; |
| .dw 0xCF3B ; |
| .dw 0x1665 ; |
| .dw 0x1959 ; |
| .dw 0x608F ; |
| .dw 0xCF3C ; |
| .dw 0x43D9 ; |
| .dw 0x2CDD ; |
| .dw 0x2F3F ; |
| .dw 0xCF3D ; |
| .dw 0x950B ; |
| .dw 0x3B49 ; |
| .dw 0x2681 ; |
| .dw 0xCF3E ; |
| .dw 0xEA9D ; |
| .dw 0x8053 ; |
| .dw 0xC311 ; |
| .dw 0xCF3F ; |
| .dw 0x4D3 ; |
| .dw 0x9311 ; |
| .dw 0x498B ; |
| .dw 0xCF40 ; |
| .dw 0x6909 ; |
| .dw 0x27C3 ; |
| .dw 0x2B45 ; |
| .dw 0xCF41 ; |
| .dw 0x1347 ; |
| .dw 0xFC37 ; |
| .dw 0x8C9D ; |
| .dw 0xCF42 ; |
| .dw 0xD08F ; |
| .dw 0xFF4B ; |
| .dw 0x3223 ; |
| .dw 0xCF43 ; |
| .dw 0x485 ; |
| .dw 0x7C05 ; |
| .dw 0xB5BB ; |
| .dw 0xCF44 ; |
| .dw 0x49BB ; |
| .dw 0x5A71 ; |
| .dw 0xBD1B ; |
| .dw 0xCF45 ; |
| .dw 0x27D9 ; |
| .dw 0x39B ; |
| .dw 0xE099 ; |
| .dw 0xCF46 ; |
| .dw 0x85AF ; |
| .dw 0xC637 ; |
| .dw 0xC7EF ; |
| .dw 0xCF47 ; |
| .dw 0x5D7B ; |
| .dw 0x9FAF ; |
| .dw 0xE277 ; |
| .dw 0xCF48 ; |
| .dw 0x51C9 ; |
| .dw 0xD04B ; |
| .dw 0xE427 ; |
| .dw 0xCF49 ; |
| .dw 0x747B ; |
| .dw 0xB7F5 ; |
| .dw 0x4E5 ; |
| .dw 0xCF4A ; |
| .dw 0xCBDF ; |
| .dw 0xFB21 ; |
| .dw 0x2B5B ; |
| .dw 0xCF4B ; |
| .dw 0x6F59 ; |
| .dw 0x716D ; |
| .dw 0xB07B ; |
| .dw 0xCF4C ; |
| .dw 0x42CB ; |
| .dw 0x46CB ; |
| .dw 0x9CD5 ; |
| .dw 0xCF4D ; |
| .dw 0xC98B ; |
| .dw 0x2C5D ; |
| .dw 0x57FF ; |
| .dw 0xCF4E ; |
| .dw 0xF097 ; |
| .dw 0xF96D ; |
| .dw 0x9C45 ; |
| .dw 0xCF4F ; |
| .dw 0x8743 ; |
| .dw 0xD053 ; |
| .dw 0xF01F ; |
| .dw 0xCF50 ; |
| .dw 0xD12D ; |
| .dw 0x79ED ; |
| .dw 0x18D7 ; |
| .dw 0xCF51 ; |
| .dw 0xCB3 ; |
| .dw 0x860F ; |
| .dw 0x5F57 ; |
| .dw 0xCF52 ; |
| .dw 0x41B7 ; |
| .dw 0xFB03 ; |
| .dw 0x2985 ; |
| .dw 0xCF53 ; |
| .dw 0x514F ; |
| .dw 0x6F ; |
| .dw 0x74F1 ; |
| .dw 0xCF54 ; |
| .dw 0x32AF ; |
| .dw 0x4413 ; |
| .dw 0x4F1 ; |
| .dw 0xCF55 ; |
| .dw 0xDF13 ; |
| .dw 0xEB77 ; |
| .dw 0xFDC7 ; |
| .dw 0xCF56 ; |
| .dw 0xE7BF ; |
| .dw 0xF8FB ; |
| .dw 0x8881 ; |
| .dw 0xCF57 ; |
| .dw 0xD71 ; |
| .dw 0xE18B ; |
| .dw 0x58E1 ; |
| .dw 0xCF58 ; |
| .dw 0xE66B ; |
| .dw 0x396B ; |
| .dw 0x6441 ; |
| .dw 0xCF59 ; |
| .dw 0xEAE5 ; |
| .dw 0xC4B9 ; |
| .dw 0x5D65 ; |
| .dw 0xCF5A ; |
| .dw 0x2DA9 ; |
| .dw 0x2BBB ; |
| .dw 0xD621 ; |
| .dw 0xCF5B ; |
| .dw 0x2FD1 ; |
| .dw 0xEB81 ; |
| .dw 0x56F3 ; |
| .dw 0xCF5C ; |
| .dw 0x7E67 ; |
| .dw 0xE6E1 ; |
| .dw 0x907 ; |
| .dw 0xCF5D ; |
| .dw 0x40A3 ; |
| .dw 0x95B3 ; |
| .dw 0x3501 ; |
| .dw 0xCF5E ; |
| .dw 0xBE25 ; |
| .dw 0x12A5 ; |
| .dw 0x96D ; |
| .dw 0xCF5F ; |
| .dw 0x94C9 ; |
| .dw 0xF7F7 ; |
| .dw 0xA553 ; |
| .dw 0xCF60 ; |
| .dw 0xB291 ; |
| .dw 0x5C7D ; |
| .dw 0x32ED ; |
| .dw 0xCF61 ; |
| .dw 0xABB5 ; |
| .dw 0x3987 ; |
| .dw 0x90FB ; |
| .dw 0xCF62 ; |
| .dw 0xDE61 ; |
| .dw 0x6B43 ; |
| .dw 0x5F83 ; |
| .dw 0xCF63 ; |
| .dw 0xF03D ; |
| .dw 0x61AF ; |
| .dw 0x3713 ; |
| .dw 0xCF64 ; |
| .dw 0x854D ; |
| .dw 0x2B4B ; |
| .dw 0x5ACB ; |
| .dw 0xCF65 ; |
| .dw 0x669B ; |
| .dw 0xC7A9 ; |
| .dw 0xC7B5 ; |
| .dw 0xCF66 ; |
| .dw 0x2E5D ; |
| .dw 0xFFE5 ; |
| .dw 0x8929 ; |
| .dw 0xCF67 ; |
| .dw 0xA089 ; |
| .dw 0x8151 ; |
| .dw 0xCD41 ; |
| .dw 0xCF68 ; |
| .dw 0xC17F ; |
| .dw 0x7ECF ; |
| .dw 0xB3F9 ; |
| .dw 0xCF69 ; |
| .dw 0x1689 ; |
| .dw 0xEA61 ; |
| .dw 0xC17B ; |
| .dw 0xCF6A ; |
| .dw 0xF6A1 ; |
| .dw 0xB5D1 ; |
| .dw 0xE1D5 ; |
| .dw 0xCF6B ; |
| .dw 0x8CEB ; |
| .dw 0xFA5 ; |
| .dw 0xBF9B ; |
| .dw 0xCF6C ; |
| .dw 0x9A11 ; |
| .dw 0x79DB ; |
| .dw 0x6B09 ; |
| .dw 0xCF6D ; |
| .dw 0x769B ; |
| .dw 0xEED1 ; |
| .dw 0x3BE3 ; |
| .dw 0xCF6E ; |
| .dw 0x8B95 ; |
| .dw 0xC2E9 ; |
| .dw 0x782D ; |
| .dw 0xCF6F ; |
| .dw 0x3763 ; |
| .dw 0x756B ; |
| .dw 0xE4B1 ; |
| .dw 0xCF70 ; |
| .dw 0xB2F5 ; |
| .dw 0x7F09 ; |
| .dw 0x2A1B ; |
| .dw 0xCF71 ; |
| .dw 0x9A79 ; |
| .dw 0x5685 ; |
| .dw 0x30BF ; |
| .dw 0xCF72 ; |
| .dw 0xCE41 ; |
| .dw 0x72D1 ; |
| .dw 0x301B ; |
| .dw 0xCF73 ; |
| .dw 0xAA27 ; |
| .dw 0x909B ; |
| .dw 0x818D ; |
| .dw 0xCF74 ; |
| .dw 0x5BB9 ; |
| .dw 0x8C95 ; |
| .dw 0xEA9F ; |
| .dw 0xCF75 ; |
| .dw 0x3079 ; |
| .dw 0x3273 ; |
| .dw 0x87F ; |
| .dw 0xCF76 ; |
| .dw 0x5297 ; |
| .dw 0x639B ; |
| .dw 0xC64B ; |
| .dw 0xCF77 ; |
| .dw 0x6883 ; |
| .dw 0xF731 ; |
| .dw 0xA8DF ; |
| .dw 0xCF78 ; |
| .dw 0x4387 ; |
| .dw 0x53CB ; |
| .dw 0x9CA1 ; |
| .dw 0xCF79 ; |
| .dw 0xAB55 ; |
| .dw 0xF8B ; |
| .dw 0xC01D ; |
| .dw 0xCF7A ; |
| .dw 0x3335 ; |
| .dw 0xA1EB ; |
| .dw 0xFD35 ; |
| .dw 0xCF7B ; |
| .dw 0xB3D ; |
| .dw 0x3F6B ; |
| .dw 0xF1A1 ; |
| .dw 0xCF7C ; |
| .dw 0x6EA9 ; |
| .dw 0x33F3 ; |
| .dw 0xAB8B ; |
| .dw 0xCF7D ; |
| .dw 0xBB41 ; |
| .dw 0xBCB7 ; |
| .dw 0xAA7D ; |
| .dw 0xCF7E ; |
| .dw 0x1ABD ; |
| .dw 0x8C9F ; |
| .dw 0xBBA9 ; |
| .dw 0xCF7F ; |
| .dw 0xB089 ; |
| .dw 0x55A3 ; |
| .dw 0xED41 ; |
| .dw 0xCF80 ; |
| .dw 0xB59D ; |
| .dw 0xC0AD ; |
| .dw 0xE873 ; |
| .dw 0xCF81 ; |
| .dw 0xFEA7 ; |
| .dw 0xB265 ; |
| .dw 0xF55F ; |
| .dw 0xCF82 ; |
| .dw 0x8A87 ; |
| .dw 0xE7F9 ; |
| .dw 0x64D3 ; |
| .dw 0xCF83 ; |
| .dw 0xE769 ; |
| .dw 0x6783 ; |
| .dw 0x4547 ; |
| .dw 0xCF84 ; |
| .dw 0x9597 ; |
| .dw 0xFBE9 ; |
| .dw 0xE1DD ; |
| .dw 0xCF85 ; |
| .dw 0x5239 ; |
| .dw 0x6397 ; |
| .dw 0x99C1 ; |
| .dw 0xCF86 ; |
| .dw 0xE6FF ; |
| .dw 0x84B ; |
| .dw 0x31C7 ; |
| .dw 0xCF87 ; |
| .dw 0x3E93 ; |
| .dw 0x6CDD ; |
| .dw 0xE883 ; |
| .dw 0xCF88 ; |
| .dw 0x9A81 ; |
| .dw 0xEB3D ; |
| .dw 0x310B ; |
| .dw 0xCF89 ; |
| .dw 0xA8AF ; |
| .dw 0x405D ; |
| .dw 0xDFC7 ; |
| .dw 0xCF8A ; |
| .dw 0x515B ; |
| .dw 0x7C13 ; |
| .dw 0xD483 ; |
| .dw 0xCF8B ; |
| .dw 0x1EE3 ; |
| .dw 0xD5E9 ; |
| .dw 0x2FAD ; |
| .dw 0xCF8C ; |
| .dw 0x2A93 ; |
| .dw 0xB0E1 ; |
| .dw 0xC4C1 ; |
| .dw 0xCF8D ; |
| .dw 0xD1DD ; |
| .dw 0xB1E7 ; |
| .dw 0x1E29 ; |
| .dw 0xCF8E ; |
| .dw 0xD6ED ; |
| .dw 0x1DB1 ; |
| .dw 0x2C7F ; |
| .dw 0xCF8F ; |
| .dw 0x1935 ; |
| .dw 0x6711 ; |
| .dw 0x618D ; |
| .dw 0xCF90 ; |
| .dw 0xFB4D ; |
| .dw 0xD003 ; |
| .dw 0xB185 ; |
| .dw 0xCF91 ; |
| .dw 0x1969 ; |
| .dw 0xD80F ; |
| .dw 0xDD13 ; |
| .dw 0xCF92 ; |
| .dw 0xFDE7 ; |
| .dw 0xF487 ; |
| .dw 0x54AB ; |
| .dw 0xCF93 ; |
| .dw 0x4FDB ; |
| .dw 0xCA39 ; |
| .dw 0x7EAF ; |
| .dw 0xCF94 ; |
| .dw 0xF805 ; |
| .dw 0xC4BF ; |
| .dw 0x8F77 ; |
| .dw 0xCF95 ; |
| .dw 0x24E3 ; |
| .dw 0x5055 ; |
| .dw 0x491 ; |
| .dw 0xCF96 ; |
| .dw 0x37A9 ; |
| .dw 0xCD9D ; |
| .dw 0xD301 ; |
| .dw 0xCF97 ; |
| .dw 0x2379 ; |
| .dw 0xDD89 ; |
| .dw 0xBC7B ; |
| .dw 0xCF98 ; |
| .dw 0xE1F3 ; |
| .dw 0x977F ; |
| .dw 0xED8B ; |
| .dw 0xCF99 ; |
| .dw 0xF983 ; |
| .dw 0xCE75 ; |
| .dw 0x3E75 ; |
| .dw 0xCF9A ; |
| .dw 0x4081 ; |
| .dw 0xF3D5 ; |
| .dw 0x3185 ; |
| .dw 0xCF9B ; |
| .dw 0xCB77 ; |
| .dw 0x47AD ; |
| .dw 0x97E9 ; |
| .dw 0xCF9C ; |
| .dw 0x71AF ; |
| .dw 0x93E1 ; |
| .dw 0xE25B ; |
| .dw 0xCF9D ; |
| .dw 0x9139 ; |
| .dw 0xCE65 ; |
| .dw 0x33C3 ; |
| .dw 0xCF9E ; |
| .dw 0xF4F5 ; |
| .dw 0xEF8D ; |
| .dw 0xC8D5 ; |
| .dw 0xCF9F ; |
| .dw 0x1E1 ; |
| .dw 0x59A7 ; |
| .dw 0xE7A1 ; |
| .dw 0xCFA0 ; |
| .dw 0x4241 ; |
| .dw 0xCB25 ; |
| .dw 0x4265 ; |
| .dw 0xCFA1 ; |
| .dw 0xE769 ; |
| .dw 0x27E1 ; |
| .dw 0xCD97 ; |
| .dw 0xCFA2 ; |
| .dw 0xA491 ; |
| .dw 0xB5C1 ; |
| .dw 0x427 ; |
| .dw 0xCFA3 ; |
| .dw 0x6AD7 ; |
| .dw 0xC611 ; |
| .dw 0xD5AB ; |
| .dw 0xCFA4 ; |
| .dw 0x4DA9 ; |
| .dw 0x8A15 ; |
| .dw 0x83DD ; |
| .dw 0xCFA5 ; |
| .dw 0xE503 ; |
| .dw 0xCB71 ; |
| .dw 0x2189 ; |
| .dw 0xCFA6 ; |
| .dw 0x6A27 ; |
| .dw 0x2EBB ; |
| .dw 0xE6D9 ; |
| .dw 0xCFA7 ; |
| .dw 0xDF6B ; |
| .dw 0x35E5 ; |
| .dw 0x288D ; |
| .dw 0xCFA8 ; |
| .dw 0x42DD ; |
| .dw 0x6A67 ; |
| .dw 0xD7F1 ; |
| .dw 0xCFA9 ; |
| .dw 0x143B ; |
| .dw 0x70F9 ; |
| .dw 0x319D ; |
| .dw 0xCFAA ; |
| .dw 0x919B ; |
| .dw 0x7C3B ; |
| .dw 0x1B7B ; |
| .dw 0xCFAB ; |
| .dw 0x4413 ; |
| .dw 0x42CB ; |
| .dw 0xC3FF ; |
| .dw 0xCFAC ; |
| .dw 0x7D61 ; |
| .dw 0x27AB ; |
| .dw 0x818B ; |
| .dw 0xCFAD ; |
| .dw 0x839F ; |
| .dw 0x7FB1 ; |
| .dw 0x27A3 ; |
| .dw 0xCFAE ; |
| .dw 0x932D ; |
| .dw 0xE719 ; |
| .dw 0x5449 ; |
| .dw 0xCFAF ; |
| .dw 0x1289 ; |
| .dw 0xDED7 ; |
| .dw 0xC905 ; |
| .dw 0xCFB0 ; |
| .dw 0xE641 ; |
| .dw 0xDFAD ; |
| .dw 0xF1A5 ; |
| .dw 0xCFB1 ; |
| .dw 0xC0D1 ; |
| .dw 0xF7BD ; |
| .dw 0x3423 ; |
| .dw 0xCFB2 ; |
| .dw 0xAC39 ; |
| .dw 0xDC73 ; |
| .dw 0x4545 ; |
| .dw 0xCFB3 ; |
| .dw 0x3F39 ; |
| .dw 0xB1D9 ; |
| .dw 0x3DA7 ; |
| .dw 0xCFB4 ; |
| .dw 0x86A1 ; |
| .dw 0xE663 ; |
| .dw 0xB105 ; |
| .dw 0xCFB5 ; |
| .dw 0x52A1 ; |
| .dw 0xA52D ; |
| .dw 0xB8C7 ; |
| .dw 0xCFB6 ; |
| .dw 0x9D8B ; |
| .dw 0xE251 ; |
| .dw 0xFFB3 ; |
| .dw 0xCFB7 ; |
| .dw 0xA225 ; |
| .dw 0x7425 ; |
| .dw 0xA407 ; |
| .dw 0xCFB8 ; |
| .dw 0x13C3 ; |
| .dw 0xD553 ; |
| .dw 0x9F8F ; |
| .dw 0xCFB9 ; |
| .dw 0x9ABF ; |
| .dw 0x6487 ; |
| .dw 0xE63D ; |
| .dw 0xCFBA ; |
| .dw 0x971B ; |
| .dw 0xEBCD ; |
| .dw 0xF725 ; |
| .dw 0xCFBB ; |
| .dw 0x8B4F ; |
| .dw 0xCED3 ; |
| .dw 0x691B ; |
| .dw 0xCFBC ; |
| .dw 0x3C89 ; |
| .dw 0xFE7B ; |
| .dw 0x9105 ; |
| .dw 0xCFBD ; |
| .dw 0x86D9 ; |
| .dw 0xC0CD ; |
| .dw 0x75A5 ; |
| .dw 0xCFBE ; |
| .dw 0xD961 ; |
| .dw 0xF4C1 ; |
| .dw 0x7801 ; |
| .dw 0xCFBF ; |
| .dw 0xAAA3 ; |
| .dw 0xC993 ; |
| .dw 0x92C5 ; |
| .dw 0xCFC0 ; |
| .dw 0x8D ; |
| .dw 0xEAB5 ; |
| .dw 0xCF55 ; |
| .dw 0xCFC1 ; |
| .dw 0xF94D ; |
| .dw 0xB307 ; |
| .dw 0xA575 ; |
| .dw 0xCFC2 ; |
| .dw 0x140F ; |
| .dw 0x4CE7 ; |
| .dw 0xD78B ; |
| .dw 0xCFC3 ; |
| .dw 0xF359 ; |
| .dw 0x4DE7 ; |
| .dw 0x958B ; |
| .dw 0xCFC4 ; |
| .dw 0xD893 ; |
| .dw 0xBA3 ; |
| .dw 0x8A5D ; |
| .dw 0xCFC5 ; |
| .dw 0x5149 ; |
| .dw 0xCB4B ; |
| .dw 0x21E3 ; |
| .dw 0xCFC6 ; |
| .dw 0xA65 ; |
| .dw 0x7A85 ; |
| .dw 0x2571 ; |
| .dw 0xCFC7 ; |
| .dw 0xA2DF ; |
| .dw 0xC7F9 ; |
| .dw 0xB9AF ; |
| .dw 0xCFC8 ; |
| .dw 0xF8A3 ; |
| .dw 0x491D ; |
| .dw 0xBD37 ; |
| .dw 0xCFC9 ; |
| .dw 0xFA7B ; |
| .dw 0x8B45 ; |
| .dw 0xCD ; |
| .dw 0xCFCA ; |
| .dw 0x84F3 ; |
| .dw 0x1C97 ; |
| .dw 0xA6C7 ; |
| .dw 0xCFCB ; |
| .dw 0x1349 ; |
| .dw 0x6CD9 ; |
| .dw 0xF7E3 ; |
| .dw 0xCFCC ; |
| .dw 0x738D ; |
| .dw 0x9209 ; |
| .dw 0x90F9 ; |
| .dw 0xCFCD ; |
| .dw 0x6C31 ; |
| .dw 0x3A3D ; |
| .dw 0x7921 ; |
| .dw 0xCFCE ; |
| .dw 0x18E5 ; |
| .dw 0xB46F ; |
| .dw 0xE29B ; |
| .dw 0xCFCF ; |
| .dw 0x812D ; |
| .dw 0x2E4B ; |
| .dw 0xB56B ; |
| .dw 0xCFD0 ; |
| .dw 0x87E5 ; |
| .dw 0x18D5 ; |
| .dw 0xC509 ; |
| .dw 0xCFD1 ; |
| .dw 0x8005 ; |
| .dw 0xFAA1 ; |
| .dw 0x7DC1 ; |
| .dw 0xCFD2 ; |
| .dw 0xCCC5 ; |
| .dw 0xBEE7 ; |
| .dw 0x87FB ; |
| .dw 0xCFD3 ; |
| .dw 0x6D11 ; |
| .dw 0xE40B ; |
| .dw 0x47C5 ; |
| .dw 0xCFD4 ; |
| .dw 0xDE9F ; |
| .dw 0x6351 ; |
| .dw 0x24DB ; |
| .dw 0xCFD5 ; |
| .dw 0x8803 ; |
| .dw 0x690D ; |
| .dw 0xE3F5 ; |
| .dw 0xCFD6 ; |
| .dw 0x22C9 ; |
| .dw 0x505 ; |
| .dw 0xF573 ; |
| .dw 0xCFD7 ; |
| .dw 0xC055 ; |
| .dw 0xB295 ; |
| .dw 0xA7D3 ; |
| .dw 0xCFD8 ; |
| .dw 0x305 ; |
| .dw 0xD61D ; |
| .dw 0x933B ; |
| .dw 0xCFD9 ; |
| .dw 0xC59 ; |
| .dw 0x8CD1 ; |
| .dw 0x3D47 ; |
| .dw 0xCFDA ; |
| .dw 0x9095 ; |
| .dw 0x8C21 ; |
| .dw 0xAA23 ; |
| .dw 0xCFDB ; |
| .dw 0x5D97 ; |
| .dw 0x376F ; |
| .dw 0x3C85 ; |
| .dw 0xCFDC ; |
| .dw 0xDC49 ; |
| .dw 0xE393 ; |
| .dw 0xB31B ; |
| .dw 0xCFDD ; |
| .dw 0x9871 ; |
| .dw 0x61FF ; |
| .dw 0xCF1 ; |
| .dw 0xCFDE ; |
| .dw 0xEC8D ; |
| .dw 0xD8B ; |
| .dw 0x683D ; |
| .dw 0xCFDF ; |
| .dw 0x449D ; |
| .dw 0x82F5 ; |
| .dw 0x24FF ; |
| .dw 0xCFE0 ; |
| .dw 0x708D ; |
| .dw 0x8629 ; |
| .dw 0xB5D3 ; |
| .dw 0xCFE1 ; |
| .dw 0x7FA3 ; |
| .dw 0xC4EB ; |
| .dw 0x80C7 ; |
| .dw 0xCFE2 ; |
| .dw 0xD88F ; |
| .dw 0x5DBF ; |
| .dw 0x5113 ; |
| .dw 0xCFE3 ; |
| .dw 0xF1BD ; |
| .dw 0x6797 ; |
| .dw 0xEA3B ; |
| .dw 0xCFE4 ; |
| .dw 0xB965 ; |
| .dw 0x2E63 ; |
| .dw 0x56ED ; |
| .dw 0xCFE5 ; |
| .dw 0x15B ; |
| .dw 0x733 ; |
| .dw 0x5599 ; |
| .dw 0xCFE6 ; |
| .dw 0xB249 ; |
| .dw 0xAAFB ; |
| .dw 0xC29B ; |
| .dw 0xCFE7 ; |
| .dw 0x20C1 ; |
| .dw 0x26A9 ; |
| .dw 0x39 ; |
| .dw 0xCFE8 ; |
| .dw 0xD1E5 ; |
| .dw 0xCC2D ; |
| .dw 0x8D6D ; |
| .dw 0xCFE9 ; |
| .dw 0xB4C3 ; |
| .dw 0xF651 ; |
| .dw 0xF25 ; |
| .dw 0xCFEA ; |
| .dw 0x10F3 ; |
| .dw 0xFB75 ; |
| .dw 0x3E79 ; |
| .dw 0xCFEB ; |
| .dw 0x9B55 ; |
| .dw 0x2A7 ; |
| .dw 0xFEAB ; |
| .dw 0xCFEC ; |
| .dw 0x4623 ; |
| .dw 0x1BCD ; |
| .dw 0xFA9B ; |
| .dw 0xCFED ; |
| .dw 0xA3E3 ; |
| .dw 0x9B9B ; |
| .dw 0x2B6F ; |
| .dw 0xCFEE ; |
| .dw 0x58A9 ; |
| .dw 0xD303 ; |
| .dw 0x2287 ; |
| .dw 0xCFEF ; |
| .dw 0x3AF1 ; |
| .dw 0xBEFF ; |
| .dw 0xF90B ; |
| .dw 0xCFF0 ; |
| .dw 0xCC47 ; |
| .dw 0xDE4D ; |
| .dw 0x9E43 ; |
| .dw 0xCFF1 ; |
| .dw 0xFE51 ; |
| .dw 0x7DC7 ; |
| .dw 0x79BD ; |
| .dw 0xCFF2 ; |
| .dw 0x6B1D ; |
| .dw 0x6835 ; |
| .dw 0x7AD9 ; |
| .dw 0xCFF3 ; |
| .dw 0xC635 ; |
| .dw 0x955D ; |
| .dw 0xDE57 ; |
| .dw 0xCFF4 ; |
| .dw 0x2F0B ; |
| .dw 0x2555 ; |
| .dw 0xD887 ; |
| .dw 0xCFF5 ; |
| .dw 0xCB59 ; |
| .dw 0xAC01 ; |
| .dw 0x3CEB ; |
| .dw 0xCFF6 ; |
| .dw 0xFDF5 ; |
| .dw 0x510D ; |
| .dw 0xB54D ; |
| .dw 0xCFF7 ; |
| .dw 0xD1DB ; |
| .dw 0xA867 ; |
| .dw 0x482F ; |
| .dw 0xCFF8 ; |
| .dw 0xB1C9 ; |
| .dw 0x5AA7 ; |
| .dw 0x4121 ; |
| .dw 0xCFF9 ; |
| .dw 0x83A1 ; |
| .dw 0x5A65 ; |
| .dw 0x4161 ; |
| .dw 0xCFFA ; |
| .dw 0x9E7F ; |
| .dw 0xF1F ; |
| .dw 0x7E8F ; |
| .dw 0xCFFB ; |
| .dw 0x4D1F ; |
| .dw 0x7C11 ; |
| .dw 0xA17B ; |
| .dw 0xCFFC ; |
| .dw 0xB5FD ; |
| .dw 0x2AF7 ; |
| .dw 0x5C2B ; |
| .dw 0xCFFD ; |
| .dw 0xFA4F ; |
| .dw 0x580D ; |
| .dw 0x8E77 ; |
| .dw 0xCFFE ; |
| .dw 0xEB0B ; |
| .dw 0x633B ; |
| .dw 0x9099 ; |
| .dw 0xCFFF ; |
| .dw 0xE1A1 ; |
| .dw 0x7B5F ; |
| .dw 0xC9B ; |
| // COUNT = 6662 |
| |
| |
| |
| // count of UI's will be in r5, which was initialized to 0 by header |
| |
| CHECK_INIT_DEF(p0); //CHECK_INIT(p0, 0xFF7FFFFC); |
| // Xhandler counts all EXCAUSE = 0x21; |
| CHECKREG(r5, 256); // count of all 16 bit UI's. |
| |
| END: |
| dbg_pass; // End the test |
| |
| //********************************************************************* |
| |
| // |
| // Handlers for Events |
| // |
| |
| NHANDLE: // NMI Handler 2 |
| RTN; |
| |
| XHANDLE: // Exception Handler 3 |
| // 64 bit illegal opcode handler - skips bad instruction |
| |
| [ -- SP ] = ASTAT; // save what we damage |
| [ -- SP ] = ( R7:6 ); |
| R7 = SEQSTAT; |
| R7 <<= 26; |
| R7 >>= 26; // only want EXCAUSE |
| R6 = 0x21; // EXCAUSE 0x21 means I-Fetch Undefined Instruction |
| CC = r7 == r6; |
| IF CC JUMP UNDEFINEDINSTRUCTION; // If EXCAUSE != 0x21 then leave |
| |
| dbg_fail; |
| |
| UNDEFINEDINSTRUCTION: |
| R7 = RETX; // Fix up return address |
| |
| R7 += 8; // skip offending 64 bit instruction |
| |
| RETX = r7; // and put back in RETX |
| |
| R5 += 1; // Increment global counter |
| |
| OUT: |
| ( R7:6 ) = [ SP ++ ]; |
| ASTAT = [sp++]; |
| |
| RTX; |
| |
| HWHANDLE: // HW Error Handler 5 |
| RTI; |
| |
| THANDLE: // Timer Handler 6 |
| RTI; |
| |
| I7HANDLE: // IVG 7 Handler |
| RTI; |
| |
| I8HANDLE: // IVG 8 Handler |
| RTI; |
| |
| I9HANDLE: // IVG 9 Handler |
| RTI; |
| |
| I10HANDLE: // IVG 10 Handler |
| RTI; |
| |
| I11HANDLE: // IVG 11 Handler |
| RTI; |
| |
| I12HANDLE: // IVG 12 Handler |
| RTI; |
| |
| I13HANDLE: // IVG 13 Handler |
| RTI; |
| |
| I14HANDLE: // IVG 14 Handler |
| RTI; |
| |
| I15HANDLE: // IVG 15 Handler |
| RTI; |
| |
| |
| // padding for the icache |
| |
| EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; |
| |
| // |
| // Data Segment |
| // |
| |
| .data |
| DATA: |
| .space (0x10); |
| |
| // Stack Segments (Both Kernel and User) |
| |
| .space (STACKSIZE); |
| KSTACK: |
| |
| .space (STACKSIZE); |
| USTACK: |