1//Original:/proj/frio/dv/testcases/seq/se_undefinedinstruction4/se_undefinedinstruction4.dsp 2// Description: 64 bit special cases Undefined Instructions in Supervisor Mode 3# mach: bfin 4# sim: --environment operating 5 6#include "test.h" 7.include "testutils.inc" 8start 9 10// 11// Constants and Defines 12// 13 14include(gen_int.inc) 15include(selfcheck.inc) 16include(std.inc) 17include(mmrs.inc) 18include(symtable.inc) 19 20#ifndef STACKSIZE 21#define STACKSIZE 0x10 // change for how much stack you need 22#endif 23#ifndef ITABLE 24#define ITABLE 0xF0000000 25#endif 26 27GEN_INT_INIT(ITABLE) // set location for interrupt table 28 29// 30// Reset/Bootstrap Code 31// (Here we should set the processor operating modes, initialize registers, 32// etc.) 33// 34 35BOOT: 36INIT_R_REGS(0); // initialize general purpose regs 37 38INIT_P_REGS(0); // initialize the pointers 39 40INIT_I_REGS(0); // initialize the dsp address regs 41INIT_M_REGS(0); 42INIT_L_REGS(0); 43INIT_B_REGS(0); 44 45CLI R1; // inhibit events during MMR writes 46 47LD32_LABEL(sp, USTACK); // setup the user stack pointer 48USP = SP; 49 50LD32_LABEL(sp, KSTACK); // setup the kernel stack pointer 51FP = SP; // and frame pointer 52 53LD32(p0, EVT0); // Setup Event Vectors and Handlers 54 55 P0 += 4; // EVT0 not used (Emulation) 56 57 P0 += 4; // EVT1 not used (Reset) 58 59LD32_LABEL(r0, NHANDLE); // NMI Handler (Int2) 60 [ P0 ++ ] = R0; 61 62LD32_LABEL(r0, XHANDLE); // Exception Handler (Int3) 63 [ P0 ++ ] = R0; 64 65 P0 += 4; // EVT4 not used (Global Interrupt Enable) 66 67LD32_LABEL(r0, HWHANDLE); // HW Error Handler (Int5) 68 [ P0 ++ ] = R0; 69 70LD32_LABEL(r0, THANDLE); // Timer Handler (Int6) 71 [ P0 ++ ] = R0; 72 73LD32_LABEL(r0, I7HANDLE); // IVG7 Handler 74 [ P0 ++ ] = R0; 75 76LD32_LABEL(r0, I8HANDLE); // IVG8 Handler 77 [ P0 ++ ] = R0; 78 79LD32_LABEL(r0, I9HANDLE); // IVG9 Handler 80 [ P0 ++ ] = R0; 81 82LD32_LABEL(r0, I10HANDLE);// IVG10 Handler 83 [ P0 ++ ] = R0; 84 85LD32_LABEL(r0, I11HANDLE);// IVG11 Handler 86 [ P0 ++ ] = R0; 87 88LD32_LABEL(r0, I12HANDLE);// IVG12 Handler 89 [ P0 ++ ] = R0; 90 91LD32_LABEL(r0, I13HANDLE);// IVG13 Handler 92 [ P0 ++ ] = R0; 93 94LD32_LABEL(r0, I14HANDLE);// IVG14 Handler 95 [ P0 ++ ] = R0; 96 97LD32_LABEL(r0, I15HANDLE);// IVG15 Handler 98 [ P0 ++ ] = R0; 99 100LD32(p0, EVT_OVERRIDE); 101 R0 = 0; 102 [ P0 ++ ] = R0; 103 104 R1 = -1; // Change this to mask interrupts (*) 105CSYNC; // wait for MMR writes to finish 106STI R1; // sync and reenable events (implicit write to IMASK) 107 108DUMMY: 109 110 A0 = 0; // reset accumulators 111 A1 = 0; 112 113 R0 = 0 (Z); 114 115LT0 = r0; // set loop counters to something deterministic 116LB0 = r0; 117LC0 = r0; 118LT1 = r0; 119LB1 = r0; 120LC1 = r0; 121 122ASTAT = r0; // reset other internal regs 123SYSCFG = r0; 124RETS = r0; // prevent X's breaking LINK instruction 125 126// The following code sets up the test for running in USER mode 127 128LD32_LABEL(r0, STARTUSER);// One gets to user mode by doing a 129 // ReturnFromInterrupt (RTI) 130RETI = r0; // We need to load the return address 131 132// Comment the following line for a USER Mode test 133 134JUMP STARTSUP; // jump to code start for SUPERVISOR mode 135 136RTI; 137 138STARTSUP: 139LD32_LABEL(p1, BEGIN); 140 141LD32(p0, EVT15); 142 143CLI R1; // inhibit events during write to MMR 144 [ P0 ] = P1; // IVG15 (General) handler (Int 15) load with start 145CSYNC; // wait for it 146STI R1; // reenable events with proper imask 147 148RAISE 15; // after we RTI, INT 15 should be taken 149 150RTI; 151 152// 153// The Main Program 154// 155 156STARTUSER: 157 158LINK 0; // change for how much stack frame space you need. 159 160JUMP BEGIN; 161 162//********************************************************************* 163 164BEGIN: 165 166 // COMMENT the following line for USER MODE tests 167 [ -- SP ] = RETI; // enable interrupts in supervisor mode 168 169 // **** YOUR CODE GOES HERE **** 170// Starting 64bit section COUNT = 6406 171 .dw 0xCF00 ; 172 .dw 0xFA4D ; 173 .dw 0x4973 ; 174 .dw 0x434D ; 175 .dw 0xCF01 ; 176 .dw 0x3CAF ; 177 .dw 0xE7F7 ; 178 .dw 0xACAD ; 179 .dw 0xCF02 ; 180 .dw 0xC9A3 ; 181 .dw 0x705D ; 182 .dw 0x8EFF ; 183 .dw 0xCF03 ; 184 .dw 0x242D ; 185 .dw 0x26ED ; 186 .dw 0x1C67 ; 187 .dw 0xCF04 ; 188 .dw 0xBC83 ; 189 .dw 0x18BB ; 190 .dw 0xEF95 ; 191 .dw 0xCF05 ; 192 .dw 0xDFA7 ; 193 .dw 0x6AD9 ; 194 .dw 0x7FEF ; 195 .dw 0xCF06 ; 196 .dw 0x71F3 ; 197 .dw 0x19CB ; 198 .dw 0x1F69 ; 199 .dw 0xCF07 ; 200 .dw 0xA117 ; 201 .dw 0x23ED ; 202 .dw 0xE509 ; 203 .dw 0xCF08 ; 204 .dw 0x4DF9 ; 205 .dw 0x31C3 ; 206 .dw 0x5207 ; 207 .dw 0xCF09 ; 208 .dw 0xF35D ; 209 .dw 0x998F ; 210 .dw 0xC1A7 ; 211 .dw 0xCF0A ; 212 .dw 0xA7FF ; 213 .dw 0x73D ; 214 .dw 0x4ACB ; 215 .dw 0xCF0B ; 216 .dw 0xEE29 ; 217 .dw 0xAAE7 ; 218 .dw 0x3FD3 ; 219 .dw 0xCF0C ; 220 .dw 0xD3B5 ; 221 .dw 0x5549 ; 222 .dw 0xBCB7 ; 223 .dw 0xCF0D ; 224 .dw 0xF0B7 ; 225 .dw 0xB91B ; 226 .dw 0xC01F ; 227 .dw 0xCF0E ; 228 .dw 0xC169 ; 229 .dw 0x3D1F ; 230 .dw 0xB96B ; 231 .dw 0xCF0F ; 232 .dw 0x7CD3 ; 233 .dw 0xFD95 ; 234 .dw 0x2EA1 ; 235 .dw 0xCF10 ; 236 .dw 0x8907 ; 237 .dw 0x6013 ; 238 .dw 0x467D ; 239 .dw 0xCF11 ; 240 .dw 0x7F67 ; 241 .dw 0xFC1F ; 242 .dw 0x6611 ; 243 .dw 0xCF12 ; 244 .dw 0x1BB3 ; 245 .dw 0xCFE1 ; 246 .dw 0xF609 ; 247 .dw 0xCF13 ; 248 .dw 0x6AF1 ; 249 .dw 0xC229 ; 250 .dw 0x8009 ; 251 .dw 0xCF14 ; 252 .dw 0xF619 ; 253 .dw 0xF2C9 ; 254 .dw 0xF8C7 ; 255 .dw 0xCF15 ; 256 .dw 0xE413 ; 257 .dw 0x99F3 ; 258 .dw 0x7919 ; 259 .dw 0xCF16 ; 260 .dw 0x5E8B ; 261 .dw 0xCA1 ; 262 .dw 0xED71 ; 263 .dw 0xCF17 ; 264 .dw 0x3FBB ; 265 .dw 0x221B ; 266 .dw 0xDA89 ; 267 .dw 0xCF18 ; 268 .dw 0xDFED ; 269 .dw 0x1565 ; 270 .dw 0x12DB ; 271 .dw 0xCF19 ; 272 .dw 0x95FD ; 273 .dw 0xB71F ; 274 .dw 0xB9B ; 275 .dw 0xCF1A ; 276 .dw 0xAB8F ; 277 .dw 0xC14F ; 278 .dw 0xD777 ; 279 .dw 0xCF1B ; 280 .dw 0x9427 ; 281 .dw 0x2E69 ; 282 .dw 0x5F23 ; 283 .dw 0xCF1C ; 284 .dw 0xB9F1 ; 285 .dw 0xFE17 ; 286 .dw 0x6AA1 ; 287 .dw 0xCF1D ; 288 .dw 0x642B ; 289 .dw 0x676B ; 290 .dw 0xCA2B ; 291 .dw 0xCF1E ; 292 .dw 0x4399 ; 293 .dw 0x8C55 ; 294 .dw 0x5187 ; 295 .dw 0xCF1F ; 296 .dw 0xCED5 ; 297 .dw 0x9163 ; 298 .dw 0x4B95 ; 299 .dw 0xCF20 ; 300 .dw 0xE0F9 ; 301 .dw 0xA3AF ; 302 .dw 0x72EB ; 303 .dw 0xCF21 ; 304 .dw 0x120B ; 305 .dw 0x9161 ; 306 .dw 0x4C73 ; 307 .dw 0xCF22 ; 308 .dw 0xA97F ; 309 .dw 0x9BC3 ; 310 .dw 0xF2A9 ; 311 .dw 0xCF23 ; 312 .dw 0x9B6F ; 313 .dw 0x15F5 ; 314 .dw 0x83F3 ; 315 .dw 0xCF24 ; 316 .dw 0x67D3 ; 317 .dw 0x4385 ; 318 .dw 0xEF37 ; 319 .dw 0xCF25 ; 320 .dw 0xD3A3 ; 321 .dw 0xFB5B ; 322 .dw 0x119D ; 323 .dw 0xCF26 ; 324 .dw 0xCA67 ; 325 .dw 0xC3F5 ; 326 .dw 0x2109 ; 327 .dw 0xCF27 ; 328 .dw 0x459B ; 329 .dw 0xC69 ; 330 .dw 0x6BD3 ; 331 .dw 0xCF28 ; 332 .dw 0xBD4B ; 333 .dw 0x82E1 ; 334 .dw 0xDD07 ; 335 .dw 0xCF29 ; 336 .dw 0x9131 ; 337 .dw 0x4A0B ; 338 .dw 0x503B ; 339 .dw 0xCF2A ; 340 .dw 0x3383 ; 341 .dw 0x55B5 ; 342 .dw 0x7107 ; 343 .dw 0xCF2B ; 344 .dw 0x9F5D ; 345 .dw 0x14B3 ; 346 .dw 0xF6FF ; 347 .dw 0xCF2C ; 348 .dw 0xF3B1 ; 349 .dw 0x53DF ; 350 .dw 0x9A93 ; 351 .dw 0xCF2D ; 352 .dw 0x5A59 ; 353 .dw 0x3879 ; 354 .dw 0x41AD ; 355 .dw 0xCF2E ; 356 .dw 0xDD63 ; 357 .dw 0x9BEF ; 358 .dw 0x55B3 ; 359 .dw 0xCF2F ; 360 .dw 0x9B01 ; 361 .dw 0x563D ; 362 .dw 0x598B ; 363 .dw 0xCF30 ; 364 .dw 0xF1E3 ; 365 .dw 0x45E1 ; 366 .dw 0xD327 ; 367 .dw 0xCF31 ; 368 .dw 0xF0C7 ; 369 .dw 0xD19D ; 370 .dw 0x110D ; 371 .dw 0xCF32 ; 372 .dw 0x94B7 ; 373 .dw 0x68CF ; 374 .dw 0x6ADB ; 375 .dw 0xCF33 ; 376 .dw 0x4083 ; 377 .dw 0xAD23 ; 378 .dw 0x3F8B ; 379 .dw 0xCF34 ; 380 .dw 0x55D3 ; 381 .dw 0x6969 ; 382 .dw 0x38D9 ; 383 .dw 0xCF35 ; 384 .dw 0xD261 ; 385 .dw 0xF353 ; 386 .dw 0x1595 ; 387 .dw 0xCF36 ; 388 .dw 0x8897 ; 389 .dw 0x9A6D ; 390 .dw 0x2093 ; 391 .dw 0xCF37 ; 392 .dw 0x2673 ; 393 .dw 0xD509 ; 394 .dw 0xF435 ; 395 .dw 0xCF38 ; 396 .dw 0x5093 ; 397 .dw 0x6F8F ; 398 .dw 0x93D9 ; 399 .dw 0xCF39 ; 400 .dw 0xAAE1 ; 401 .dw 0xE2F1 ; 402 .dw 0x807F ; 403 .dw 0xCF3A ; 404 .dw 0x64D ; 405 .dw 0xFEF7 ; 406 .dw 0x103D ; 407 .dw 0xCF3B ; 408 .dw 0x1665 ; 409 .dw 0x1959 ; 410 .dw 0x608F ; 411 .dw 0xCF3C ; 412 .dw 0x43D9 ; 413 .dw 0x2CDD ; 414 .dw 0x2F3F ; 415 .dw 0xCF3D ; 416 .dw 0x950B ; 417 .dw 0x3B49 ; 418 .dw 0x2681 ; 419 .dw 0xCF3E ; 420 .dw 0xEA9D ; 421 .dw 0x8053 ; 422 .dw 0xC311 ; 423 .dw 0xCF3F ; 424 .dw 0x4D3 ; 425 .dw 0x9311 ; 426 .dw 0x498B ; 427 .dw 0xCF40 ; 428 .dw 0x6909 ; 429 .dw 0x27C3 ; 430 .dw 0x2B45 ; 431 .dw 0xCF41 ; 432 .dw 0x1347 ; 433 .dw 0xFC37 ; 434 .dw 0x8C9D ; 435 .dw 0xCF42 ; 436 .dw 0xD08F ; 437 .dw 0xFF4B ; 438 .dw 0x3223 ; 439 .dw 0xCF43 ; 440 .dw 0x485 ; 441 .dw 0x7C05 ; 442 .dw 0xB5BB ; 443 .dw 0xCF44 ; 444 .dw 0x49BB ; 445 .dw 0x5A71 ; 446 .dw 0xBD1B ; 447 .dw 0xCF45 ; 448 .dw 0x27D9 ; 449 .dw 0x39B ; 450 .dw 0xE099 ; 451 .dw 0xCF46 ; 452 .dw 0x85AF ; 453 .dw 0xC637 ; 454 .dw 0xC7EF ; 455 .dw 0xCF47 ; 456 .dw 0x5D7B ; 457 .dw 0x9FAF ; 458 .dw 0xE277 ; 459 .dw 0xCF48 ; 460 .dw 0x51C9 ; 461 .dw 0xD04B ; 462 .dw 0xE427 ; 463 .dw 0xCF49 ; 464 .dw 0x747B ; 465 .dw 0xB7F5 ; 466 .dw 0x4E5 ; 467 .dw 0xCF4A ; 468 .dw 0xCBDF ; 469 .dw 0xFB21 ; 470 .dw 0x2B5B ; 471 .dw 0xCF4B ; 472 .dw 0x6F59 ; 473 .dw 0x716D ; 474 .dw 0xB07B ; 475 .dw 0xCF4C ; 476 .dw 0x42CB ; 477 .dw 0x46CB ; 478 .dw 0x9CD5 ; 479 .dw 0xCF4D ; 480 .dw 0xC98B ; 481 .dw 0x2C5D ; 482 .dw 0x57FF ; 483 .dw 0xCF4E ; 484 .dw 0xF097 ; 485 .dw 0xF96D ; 486 .dw 0x9C45 ; 487 .dw 0xCF4F ; 488 .dw 0x8743 ; 489 .dw 0xD053 ; 490 .dw 0xF01F ; 491 .dw 0xCF50 ; 492 .dw 0xD12D ; 493 .dw 0x79ED ; 494 .dw 0x18D7 ; 495 .dw 0xCF51 ; 496 .dw 0xCB3 ; 497 .dw 0x860F ; 498 .dw 0x5F57 ; 499 .dw 0xCF52 ; 500 .dw 0x41B7 ; 501 .dw 0xFB03 ; 502 .dw 0x2985 ; 503 .dw 0xCF53 ; 504 .dw 0x514F ; 505 .dw 0x6F ; 506 .dw 0x74F1 ; 507 .dw 0xCF54 ; 508 .dw 0x32AF ; 509 .dw 0x4413 ; 510 .dw 0x4F1 ; 511 .dw 0xCF55 ; 512 .dw 0xDF13 ; 513 .dw 0xEB77 ; 514 .dw 0xFDC7 ; 515 .dw 0xCF56 ; 516 .dw 0xE7BF ; 517 .dw 0xF8FB ; 518 .dw 0x8881 ; 519 .dw 0xCF57 ; 520 .dw 0xD71 ; 521 .dw 0xE18B ; 522 .dw 0x58E1 ; 523 .dw 0xCF58 ; 524 .dw 0xE66B ; 525 .dw 0x396B ; 526 .dw 0x6441 ; 527 .dw 0xCF59 ; 528 .dw 0xEAE5 ; 529 .dw 0xC4B9 ; 530 .dw 0x5D65 ; 531 .dw 0xCF5A ; 532 .dw 0x2DA9 ; 533 .dw 0x2BBB ; 534 .dw 0xD621 ; 535 .dw 0xCF5B ; 536 .dw 0x2FD1 ; 537 .dw 0xEB81 ; 538 .dw 0x56F3 ; 539 .dw 0xCF5C ; 540 .dw 0x7E67 ; 541 .dw 0xE6E1 ; 542 .dw 0x907 ; 543 .dw 0xCF5D ; 544 .dw 0x40A3 ; 545 .dw 0x95B3 ; 546 .dw 0x3501 ; 547 .dw 0xCF5E ; 548 .dw 0xBE25 ; 549 .dw 0x12A5 ; 550 .dw 0x96D ; 551 .dw 0xCF5F ; 552 .dw 0x94C9 ; 553 .dw 0xF7F7 ; 554 .dw 0xA553 ; 555 .dw 0xCF60 ; 556 .dw 0xB291 ; 557 .dw 0x5C7D ; 558 .dw 0x32ED ; 559 .dw 0xCF61 ; 560 .dw 0xABB5 ; 561 .dw 0x3987 ; 562 .dw 0x90FB ; 563 .dw 0xCF62 ; 564 .dw 0xDE61 ; 565 .dw 0x6B43 ; 566 .dw 0x5F83 ; 567 .dw 0xCF63 ; 568 .dw 0xF03D ; 569 .dw 0x61AF ; 570 .dw 0x3713 ; 571 .dw 0xCF64 ; 572 .dw 0x854D ; 573 .dw 0x2B4B ; 574 .dw 0x5ACB ; 575 .dw 0xCF65 ; 576 .dw 0x669B ; 577 .dw 0xC7A9 ; 578 .dw 0xC7B5 ; 579 .dw 0xCF66 ; 580 .dw 0x2E5D ; 581 .dw 0xFFE5 ; 582 .dw 0x8929 ; 583 .dw 0xCF67 ; 584 .dw 0xA089 ; 585 .dw 0x8151 ; 586 .dw 0xCD41 ; 587 .dw 0xCF68 ; 588 .dw 0xC17F ; 589 .dw 0x7ECF ; 590 .dw 0xB3F9 ; 591 .dw 0xCF69 ; 592 .dw 0x1689 ; 593 .dw 0xEA61 ; 594 .dw 0xC17B ; 595 .dw 0xCF6A ; 596 .dw 0xF6A1 ; 597 .dw 0xB5D1 ; 598 .dw 0xE1D5 ; 599 .dw 0xCF6B ; 600 .dw 0x8CEB ; 601 .dw 0xFA5 ; 602 .dw 0xBF9B ; 603 .dw 0xCF6C ; 604 .dw 0x9A11 ; 605 .dw 0x79DB ; 606 .dw 0x6B09 ; 607 .dw 0xCF6D ; 608 .dw 0x769B ; 609 .dw 0xEED1 ; 610 .dw 0x3BE3 ; 611 .dw 0xCF6E ; 612 .dw 0x8B95 ; 613 .dw 0xC2E9 ; 614 .dw 0x782D ; 615 .dw 0xCF6F ; 616 .dw 0x3763 ; 617 .dw 0x756B ; 618 .dw 0xE4B1 ; 619 .dw 0xCF70 ; 620 .dw 0xB2F5 ; 621 .dw 0x7F09 ; 622 .dw 0x2A1B ; 623 .dw 0xCF71 ; 624 .dw 0x9A79 ; 625 .dw 0x5685 ; 626 .dw 0x30BF ; 627 .dw 0xCF72 ; 628 .dw 0xCE41 ; 629 .dw 0x72D1 ; 630 .dw 0x301B ; 631 .dw 0xCF73 ; 632 .dw 0xAA27 ; 633 .dw 0x909B ; 634 .dw 0x818D ; 635 .dw 0xCF74 ; 636 .dw 0x5BB9 ; 637 .dw 0x8C95 ; 638 .dw 0xEA9F ; 639 .dw 0xCF75 ; 640 .dw 0x3079 ; 641 .dw 0x3273 ; 642 .dw 0x87F ; 643 .dw 0xCF76 ; 644 .dw 0x5297 ; 645 .dw 0x639B ; 646 .dw 0xC64B ; 647 .dw 0xCF77 ; 648 .dw 0x6883 ; 649 .dw 0xF731 ; 650 .dw 0xA8DF ; 651 .dw 0xCF78 ; 652 .dw 0x4387 ; 653 .dw 0x53CB ; 654 .dw 0x9CA1 ; 655 .dw 0xCF79 ; 656 .dw 0xAB55 ; 657 .dw 0xF8B ; 658 .dw 0xC01D ; 659 .dw 0xCF7A ; 660 .dw 0x3335 ; 661 .dw 0xA1EB ; 662 .dw 0xFD35 ; 663 .dw 0xCF7B ; 664 .dw 0xB3D ; 665 .dw 0x3F6B ; 666 .dw 0xF1A1 ; 667 .dw 0xCF7C ; 668 .dw 0x6EA9 ; 669 .dw 0x33F3 ; 670 .dw 0xAB8B ; 671 .dw 0xCF7D ; 672 .dw 0xBB41 ; 673 .dw 0xBCB7 ; 674 .dw 0xAA7D ; 675 .dw 0xCF7E ; 676 .dw 0x1ABD ; 677 .dw 0x8C9F ; 678 .dw 0xBBA9 ; 679 .dw 0xCF7F ; 680 .dw 0xB089 ; 681 .dw 0x55A3 ; 682 .dw 0xED41 ; 683 .dw 0xCF80 ; 684 .dw 0xB59D ; 685 .dw 0xC0AD ; 686 .dw 0xE873 ; 687 .dw 0xCF81 ; 688 .dw 0xFEA7 ; 689 .dw 0xB265 ; 690 .dw 0xF55F ; 691 .dw 0xCF82 ; 692 .dw 0x8A87 ; 693 .dw 0xE7F9 ; 694 .dw 0x64D3 ; 695 .dw 0xCF83 ; 696 .dw 0xE769 ; 697 .dw 0x6783 ; 698 .dw 0x4547 ; 699 .dw 0xCF84 ; 700 .dw 0x9597 ; 701 .dw 0xFBE9 ; 702 .dw 0xE1DD ; 703 .dw 0xCF85 ; 704 .dw 0x5239 ; 705 .dw 0x6397 ; 706 .dw 0x99C1 ; 707 .dw 0xCF86 ; 708 .dw 0xE6FF ; 709 .dw 0x84B ; 710 .dw 0x31C7 ; 711 .dw 0xCF87 ; 712 .dw 0x3E93 ; 713 .dw 0x6CDD ; 714 .dw 0xE883 ; 715 .dw 0xCF88 ; 716 .dw 0x9A81 ; 717 .dw 0xEB3D ; 718 .dw 0x310B ; 719 .dw 0xCF89 ; 720 .dw 0xA8AF ; 721 .dw 0x405D ; 722 .dw 0xDFC7 ; 723 .dw 0xCF8A ; 724 .dw 0x515B ; 725 .dw 0x7C13 ; 726 .dw 0xD483 ; 727 .dw 0xCF8B ; 728 .dw 0x1EE3 ; 729 .dw 0xD5E9 ; 730 .dw 0x2FAD ; 731 .dw 0xCF8C ; 732 .dw 0x2A93 ; 733 .dw 0xB0E1 ; 734 .dw 0xC4C1 ; 735 .dw 0xCF8D ; 736 .dw 0xD1DD ; 737 .dw 0xB1E7 ; 738 .dw 0x1E29 ; 739 .dw 0xCF8E ; 740 .dw 0xD6ED ; 741 .dw 0x1DB1 ; 742 .dw 0x2C7F ; 743 .dw 0xCF8F ; 744 .dw 0x1935 ; 745 .dw 0x6711 ; 746 .dw 0x618D ; 747 .dw 0xCF90 ; 748 .dw 0xFB4D ; 749 .dw 0xD003 ; 750 .dw 0xB185 ; 751 .dw 0xCF91 ; 752 .dw 0x1969 ; 753 .dw 0xD80F ; 754 .dw 0xDD13 ; 755 .dw 0xCF92 ; 756 .dw 0xFDE7 ; 757 .dw 0xF487 ; 758 .dw 0x54AB ; 759 .dw 0xCF93 ; 760 .dw 0x4FDB ; 761 .dw 0xCA39 ; 762 .dw 0x7EAF ; 763 .dw 0xCF94 ; 764 .dw 0xF805 ; 765 .dw 0xC4BF ; 766 .dw 0x8F77 ; 767 .dw 0xCF95 ; 768 .dw 0x24E3 ; 769 .dw 0x5055 ; 770 .dw 0x491 ; 771 .dw 0xCF96 ; 772 .dw 0x37A9 ; 773 .dw 0xCD9D ; 774 .dw 0xD301 ; 775 .dw 0xCF97 ; 776 .dw 0x2379 ; 777 .dw 0xDD89 ; 778 .dw 0xBC7B ; 779 .dw 0xCF98 ; 780 .dw 0xE1F3 ; 781 .dw 0x977F ; 782 .dw 0xED8B ; 783 .dw 0xCF99 ; 784 .dw 0xF983 ; 785 .dw 0xCE75 ; 786 .dw 0x3E75 ; 787 .dw 0xCF9A ; 788 .dw 0x4081 ; 789 .dw 0xF3D5 ; 790 .dw 0x3185 ; 791 .dw 0xCF9B ; 792 .dw 0xCB77 ; 793 .dw 0x47AD ; 794 .dw 0x97E9 ; 795 .dw 0xCF9C ; 796 .dw 0x71AF ; 797 .dw 0x93E1 ; 798 .dw 0xE25B ; 799 .dw 0xCF9D ; 800 .dw 0x9139 ; 801 .dw 0xCE65 ; 802 .dw 0x33C3 ; 803 .dw 0xCF9E ; 804 .dw 0xF4F5 ; 805 .dw 0xEF8D ; 806 .dw 0xC8D5 ; 807 .dw 0xCF9F ; 808 .dw 0x1E1 ; 809 .dw 0x59A7 ; 810 .dw 0xE7A1 ; 811 .dw 0xCFA0 ; 812 .dw 0x4241 ; 813 .dw 0xCB25 ; 814 .dw 0x4265 ; 815 .dw 0xCFA1 ; 816 .dw 0xE769 ; 817 .dw 0x27E1 ; 818 .dw 0xCD97 ; 819 .dw 0xCFA2 ; 820 .dw 0xA491 ; 821 .dw 0xB5C1 ; 822 .dw 0x427 ; 823 .dw 0xCFA3 ; 824 .dw 0x6AD7 ; 825 .dw 0xC611 ; 826 .dw 0xD5AB ; 827 .dw 0xCFA4 ; 828 .dw 0x4DA9 ; 829 .dw 0x8A15 ; 830 .dw 0x83DD ; 831 .dw 0xCFA5 ; 832 .dw 0xE503 ; 833 .dw 0xCB71 ; 834 .dw 0x2189 ; 835 .dw 0xCFA6 ; 836 .dw 0x6A27 ; 837 .dw 0x2EBB ; 838 .dw 0xE6D9 ; 839 .dw 0xCFA7 ; 840 .dw 0xDF6B ; 841 .dw 0x35E5 ; 842 .dw 0x288D ; 843 .dw 0xCFA8 ; 844 .dw 0x42DD ; 845 .dw 0x6A67 ; 846 .dw 0xD7F1 ; 847 .dw 0xCFA9 ; 848 .dw 0x143B ; 849 .dw 0x70F9 ; 850 .dw 0x319D ; 851 .dw 0xCFAA ; 852 .dw 0x919B ; 853 .dw 0x7C3B ; 854 .dw 0x1B7B ; 855 .dw 0xCFAB ; 856 .dw 0x4413 ; 857 .dw 0x42CB ; 858 .dw 0xC3FF ; 859 .dw 0xCFAC ; 860 .dw 0x7D61 ; 861 .dw 0x27AB ; 862 .dw 0x818B ; 863 .dw 0xCFAD ; 864 .dw 0x839F ; 865 .dw 0x7FB1 ; 866 .dw 0x27A3 ; 867 .dw 0xCFAE ; 868 .dw 0x932D ; 869 .dw 0xE719 ; 870 .dw 0x5449 ; 871 .dw 0xCFAF ; 872 .dw 0x1289 ; 873 .dw 0xDED7 ; 874 .dw 0xC905 ; 875 .dw 0xCFB0 ; 876 .dw 0xE641 ; 877 .dw 0xDFAD ; 878 .dw 0xF1A5 ; 879 .dw 0xCFB1 ; 880 .dw 0xC0D1 ; 881 .dw 0xF7BD ; 882 .dw 0x3423 ; 883 .dw 0xCFB2 ; 884 .dw 0xAC39 ; 885 .dw 0xDC73 ; 886 .dw 0x4545 ; 887 .dw 0xCFB3 ; 888 .dw 0x3F39 ; 889 .dw 0xB1D9 ; 890 .dw 0x3DA7 ; 891 .dw 0xCFB4 ; 892 .dw 0x86A1 ; 893 .dw 0xE663 ; 894 .dw 0xB105 ; 895 .dw 0xCFB5 ; 896 .dw 0x52A1 ; 897 .dw 0xA52D ; 898 .dw 0xB8C7 ; 899 .dw 0xCFB6 ; 900 .dw 0x9D8B ; 901 .dw 0xE251 ; 902 .dw 0xFFB3 ; 903 .dw 0xCFB7 ; 904 .dw 0xA225 ; 905 .dw 0x7425 ; 906 .dw 0xA407 ; 907 .dw 0xCFB8 ; 908 .dw 0x13C3 ; 909 .dw 0xD553 ; 910 .dw 0x9F8F ; 911 .dw 0xCFB9 ; 912 .dw 0x9ABF ; 913 .dw 0x6487 ; 914 .dw 0xE63D ; 915 .dw 0xCFBA ; 916 .dw 0x971B ; 917 .dw 0xEBCD ; 918 .dw 0xF725 ; 919 .dw 0xCFBB ; 920 .dw 0x8B4F ; 921 .dw 0xCED3 ; 922 .dw 0x691B ; 923 .dw 0xCFBC ; 924 .dw 0x3C89 ; 925 .dw 0xFE7B ; 926 .dw 0x9105 ; 927 .dw 0xCFBD ; 928 .dw 0x86D9 ; 929 .dw 0xC0CD ; 930 .dw 0x75A5 ; 931 .dw 0xCFBE ; 932 .dw 0xD961 ; 933 .dw 0xF4C1 ; 934 .dw 0x7801 ; 935 .dw 0xCFBF ; 936 .dw 0xAAA3 ; 937 .dw 0xC993 ; 938 .dw 0x92C5 ; 939 .dw 0xCFC0 ; 940 .dw 0x8D ; 941 .dw 0xEAB5 ; 942 .dw 0xCF55 ; 943 .dw 0xCFC1 ; 944 .dw 0xF94D ; 945 .dw 0xB307 ; 946 .dw 0xA575 ; 947 .dw 0xCFC2 ; 948 .dw 0x140F ; 949 .dw 0x4CE7 ; 950 .dw 0xD78B ; 951 .dw 0xCFC3 ; 952 .dw 0xF359 ; 953 .dw 0x4DE7 ; 954 .dw 0x958B ; 955 .dw 0xCFC4 ; 956 .dw 0xD893 ; 957 .dw 0xBA3 ; 958 .dw 0x8A5D ; 959 .dw 0xCFC5 ; 960 .dw 0x5149 ; 961 .dw 0xCB4B ; 962 .dw 0x21E3 ; 963 .dw 0xCFC6 ; 964 .dw 0xA65 ; 965 .dw 0x7A85 ; 966 .dw 0x2571 ; 967 .dw 0xCFC7 ; 968 .dw 0xA2DF ; 969 .dw 0xC7F9 ; 970 .dw 0xB9AF ; 971 .dw 0xCFC8 ; 972 .dw 0xF8A3 ; 973 .dw 0x491D ; 974 .dw 0xBD37 ; 975 .dw 0xCFC9 ; 976 .dw 0xFA7B ; 977 .dw 0x8B45 ; 978 .dw 0xCD ; 979 .dw 0xCFCA ; 980 .dw 0x84F3 ; 981 .dw 0x1C97 ; 982 .dw 0xA6C7 ; 983 .dw 0xCFCB ; 984 .dw 0x1349 ; 985 .dw 0x6CD9 ; 986 .dw 0xF7E3 ; 987 .dw 0xCFCC ; 988 .dw 0x738D ; 989 .dw 0x9209 ; 990 .dw 0x90F9 ; 991 .dw 0xCFCD ; 992 .dw 0x6C31 ; 993 .dw 0x3A3D ; 994 .dw 0x7921 ; 995 .dw 0xCFCE ; 996 .dw 0x18E5 ; 997 .dw 0xB46F ; 998 .dw 0xE29B ; 999 .dw 0xCFCF ; 1000 .dw 0x812D ; 1001 .dw 0x2E4B ; 1002 .dw 0xB56B ; 1003 .dw 0xCFD0 ; 1004 .dw 0x87E5 ; 1005 .dw 0x18D5 ; 1006 .dw 0xC509 ; 1007 .dw 0xCFD1 ; 1008 .dw 0x8005 ; 1009 .dw 0xFAA1 ; 1010 .dw 0x7DC1 ; 1011 .dw 0xCFD2 ; 1012 .dw 0xCCC5 ; 1013 .dw 0xBEE7 ; 1014 .dw 0x87FB ; 1015 .dw 0xCFD3 ; 1016 .dw 0x6D11 ; 1017 .dw 0xE40B ; 1018 .dw 0x47C5 ; 1019 .dw 0xCFD4 ; 1020 .dw 0xDE9F ; 1021 .dw 0x6351 ; 1022 .dw 0x24DB ; 1023 .dw 0xCFD5 ; 1024 .dw 0x8803 ; 1025 .dw 0x690D ; 1026 .dw 0xE3F5 ; 1027 .dw 0xCFD6 ; 1028 .dw 0x22C9 ; 1029 .dw 0x505 ; 1030 .dw 0xF573 ; 1031 .dw 0xCFD7 ; 1032 .dw 0xC055 ; 1033 .dw 0xB295 ; 1034 .dw 0xA7D3 ; 1035 .dw 0xCFD8 ; 1036 .dw 0x305 ; 1037 .dw 0xD61D ; 1038 .dw 0x933B ; 1039 .dw 0xCFD9 ; 1040 .dw 0xC59 ; 1041 .dw 0x8CD1 ; 1042 .dw 0x3D47 ; 1043 .dw 0xCFDA ; 1044 .dw 0x9095 ; 1045 .dw 0x8C21 ; 1046 .dw 0xAA23 ; 1047 .dw 0xCFDB ; 1048 .dw 0x5D97 ; 1049 .dw 0x376F ; 1050 .dw 0x3C85 ; 1051 .dw 0xCFDC ; 1052 .dw 0xDC49 ; 1053 .dw 0xE393 ; 1054 .dw 0xB31B ; 1055 .dw 0xCFDD ; 1056 .dw 0x9871 ; 1057 .dw 0x61FF ; 1058 .dw 0xCF1 ; 1059 .dw 0xCFDE ; 1060 .dw 0xEC8D ; 1061 .dw 0xD8B ; 1062 .dw 0x683D ; 1063 .dw 0xCFDF ; 1064 .dw 0x449D ; 1065 .dw 0x82F5 ; 1066 .dw 0x24FF ; 1067 .dw 0xCFE0 ; 1068 .dw 0x708D ; 1069 .dw 0x8629 ; 1070 .dw 0xB5D3 ; 1071 .dw 0xCFE1 ; 1072 .dw 0x7FA3 ; 1073 .dw 0xC4EB ; 1074 .dw 0x80C7 ; 1075 .dw 0xCFE2 ; 1076 .dw 0xD88F ; 1077 .dw 0x5DBF ; 1078 .dw 0x5113 ; 1079 .dw 0xCFE3 ; 1080 .dw 0xF1BD ; 1081 .dw 0x6797 ; 1082 .dw 0xEA3B ; 1083 .dw 0xCFE4 ; 1084 .dw 0xB965 ; 1085 .dw 0x2E63 ; 1086 .dw 0x56ED ; 1087 .dw 0xCFE5 ; 1088 .dw 0x15B ; 1089 .dw 0x733 ; 1090 .dw 0x5599 ; 1091 .dw 0xCFE6 ; 1092 .dw 0xB249 ; 1093 .dw 0xAAFB ; 1094 .dw 0xC29B ; 1095 .dw 0xCFE7 ; 1096 .dw 0x20C1 ; 1097 .dw 0x26A9 ; 1098 .dw 0x39 ; 1099 .dw 0xCFE8 ; 1100 .dw 0xD1E5 ; 1101 .dw 0xCC2D ; 1102 .dw 0x8D6D ; 1103 .dw 0xCFE9 ; 1104 .dw 0xB4C3 ; 1105 .dw 0xF651 ; 1106 .dw 0xF25 ; 1107 .dw 0xCFEA ; 1108 .dw 0x10F3 ; 1109 .dw 0xFB75 ; 1110 .dw 0x3E79 ; 1111 .dw 0xCFEB ; 1112 .dw 0x9B55 ; 1113 .dw 0x2A7 ; 1114 .dw 0xFEAB ; 1115 .dw 0xCFEC ; 1116 .dw 0x4623 ; 1117 .dw 0x1BCD ; 1118 .dw 0xFA9B ; 1119 .dw 0xCFED ; 1120 .dw 0xA3E3 ; 1121 .dw 0x9B9B ; 1122 .dw 0x2B6F ; 1123 .dw 0xCFEE ; 1124 .dw 0x58A9 ; 1125 .dw 0xD303 ; 1126 .dw 0x2287 ; 1127 .dw 0xCFEF ; 1128 .dw 0x3AF1 ; 1129 .dw 0xBEFF ; 1130 .dw 0xF90B ; 1131 .dw 0xCFF0 ; 1132 .dw 0xCC47 ; 1133 .dw 0xDE4D ; 1134 .dw 0x9E43 ; 1135 .dw 0xCFF1 ; 1136 .dw 0xFE51 ; 1137 .dw 0x7DC7 ; 1138 .dw 0x79BD ; 1139 .dw 0xCFF2 ; 1140 .dw 0x6B1D ; 1141 .dw 0x6835 ; 1142 .dw 0x7AD9 ; 1143 .dw 0xCFF3 ; 1144 .dw 0xC635 ; 1145 .dw 0x955D ; 1146 .dw 0xDE57 ; 1147 .dw 0xCFF4 ; 1148 .dw 0x2F0B ; 1149 .dw 0x2555 ; 1150 .dw 0xD887 ; 1151 .dw 0xCFF5 ; 1152 .dw 0xCB59 ; 1153 .dw 0xAC01 ; 1154 .dw 0x3CEB ; 1155 .dw 0xCFF6 ; 1156 .dw 0xFDF5 ; 1157 .dw 0x510D ; 1158 .dw 0xB54D ; 1159 .dw 0xCFF7 ; 1160 .dw 0xD1DB ; 1161 .dw 0xA867 ; 1162 .dw 0x482F ; 1163 .dw 0xCFF8 ; 1164 .dw 0xB1C9 ; 1165 .dw 0x5AA7 ; 1166 .dw 0x4121 ; 1167 .dw 0xCFF9 ; 1168 .dw 0x83A1 ; 1169 .dw 0x5A65 ; 1170 .dw 0x4161 ; 1171 .dw 0xCFFA ; 1172 .dw 0x9E7F ; 1173 .dw 0xF1F ; 1174 .dw 0x7E8F ; 1175 .dw 0xCFFB ; 1176 .dw 0x4D1F ; 1177 .dw 0x7C11 ; 1178 .dw 0xA17B ; 1179 .dw 0xCFFC ; 1180 .dw 0xB5FD ; 1181 .dw 0x2AF7 ; 1182 .dw 0x5C2B ; 1183 .dw 0xCFFD ; 1184 .dw 0xFA4F ; 1185 .dw 0x580D ; 1186 .dw 0x8E77 ; 1187 .dw 0xCFFE ; 1188 .dw 0xEB0B ; 1189 .dw 0x633B ; 1190 .dw 0x9099 ; 1191 .dw 0xCFFF ; 1192 .dw 0xE1A1 ; 1193 .dw 0x7B5F ; 1194 .dw 0xC9B ; 1195// COUNT = 6662 1196 1197 1198 1199 // count of UI's will be in r5, which was initialized to 0 by header 1200 1201CHECK_INIT_DEF(p0); //CHECK_INIT(p0, 0xFF7FFFFC); 1202 // Xhandler counts all EXCAUSE = 0x21; 1203CHECKREG(r5, 256); // count of all 16 bit UI's. 1204 1205END: 1206dbg_pass; // End the test 1207 1208//********************************************************************* 1209 1210// 1211// Handlers for Events 1212// 1213 1214NHANDLE: // NMI Handler 2 1215RTN; 1216 1217XHANDLE: // Exception Handler 3 1218 // 64 bit illegal opcode handler - skips bad instruction 1219 1220 [ -- SP ] = ASTAT; // save what we damage 1221 [ -- SP ] = ( R7:6 ); 1222 R7 = SEQSTAT; 1223 R7 <<= 26; 1224 R7 >>= 26; // only want EXCAUSE 1225 R6 = 0x21; // EXCAUSE 0x21 means I-Fetch Undefined Instruction 1226CC = r7 == r6; 1227IF CC JUMP UNDEFINEDINSTRUCTION; // If EXCAUSE != 0x21 then leave 1228 1229dbg_fail; 1230 1231UNDEFINEDINSTRUCTION: 1232 R7 = RETX; // Fix up return address 1233 1234 R7 += 8; // skip offending 64 bit instruction 1235 1236RETX = r7; // and put back in RETX 1237 1238 R5 += 1; // Increment global counter 1239 1240OUT: 1241 ( R7:6 ) = [ SP ++ ]; 1242ASTAT = [sp++]; 1243 1244RTX; 1245 1246HWHANDLE: // HW Error Handler 5 1247RTI; 1248 1249THANDLE: // Timer Handler 6 1250RTI; 1251 1252I7HANDLE: // IVG 7 Handler 1253RTI; 1254 1255I8HANDLE: // IVG 8 Handler 1256RTI; 1257 1258I9HANDLE: // IVG 9 Handler 1259RTI; 1260 1261I10HANDLE: // IVG 10 Handler 1262RTI; 1263 1264I11HANDLE: // IVG 11 Handler 1265RTI; 1266 1267I12HANDLE: // IVG 12 Handler 1268RTI; 1269 1270I13HANDLE: // IVG 13 Handler 1271RTI; 1272 1273I14HANDLE: // IVG 14 Handler 1274RTI; 1275 1276I15HANDLE: // IVG 15 Handler 1277RTI; 1278 1279 1280 // padding for the icache 1281 1282EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; 1283 1284// 1285// Data Segment 1286// 1287 1288.data 1289DATA: 1290 .space (0x10); 1291 1292// Stack Segments (Both Kernel and User) 1293 1294 .space (STACKSIZE); 1295KSTACK: 1296 1297 .space (STACKSIZE); 1298USTACK: 1299