1*48596154Schristos//Original:/proj/frio/dv/testcases/seq/se_loop_mv2lt_stall/se_loop_mv2lt_stall.dsp 2*48596154Schristos# mach: bfin 3*48596154Schristos# sim: --environment operating 4*48596154Schristos 5*48596154Schristos#include "test.h" 6*48596154Schristos.include "testutils.inc" 7*48596154Schristosstart 8*48596154Schristos 9*48596154Schristos///////////////////////////////////////////////////////////////////////////// 10*48596154Schristos///////////////////////// Include Files ///////////////////////////// 11*48596154Schristos///////////////////////////////////////////////////////////////////////////// 12*48596154Schristos 13*48596154Schristosinclude(std.inc) 14*48596154Schristosinclude(selfcheck.inc) 15*48596154Schristos 16*48596154Schristos///////////////////////////////////////////////////////////////////////////// 17*48596154Schristos///////////////////////// Defines ///////////////////////////// 18*48596154Schristos///////////////////////////////////////////////////////////////////////////// 19*48596154Schristos 20*48596154Schristos#ifndef USER_CODE_SPACE 21*48596154Schristos#define USER_CODE_SPACE 0x00000500 22*48596154Schristos#endif 23*48596154Schristos#ifndef STACKSIZE 24*48596154Schristos#define STACKSIZE 0x00000010 25*48596154Schristos#endif 26*48596154Schristos#ifndef ITABLE 27*48596154Schristos#define ITABLE 0xF0000000 28*48596154Schristos#endif 29*48596154Schristos#ifndef EVT 30*48596154Schristos#define EVT 0xFFE02000 31*48596154Schristos#endif 32*48596154Schristos#ifndef EVT_OVERRIDE 33*48596154Schristos#define EVT_OVERRIDE 0xFFE02100 34*48596154Schristos#endif 35*48596154Schristos#ifndef IMASK 36*48596154Schristos#define IMASK 0xFFE02104 37*48596154Schristos#endif 38*48596154Schristos#ifndef DMEM_CONTROL 39*48596154Schristos#define DMEM_CONTROL 0xFFE00004 40*48596154Schristos#endif 41*48596154Schristos#ifndef DCPLB_ADDR0 42*48596154Schristos#define DCPLB_ADDR0 0xFFE00100 43*48596154Schristos#endif 44*48596154Schristos#ifndef DCPLB_DATA0 45*48596154Schristos#define DCPLB_DATA0 0xFFE00200 46*48596154Schristos#endif 47*48596154Schristos 48*48596154Schristos///////////////////////////////////////////////////////////////////////////// 49*48596154Schristos///////////////////////// RESET ISR ///////////////////////////// 50*48596154Schristos///////////////////////////////////////////////////////////////////////////// 51*48596154Schristos 52*48596154Schristos RST_ISR : 53*48596154Schristos 54*48596154Schristos // Initialize Dregs 55*48596154SchristosINIT_R_REGS(0); 56*48596154Schristos 57*48596154Schristos // Initialize Pregs 58*48596154SchristosINIT_P_REGS(0); 59*48596154Schristos 60*48596154Schristos // Initialize ILBM Registers 61*48596154SchristosINIT_I_REGS(0); 62*48596154SchristosINIT_M_REGS(0); 63*48596154SchristosINIT_L_REGS(0); 64*48596154SchristosINIT_B_REGS(0); 65*48596154Schristos 66*48596154Schristos // Initialize the Address of the Checkreg data segment 67*48596154Schristos // **** THIS IS NEEDED WHENEVER CHECKREG IS USED **** 68*48596154SchristosCHECK_INIT(p5, 0x00BFFFFC); 69*48596154Schristos 70*48596154Schristos // Setup User Stack 71*48596154SchristosLD32_LABEL(sp, USTACK); 72*48596154SchristosUSP = SP; 73*48596154Schristos 74*48596154Schristos // Setup Kernel Stack 75*48596154SchristosLD32_LABEL(sp, KSTACK); 76*48596154Schristos 77*48596154Schristos // Setup Frame Pointer 78*48596154SchristosFP = SP; 79*48596154Schristos 80*48596154Schristos // Setup Event Vector Table 81*48596154SchristosLD32(p0, EVT); 82*48596154Schristos 83*48596154SchristosLD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0) 84*48596154Schristos [ P0 ++ ] = R0; 85*48596154SchristosLD32_LABEL(r0, RST_ISR); // Reset Handler (Int1) 86*48596154Schristos [ P0 ++ ] = R0; 87*48596154SchristosLD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2) 88*48596154Schristos [ P0 ++ ] = R0; 89*48596154SchristosLD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3) 90*48596154Schristos [ P0 ++ ] = R0; 91*48596154Schristos [ P0 ++ ] = R0; // IVT4 not used 92*48596154SchristosLD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5) 93*48596154Schristos [ P0 ++ ] = R0; 94*48596154SchristosLD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6) 95*48596154Schristos [ P0 ++ ] = R0; 96*48596154SchristosLD32_LABEL(r0, IGV7_ISR); // IVG7 Handler 97*48596154Schristos [ P0 ++ ] = R0; 98*48596154SchristosLD32_LABEL(r0, IGV8_ISR); // IVG8 Handler 99*48596154Schristos [ P0 ++ ] = R0; 100*48596154SchristosLD32_LABEL(r0, IGV9_ISR); // IVG9 Handler 101*48596154Schristos [ P0 ++ ] = R0; 102*48596154SchristosLD32_LABEL(r0, IGV10_ISR); // IVG10 Handler 103*48596154Schristos [ P0 ++ ] = R0; 104*48596154SchristosLD32_LABEL(r0, IGV11_ISR); // IVG11 Handler 105*48596154Schristos [ P0 ++ ] = R0; 106*48596154SchristosLD32_LABEL(r0, IGV12_ISR); // IVG12 Handler 107*48596154Schristos [ P0 ++ ] = R0; 108*48596154SchristosLD32_LABEL(r0, IGV13_ISR); // IVG13 Handler 109*48596154Schristos [ P0 ++ ] = R0; 110*48596154SchristosLD32_LABEL(r0, IGV14_ISR); // IVG14 Handler 111*48596154Schristos [ P0 ++ ] = R0; 112*48596154SchristosLD32_LABEL(r0, IGV15_ISR); // IVG15 Handler 113*48596154Schristos [ P0 ++ ] = R0; 114*48596154Schristos 115*48596154Schristos // Setup the EVT_OVERRIDE MMR 116*48596154Schristos R0 = 0; 117*48596154SchristosLD32(p0, EVT_OVERRIDE); 118*48596154Schristos [ P0 ] = R0; 119*48596154Schristos 120*48596154Schristos // Setup Interrupt Mask 121*48596154Schristos R0 = -1; 122*48596154SchristosLD32(p0, IMASK); 123*48596154Schristos [ P0 ] = R0; 124*48596154Schristos 125*48596154Schristos // Return to Supervisor Code 126*48596154SchristosRAISE 15; 127*48596154SchristosNOP; 128*48596154Schristos 129*48596154SchristosLD32_LABEL(r0, USER_CODE); 130*48596154SchristosRETI = R0; 131*48596154SchristosRTI; 132*48596154Schristos 133*48596154Schristos.dw 0xFFFF 134*48596154Schristos.dw 0xFFFF 135*48596154Schristos.dw 0xFFFF 136*48596154Schristos.dw 0xFFFF 137*48596154Schristos.dw 0xFFFF 138*48596154Schristos.dw 0xFFFF 139*48596154Schristos.dw 0xFFFF 140*48596154Schristos 141*48596154Schristos///////////////////////////////////////////////////////////////////////////// 142*48596154Schristos 143*48596154Schristos 144*48596154Schristos///////////////////////////////////////////////////////////////////////////// 145*48596154Schristos///////////////////////// EMU ISR ///////////////////////////// 146*48596154Schristos///////////////////////////////////////////////////////////////////////////// 147*48596154Schristos 148*48596154Schristos EMU_ISR : 149*48596154Schristos 150*48596154SchristosRTE; 151*48596154Schristos 152*48596154Schristos.dw 0xFFFF 153*48596154Schristos.dw 0xFFFF 154*48596154Schristos.dw 0xFFFF 155*48596154Schristos.dw 0xFFFF 156*48596154Schristos.dw 0xFFFF 157*48596154Schristos.dw 0xFFFF 158*48596154Schristos.dw 0xFFFF 159*48596154Schristos 160*48596154Schristos///////////////////////////////////////////////////////////////////////////// 161*48596154Schristos///////////////////////// NMI ISR ///////////////////////////// 162*48596154Schristos///////////////////////////////////////////////////////////////////////////// 163*48596154Schristos 164*48596154Schristos NMI_ISR : 165*48596154Schristos 166*48596154SchristosRTN; 167*48596154Schristos 168*48596154Schristos.dw 0xFFFF 169*48596154Schristos.dw 0xFFFF 170*48596154Schristos.dw 0xFFFF 171*48596154Schristos.dw 0xFFFF 172*48596154Schristos.dw 0xFFFF 173*48596154Schristos.dw 0xFFFF 174*48596154Schristos.dw 0xFFFF 175*48596154Schristos 176*48596154Schristos///////////////////////////////////////////////////////////////////////////// 177*48596154Schristos///////////////////////// EXC ISR ///////////////////////////// 178*48596154Schristos///////////////////////////////////////////////////////////////////////////// 179*48596154Schristos 180*48596154Schristos EXC_ISR : 181*48596154Schristos 182*48596154SchristosRTX; 183*48596154Schristos 184*48596154Schristos.dw 0xFFFF 185*48596154Schristos.dw 0xFFFF 186*48596154Schristos.dw 0xFFFF 187*48596154Schristos.dw 0xFFFF 188*48596154Schristos.dw 0xFFFF 189*48596154Schristos.dw 0xFFFF 190*48596154Schristos.dw 0xFFFF 191*48596154Schristos 192*48596154Schristos///////////////////////////////////////////////////////////////////////////// 193*48596154Schristos///////////////////////// HWE ISR ///////////////////////////// 194*48596154Schristos///////////////////////////////////////////////////////////////////////////// 195*48596154Schristos 196*48596154Schristos HWE_ISR : 197*48596154Schristos 198*48596154SchristosRTI; 199*48596154Schristos 200*48596154Schristos.dw 0xFFFF 201*48596154Schristos.dw 0xFFFF 202*48596154Schristos.dw 0xFFFF 203*48596154Schristos.dw 0xFFFF 204*48596154Schristos.dw 0xFFFF 205*48596154Schristos.dw 0xFFFF 206*48596154Schristos.dw 0xFFFF 207*48596154Schristos 208*48596154Schristos///////////////////////////////////////////////////////////////////////////// 209*48596154Schristos///////////////////////// TMR ISR ///////////////////////////// 210*48596154Schristos///////////////////////////////////////////////////////////////////////////// 211*48596154Schristos 212*48596154Schristos TMR_ISR : 213*48596154Schristos 214*48596154SchristosRTI; 215*48596154Schristos 216*48596154Schristos.dw 0xFFFF 217*48596154Schristos.dw 0xFFFF 218*48596154Schristos.dw 0xFFFF 219*48596154Schristos.dw 0xFFFF 220*48596154Schristos.dw 0xFFFF 221*48596154Schristos.dw 0xFFFF 222*48596154Schristos.dw 0xFFFF 223*48596154Schristos 224*48596154Schristos///////////////////////////////////////////////////////////////////////////// 225*48596154Schristos///////////////////////// IGV7 ISR ///////////////////////////// 226*48596154Schristos///////////////////////////////////////////////////////////////////////////// 227*48596154Schristos 228*48596154Schristos IGV7_ISR : 229*48596154Schristos 230*48596154SchristosRTI; 231*48596154Schristos 232*48596154Schristos.dw 0xFFFF 233*48596154Schristos.dw 0xFFFF 234*48596154Schristos.dw 0xFFFF 235*48596154Schristos.dw 0xFFFF 236*48596154Schristos.dw 0xFFFF 237*48596154Schristos.dw 0xFFFF 238*48596154Schristos.dw 0xFFFF 239*48596154Schristos 240*48596154Schristos///////////////////////////////////////////////////////////////////////////// 241*48596154Schristos///////////////////////// IGV8 ISR ///////////////////////////// 242*48596154Schristos///////////////////////////////////////////////////////////////////////////// 243*48596154Schristos 244*48596154Schristos IGV8_ISR : 245*48596154Schristos 246*48596154SchristosRTI; 247*48596154Schristos 248*48596154Schristos.dw 0xFFFF 249*48596154Schristos.dw 0xFFFF 250*48596154Schristos.dw 0xFFFF 251*48596154Schristos.dw 0xFFFF 252*48596154Schristos.dw 0xFFFF 253*48596154Schristos.dw 0xFFFF 254*48596154Schristos.dw 0xFFFF 255*48596154Schristos 256*48596154Schristos///////////////////////////////////////////////////////////////////////////// 257*48596154Schristos///////////////////////// IGV9 ISR ///////////////////////////// 258*48596154Schristos///////////////////////////////////////////////////////////////////////////// 259*48596154Schristos 260*48596154Schristos IGV9_ISR : 261*48596154Schristos 262*48596154SchristosRTI; 263*48596154Schristos 264*48596154Schristos.dw 0xFFFF 265*48596154Schristos.dw 0xFFFF 266*48596154Schristos.dw 0xFFFF 267*48596154Schristos.dw 0xFFFF 268*48596154Schristos.dw 0xFFFF 269*48596154Schristos.dw 0xFFFF 270*48596154Schristos.dw 0xFFFF 271*48596154Schristos 272*48596154Schristos///////////////////////////////////////////////////////////////////////////// 273*48596154Schristos///////////////////////// IGV10 ISR ///////////////////////////// 274*48596154Schristos///////////////////////////////////////////////////////////////////////////// 275*48596154Schristos 276*48596154Schristos IGV10_ISR : 277*48596154Schristos 278*48596154SchristosRTI; 279*48596154Schristos 280*48596154Schristos.dw 0xFFFF 281*48596154Schristos.dw 0xFFFF 282*48596154Schristos.dw 0xFFFF 283*48596154Schristos.dw 0xFFFF 284*48596154Schristos.dw 0xFFFF 285*48596154Schristos.dw 0xFFFF 286*48596154Schristos.dw 0xFFFF 287*48596154Schristos 288*48596154Schristos///////////////////////////////////////////////////////////////////////////// 289*48596154Schristos///////////////////////// IGV11 ISR ///////////////////////////// 290*48596154Schristos///////////////////////////////////////////////////////////////////////////// 291*48596154Schristos 292*48596154Schristos IGV11_ISR : 293*48596154Schristos 294*48596154SchristosRTI; 295*48596154Schristos 296*48596154Schristos.dw 0xFFFF 297*48596154Schristos.dw 0xFFFF 298*48596154Schristos.dw 0xFFFF 299*48596154Schristos.dw 0xFFFF 300*48596154Schristos.dw 0xFFFF 301*48596154Schristos.dw 0xFFFF 302*48596154Schristos.dw 0xFFFF 303*48596154Schristos 304*48596154Schristos///////////////////////////////////////////////////////////////////////////// 305*48596154Schristos///////////////////////// IGV12 ISR ///////////////////////////// 306*48596154Schristos///////////////////////////////////////////////////////////////////////////// 307*48596154Schristos 308*48596154Schristos IGV12_ISR : 309*48596154Schristos 310*48596154SchristosRTI; 311*48596154Schristos 312*48596154Schristos.dw 0xFFFF 313*48596154Schristos.dw 0xFFFF 314*48596154Schristos.dw 0xFFFF 315*48596154Schristos.dw 0xFFFF 316*48596154Schristos.dw 0xFFFF 317*48596154Schristos.dw 0xFFFF 318*48596154Schristos.dw 0xFFFF 319*48596154Schristos 320*48596154Schristos///////////////////////////////////////////////////////////////////////////// 321*48596154Schristos///////////////////////// IGV13 ISR ///////////////////////////// 322*48596154Schristos///////////////////////////////////////////////////////////////////////////// 323*48596154Schristos 324*48596154Schristos IGV13_ISR : 325*48596154Schristos 326*48596154SchristosRTI; 327*48596154Schristos 328*48596154Schristos.dw 0xFFFF 329*48596154Schristos.dw 0xFFFF 330*48596154Schristos.dw 0xFFFF 331*48596154Schristos.dw 0xFFFF 332*48596154Schristos.dw 0xFFFF 333*48596154Schristos.dw 0xFFFF 334*48596154Schristos.dw 0xFFFF 335*48596154Schristos 336*48596154Schristos///////////////////////////////////////////////////////////////////////////// 337*48596154Schristos///////////////////////// IGV14 ISR ///////////////////////////// 338*48596154Schristos///////////////////////////////////////////////////////////////////////////// 339*48596154Schristos 340*48596154Schristos IGV14_ISR : 341*48596154Schristos 342*48596154SchristosRTI; 343*48596154Schristos 344*48596154Schristos.dw 0xFFFF 345*48596154Schristos.dw 0xFFFF 346*48596154Schristos.dw 0xFFFF 347*48596154Schristos.dw 0xFFFF 348*48596154Schristos.dw 0xFFFF 349*48596154Schristos.dw 0xFFFF 350*48596154Schristos.dw 0xFFFF 351*48596154Schristos 352*48596154Schristos///////////////////////////////////////////////////////////////////////////// 353*48596154Schristos///////////////////////// IGV15 ISR ///////////////////////////// 354*48596154Schristos///////////////////////////////////////////////////////////////////////////// 355*48596154Schristos 356*48596154Schristos IGV15_ISR : 357*48596154Schristos 358*48596154Schristos P0 = 0x5 (Z); 359*48596154Schristos P1 = 0x3 (Z); 360*48596154Schristos P2 = 0x0100 (Z); 361*48596154Schristos P2.H = 0x00f0; 362*48596154Schristos 363*48596154Schristos // Loop 0 364*48596154SchristosLD32_LABEL(r0, L0T); 365*48596154SchristosLD32_LABEL(r1, L0B); 366*48596154SchristosLC0 = p1; 367*48596154SchristosLB0 = r1; 368*48596154Schristos R5 = [ P2 ++ ]; 369*48596154SchristosLT0 = r0; 370*48596154SchristosL0T:R3 += 4; 371*48596154Schristos R2 += 3; 372*48596154Schristos R4 += 5; 373*48596154Schristos R5 += 6; 374*48596154Schristos R6 += 7; 375*48596154SchristosL0B:R7 += 8; 376*48596154Schristos 377*48596154Schristos // Loop 0 378*48596154SchristosLD32_LABEL(r0, L1T); 379*48596154SchristosLD32_LABEL(r1, L1B); 380*48596154SchristosLB0 = r1; 381*48596154SchristosLC0 = p1; 382*48596154Schristos R5 = [ P2 ++ ]; 383*48596154SchristosNOP; 384*48596154SchristosLT0 = r0; 385*48596154SchristosL1T:R4 += 5; 386*48596154Schristos R2 += 3; 387*48596154Schristos R3 += 4; 388*48596154Schristos R5 += 6; 389*48596154Schristos R6 += 7; 390*48596154SchristosL1B:R7 += 8; 391*48596154Schristos 392*48596154Schristos // Loop 0 393*48596154SchristosLD32_LABEL(r0, L2T); 394*48596154SchristosLD32_LABEL(r1, L2B); 395*48596154SchristosLB0 = r1; 396*48596154SchristosLC0 = p1; 397*48596154Schristos R5 = [ P2 ++ ]; 398*48596154SchristosNOP; 399*48596154SchristosNOP; 400*48596154SchristosLT0 = r0; 401*48596154SchristosL2T:R5 += 6; 402*48596154Schristos R2 += 3; 403*48596154Schristos R3 += 4; 404*48596154Schristos R4 += 5; 405*48596154Schristos R6 += 7; 406*48596154SchristosL2B:R7 += 8; 407*48596154Schristos 408*48596154Schristos // Loop 0 409*48596154SchristosLD32_LABEL(r0, L3T); 410*48596154SchristosLD32_LABEL(r1, L3B); 411*48596154SchristosLB0 = r1; 412*48596154SchristosLC0 = p1; 413*48596154Schristos R5 = [ P2 ++ ]; 414*48596154SchristosNOP; 415*48596154SchristosNOP; 416*48596154SchristosNOP; 417*48596154SchristosLT0 = r0; 418*48596154SchristosL3T:R2 += 3; 419*48596154Schristos R5 += 6; 420*48596154Schristos R6 += 7; 421*48596154Schristos R3 += 4; 422*48596154Schristos R4 += 5; 423*48596154SchristosL3B:R7 += 8; 424*48596154Schristos 425*48596154Schristos // Loop 0 426*48596154SchristosLD32_LABEL(r0, L4T); 427*48596154SchristosLD32_LABEL(r1, L4B); 428*48596154SchristosLB0 = r1; 429*48596154SchristosLC0 = p1; 430*48596154Schristos R5 = [ P2 ++ ]; 431*48596154SchristosNOP; 432*48596154SchristosNOP; 433*48596154SchristosNOP; 434*48596154SchristosNOP; 435*48596154SchristosLT0 = r0; 436*48596154SchristosL4T:R2 += 3; 437*48596154Schristos R3 += 4; 438*48596154Schristos R5 += 6; 439*48596154Schristos R6 += 7; 440*48596154Schristos R4 += 5; 441*48596154SchristosL4B:R7 += 8; 442*48596154Schristos 443*48596154Schristos // Loop 0 444*48596154SchristosLD32_LABEL(r0, L5T); 445*48596154SchristosLD32_LABEL(r1, L5B); 446*48596154Schristos [ -- SP ] = R0; 447*48596154SchristosSSYNC; 448*48596154SchristosLB0 = r1; 449*48596154SchristosLC0 = p0; 450*48596154Schristos R5 = [ P2 ++ ]; 451*48596154SchristosLT0 = [sp++]; 452*48596154SchristosL5T:R2 += 3; 453*48596154Schristos R3 += 4; 454*48596154Schristos R5 += 6; 455*48596154Schristos R6 += 7; 456*48596154Schristos R4 += 5; 457*48596154SchristosL5B:R7 += 8; 458*48596154Schristos 459*48596154Schristos 460*48596154Schristos // Loop 1 461*48596154SchristosLD32_LABEL(r0, M0T); 462*48596154SchristosLD32_LABEL(r1, M0B); 463*48596154SchristosLB1 = r1; 464*48596154SchristosLC1 = p1; 465*48596154Schristos R5 = [ P2 ++ ]; 466*48596154SchristosLT1 = r0; 467*48596154SchristosM0T:R3 += 4; 468*48596154Schristos R2 += 3; 469*48596154Schristos R4 += 5; 470*48596154Schristos R5 += 6; 471*48596154Schristos R6 += 7; 472*48596154SchristosM0B:R7 += 8; 473*48596154Schristos 474*48596154Schristos // Loop 1 475*48596154SchristosLD32_LABEL(r0, M1T); 476*48596154SchristosLD32_LABEL(r1, M1B); 477*48596154SchristosLB1 = r1; 478*48596154SchristosLC1 = p1; 479*48596154Schristos R5 = [ P2 ++ ]; 480*48596154SchristosNOP; 481*48596154SchristosLT1 = r0; 482*48596154SchristosM1T:R4 += 5; 483*48596154Schristos R2 += 3; 484*48596154Schristos R3 += 4; 485*48596154Schristos R5 += 6; 486*48596154Schristos R6 += 7; 487*48596154SchristosM1B:R7 += 8; 488*48596154Schristos 489*48596154Schristos // Loop 1 490*48596154SchristosLD32_LABEL(r0, M2T); 491*48596154SchristosLD32_LABEL(r1, M2B); 492*48596154SchristosLB1 = r1; 493*48596154SchristosLC1 = p1; 494*48596154Schristos R5 = [ P2 ++ ]; 495*48596154SchristosNOP; 496*48596154SchristosNOP; 497*48596154SchristosLT1 = r0; 498*48596154SchristosM2T:R5 += 6; 499*48596154Schristos R2 += 3; 500*48596154Schristos R3 += 4; 501*48596154Schristos R4 += 5; 502*48596154Schristos R6 += 7; 503*48596154SchristosM2B:R7 += 8; 504*48596154Schristos 505*48596154Schristos // Loop 1 506*48596154SchristosLD32_LABEL(r0, M3T); 507*48596154SchristosLD32_LABEL(r1, M3B); 508*48596154SchristosLB1 = r1; 509*48596154SchristosLC1 = p1; 510*48596154Schristos R5 = [ P2 ++ ]; 511*48596154SchristosNOP; 512*48596154SchristosNOP; 513*48596154SchristosNOP; 514*48596154SchristosLT1 = r0; 515*48596154SchristosM3T:R2 += 3; 516*48596154Schristos R5 += 6; 517*48596154Schristos R6 += 7; 518*48596154Schristos R3 += 4; 519*48596154Schristos R4 += 5; 520*48596154SchristosM3B:R7 += 8; 521*48596154Schristos 522*48596154Schristos // Loop 1 523*48596154SchristosLD32_LABEL(r0, M4T); 524*48596154SchristosLD32_LABEL(r1, M4B); 525*48596154SchristosLB1 = r1; 526*48596154SchristosLC1 = p1; 527*48596154Schristos R5 = [ P2 ++ ]; 528*48596154SchristosNOP; 529*48596154SchristosNOP; 530*48596154SchristosNOP; 531*48596154SchristosNOP; 532*48596154SchristosLT1 = r0; 533*48596154SchristosM4T:R2 += 3; 534*48596154Schristos R3 += 4; 535*48596154Schristos R5 += 6; 536*48596154Schristos R6 += 7; 537*48596154Schristos R4 += 5; 538*48596154SchristosM4B:R7 += 8; 539*48596154Schristos 540*48596154Schristos // Loop 1 541*48596154SchristosLD32_LABEL(r0, M5T); 542*48596154SchristosLD32_LABEL(r1, M5B); 543*48596154Schristos [ -- SP ] = R0; 544*48596154SchristosSSYNC; 545*48596154SchristosLB1 = r1; 546*48596154SchristosLC1 = p0; 547*48596154Schristos R5 = [ P2 ++ ]; 548*48596154SchristosLT1 = [sp++]; 549*48596154SchristosM5T:R2 += 3; 550*48596154Schristos R3 += 4; 551*48596154Schristos R5 += 6; 552*48596154Schristos R6 += 7; 553*48596154Schristos R4 += 5; 554*48596154SchristosM5B:R7 += 8; 555*48596154Schristos 556*48596154SchristosNOP; 557*48596154SchristosNOP; 558*48596154SchristosRTI; 559*48596154Schristos 560*48596154Schristos.dw 0xFFFF 561*48596154Schristos.dw 0xFFFF 562*48596154Schristos.dw 0xFFFF 563*48596154Schristos.dw 0xFFFF 564*48596154Schristos.dw 0xFFFF 565*48596154Schristos.dw 0xFFFF 566*48596154Schristos.dw 0xFFFF 567*48596154Schristos 568*48596154Schristos///////////////////////////////////////////////////////////////////////////// 569*48596154Schristos///////////////////////// USER CODE ///////////////////////////// 570*48596154Schristos///////////////////////////////////////////////////////////////////////////// 571*48596154Schristos 572*48596154Schristos 573*48596154Schristos USER_CODE : 574*48596154Schristos 575*48596154SchristosNOP; 576*48596154SchristosNOP; 577*48596154SchristosNOP; 578*48596154SchristosNOP; 579*48596154Schristosdbg_pass; // Call Endtest Macro 580*48596154Schristos 581*48596154Schristos///////////////////////////////////////////////////////////////////////////// 582*48596154Schristos///////////////////////// DATA MEMRORY ///////////////////////////// 583*48596154Schristos///////////////////////////////////////////////////////////////////////////// 584*48596154Schristos 585*48596154Schristos.section MEM_0x00F00100,"aw" 586*48596154Schristos.dd 0x01010101; 587*48596154Schristos.dd 0x02020202; 588*48596154Schristos.dd 0x03030303; 589*48596154Schristos.dd 0x04040404; 590*48596154Schristos.dd 0x05050505; 591*48596154Schristos.dd 0x06060606; 592*48596154Schristos.dd 0x07070707; 593*48596154Schristos.dd 0x08080808; 594*48596154Schristos.dd 0x09090909; 595*48596154Schristos.dd 0x0a0a0a0a; 596*48596154Schristos.dd 0x0b0b0b0b; 597*48596154Schristos.dd 0x0c0c0c0c; 598*48596154Schristos.dd 0x0d0d0d0d; 599*48596154Schristos.dd 0x0e0e0e0e; 600*48596154Schristos.dd 0x0f0f0f0f; 601*48596154Schristos 602*48596154Schristos// Define Kernal Stack 603*48596154Schristos.section MEM_0x00F00210,"aw" 604*48596154Schristos .space (STACKSIZE); 605*48596154Schristos KSTACK : 606*48596154Schristos 607*48596154Schristos .space (STACKSIZE); 608*48596154Schristos USTACK : 609*48596154Schristos 610*48596154Schristos///////////////////////////////////////////////////////////////////////////// 611*48596154Schristos///////////////////////// END OF TEST ///////////////////////////// 612*48596154Schristos///////////////////////////////////////////////////////////////////////////// 613