1*6ca2c52aSchristos//Original:/proj/frio/dv/testcases/seq/se_loop_mv2lc/se_loop_mv2lc.dsp 2*6ca2c52aSchristos# mach: bfin 3*6ca2c52aSchristos# sim: --environment operating 4*6ca2c52aSchristos 5*6ca2c52aSchristos#include "test.h" 6*6ca2c52aSchristos.include "testutils.inc" 7*6ca2c52aSchristosstart 8*6ca2c52aSchristos 9*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 10*6ca2c52aSchristos///////////////////////// Include Files ///////////////////////////// 11*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 12*6ca2c52aSchristos 13*6ca2c52aSchristosinclude(std.inc) 14*6ca2c52aSchristosinclude(selfcheck.inc) 15*6ca2c52aSchristosinclude(symtable.inc) 16*6ca2c52aSchristosinclude(mmrs.inc) 17*6ca2c52aSchristos 18*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 19*6ca2c52aSchristos///////////////////////// Defines ///////////////////////////// 20*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 21*6ca2c52aSchristos 22*6ca2c52aSchristos#ifndef USER_CODE_SPACE 23*6ca2c52aSchristos#define USER_CODE_SPACE CODE_ADDR_1 // 24*6ca2c52aSchristos#endif 25*6ca2c52aSchristos#ifndef STACKSIZE 26*6ca2c52aSchristos#define STACKSIZE 0x00000010 27*6ca2c52aSchristos#endif 28*6ca2c52aSchristos#ifndef ITABLE 29*6ca2c52aSchristos#define ITABLE CODE_ADDR_2 // 30*6ca2c52aSchristos#endif 31*6ca2c52aSchristos 32*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 33*6ca2c52aSchristos///////////////////////// RESET ISR ///////////////////////////// 34*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 35*6ca2c52aSchristos 36*6ca2c52aSchristos RST_ISR : 37*6ca2c52aSchristos 38*6ca2c52aSchristos // Initialize Dregs 39*6ca2c52aSchristosINIT_R_REGS(0); 40*6ca2c52aSchristos 41*6ca2c52aSchristos // Initialize Pregs 42*6ca2c52aSchristosINIT_P_REGS(0); 43*6ca2c52aSchristos 44*6ca2c52aSchristos // Initialize ILBM Registers 45*6ca2c52aSchristosINIT_I_REGS(0); 46*6ca2c52aSchristosINIT_M_REGS(0); 47*6ca2c52aSchristosINIT_L_REGS(0); 48*6ca2c52aSchristosINIT_B_REGS(0); 49*6ca2c52aSchristos 50*6ca2c52aSchristos // Initialize the Address of the Checkreg data segment 51*6ca2c52aSchristos // **** THIS IS NEEDED WHENEVER CHECKREG IS USED **** 52*6ca2c52aSchristosCHECK_INIT_DEF(p5); //CHECK_INIT(p5, 0x00BFFFFC); 53*6ca2c52aSchristos 54*6ca2c52aSchristos // Setup User Stack 55*6ca2c52aSchristosLD32_LABEL(sp, USTACK); 56*6ca2c52aSchristosUSP = SP; 57*6ca2c52aSchristos 58*6ca2c52aSchristos // Setup Kernel Stack 59*6ca2c52aSchristosLD32_LABEL(sp, KSTACK); 60*6ca2c52aSchristos 61*6ca2c52aSchristos // Setup Frame Pointer 62*6ca2c52aSchristosFP = SP; 63*6ca2c52aSchristos 64*6ca2c52aSchristos // Setup Event Vector Table 65*6ca2c52aSchristosLD32(p0, EVT0); 66*6ca2c52aSchristos 67*6ca2c52aSchristosLD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0) 68*6ca2c52aSchristos [ P0 ++ ] = R0; 69*6ca2c52aSchristosLD32_LABEL(r0, RST_ISR); // Reset Handler (Int1) 70*6ca2c52aSchristos [ P0 ++ ] = R0; 71*6ca2c52aSchristosLD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2) 72*6ca2c52aSchristos [ P0 ++ ] = R0; 73*6ca2c52aSchristosLD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3) 74*6ca2c52aSchristos [ P0 ++ ] = R0; 75*6ca2c52aSchristos [ P0 ++ ] = R0; // IVT4 not used 76*6ca2c52aSchristosLD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5) 77*6ca2c52aSchristos [ P0 ++ ] = R0; 78*6ca2c52aSchristosLD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6) 79*6ca2c52aSchristos [ P0 ++ ] = R0; 80*6ca2c52aSchristosLD32_LABEL(r0, IGV7_ISR); // IVG7 Handler 81*6ca2c52aSchristos [ P0 ++ ] = R0; 82*6ca2c52aSchristosLD32_LABEL(r0, IGV8_ISR); // IVG8 Handler 83*6ca2c52aSchristos [ P0 ++ ] = R0; 84*6ca2c52aSchristosLD32_LABEL(r0, IGV9_ISR); // IVG9 Handler 85*6ca2c52aSchristos [ P0 ++ ] = R0; 86*6ca2c52aSchristosLD32_LABEL(r0, IGV10_ISR); // IVG10 Handler 87*6ca2c52aSchristos [ P0 ++ ] = R0; 88*6ca2c52aSchristosLD32_LABEL(r0, IGV11_ISR); // IVG11 Handler 89*6ca2c52aSchristos [ P0 ++ ] = R0; 90*6ca2c52aSchristosLD32_LABEL(r0, IGV12_ISR); // IVG12 Handler 91*6ca2c52aSchristos [ P0 ++ ] = R0; 92*6ca2c52aSchristosLD32_LABEL(r0, IGV13_ISR); // IVG13 Handler 93*6ca2c52aSchristos [ P0 ++ ] = R0; 94*6ca2c52aSchristosLD32_LABEL(r0, IGV14_ISR); // IVG14 Handler 95*6ca2c52aSchristos [ P0 ++ ] = R0; 96*6ca2c52aSchristosLD32_LABEL(r0, IGV15_ISR); // IVG15 Handler 97*6ca2c52aSchristos [ P0 ++ ] = R0; 98*6ca2c52aSchristos 99*6ca2c52aSchristos // Setup the EVT_OVERRIDE MMR 100*6ca2c52aSchristos R0 = 0; 101*6ca2c52aSchristosLD32(p0, EVT_OVERRIDE); 102*6ca2c52aSchristos [ P0 ] = R0; 103*6ca2c52aSchristos 104*6ca2c52aSchristos // Setup Interrupt Mask 105*6ca2c52aSchristos R0 = -1; 106*6ca2c52aSchristosLD32(p0, IMASK); 107*6ca2c52aSchristos [ P0 ] = R0; 108*6ca2c52aSchristos 109*6ca2c52aSchristos // Return to Supervisor Code 110*6ca2c52aSchristosRAISE 15; 111*6ca2c52aSchristosNOP; 112*6ca2c52aSchristos 113*6ca2c52aSchristosLD32_LABEL(r0, USER_CODE); 114*6ca2c52aSchristosRETI = R0; 115*6ca2c52aSchristosRTI; 116*6ca2c52aSchristos 117*6ca2c52aSchristos.dw 0xFFFF 118*6ca2c52aSchristos.dw 0xFFFF 119*6ca2c52aSchristos.dw 0xFFFF 120*6ca2c52aSchristos.dw 0xFFFF 121*6ca2c52aSchristos.dw 0xFFFF 122*6ca2c52aSchristos.dw 0xFFFF 123*6ca2c52aSchristos.dw 0xFFFF 124*6ca2c52aSchristos 125*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 126*6ca2c52aSchristos 127*6ca2c52aSchristos 128*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 129*6ca2c52aSchristos///////////////////////// EMU ISR ///////////////////////////// 130*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 131*6ca2c52aSchristos 132*6ca2c52aSchristos EMU_ISR : 133*6ca2c52aSchristos 134*6ca2c52aSchristosRTE; 135*6ca2c52aSchristos 136*6ca2c52aSchristos.dw 0xFFFF 137*6ca2c52aSchristos.dw 0xFFFF 138*6ca2c52aSchristos.dw 0xFFFF 139*6ca2c52aSchristos.dw 0xFFFF 140*6ca2c52aSchristos.dw 0xFFFF 141*6ca2c52aSchristos.dw 0xFFFF 142*6ca2c52aSchristos.dw 0xFFFF 143*6ca2c52aSchristos 144*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 145*6ca2c52aSchristos///////////////////////// NMI ISR ///////////////////////////// 146*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 147*6ca2c52aSchristos 148*6ca2c52aSchristos NMI_ISR : 149*6ca2c52aSchristos 150*6ca2c52aSchristosRTN; 151*6ca2c52aSchristos 152*6ca2c52aSchristos.dw 0xFFFF 153*6ca2c52aSchristos.dw 0xFFFF 154*6ca2c52aSchristos.dw 0xFFFF 155*6ca2c52aSchristos.dw 0xFFFF 156*6ca2c52aSchristos.dw 0xFFFF 157*6ca2c52aSchristos.dw 0xFFFF 158*6ca2c52aSchristos.dw 0xFFFF 159*6ca2c52aSchristos 160*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 161*6ca2c52aSchristos///////////////////////// EXC ISR ///////////////////////////// 162*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 163*6ca2c52aSchristos 164*6ca2c52aSchristos EXC_ISR : 165*6ca2c52aSchristos 166*6ca2c52aSchristosRTX; 167*6ca2c52aSchristos 168*6ca2c52aSchristos.dw 0xFFFF 169*6ca2c52aSchristos.dw 0xFFFF 170*6ca2c52aSchristos.dw 0xFFFF 171*6ca2c52aSchristos.dw 0xFFFF 172*6ca2c52aSchristos.dw 0xFFFF 173*6ca2c52aSchristos.dw 0xFFFF 174*6ca2c52aSchristos.dw 0xFFFF 175*6ca2c52aSchristos 176*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 177*6ca2c52aSchristos///////////////////////// HWE ISR ///////////////////////////// 178*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 179*6ca2c52aSchristos 180*6ca2c52aSchristos HWE_ISR : 181*6ca2c52aSchristos 182*6ca2c52aSchristosRTI; 183*6ca2c52aSchristos 184*6ca2c52aSchristos.dw 0xFFFF 185*6ca2c52aSchristos.dw 0xFFFF 186*6ca2c52aSchristos.dw 0xFFFF 187*6ca2c52aSchristos.dw 0xFFFF 188*6ca2c52aSchristos.dw 0xFFFF 189*6ca2c52aSchristos.dw 0xFFFF 190*6ca2c52aSchristos.dw 0xFFFF 191*6ca2c52aSchristos 192*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 193*6ca2c52aSchristos///////////////////////// TMR ISR ///////////////////////////// 194*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 195*6ca2c52aSchristos 196*6ca2c52aSchristos TMR_ISR : 197*6ca2c52aSchristos 198*6ca2c52aSchristosRTI; 199*6ca2c52aSchristos 200*6ca2c52aSchristos.dw 0xFFFF 201*6ca2c52aSchristos.dw 0xFFFF 202*6ca2c52aSchristos.dw 0xFFFF 203*6ca2c52aSchristos.dw 0xFFFF 204*6ca2c52aSchristos.dw 0xFFFF 205*6ca2c52aSchristos.dw 0xFFFF 206*6ca2c52aSchristos.dw 0xFFFF 207*6ca2c52aSchristos 208*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 209*6ca2c52aSchristos///////////////////////// IGV7 ISR ///////////////////////////// 210*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 211*6ca2c52aSchristos 212*6ca2c52aSchristos IGV7_ISR : 213*6ca2c52aSchristos 214*6ca2c52aSchristosRTI; 215*6ca2c52aSchristos 216*6ca2c52aSchristos.dw 0xFFFF 217*6ca2c52aSchristos.dw 0xFFFF 218*6ca2c52aSchristos.dw 0xFFFF 219*6ca2c52aSchristos.dw 0xFFFF 220*6ca2c52aSchristos.dw 0xFFFF 221*6ca2c52aSchristos.dw 0xFFFF 222*6ca2c52aSchristos.dw 0xFFFF 223*6ca2c52aSchristos 224*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 225*6ca2c52aSchristos///////////////////////// IGV8 ISR ///////////////////////////// 226*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 227*6ca2c52aSchristos 228*6ca2c52aSchristos IGV8_ISR : 229*6ca2c52aSchristos 230*6ca2c52aSchristosRTI; 231*6ca2c52aSchristos 232*6ca2c52aSchristos.dw 0xFFFF 233*6ca2c52aSchristos.dw 0xFFFF 234*6ca2c52aSchristos.dw 0xFFFF 235*6ca2c52aSchristos.dw 0xFFFF 236*6ca2c52aSchristos.dw 0xFFFF 237*6ca2c52aSchristos.dw 0xFFFF 238*6ca2c52aSchristos.dw 0xFFFF 239*6ca2c52aSchristos 240*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 241*6ca2c52aSchristos///////////////////////// IGV9 ISR ///////////////////////////// 242*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 243*6ca2c52aSchristos 244*6ca2c52aSchristos IGV9_ISR : 245*6ca2c52aSchristos 246*6ca2c52aSchristosRTI; 247*6ca2c52aSchristos 248*6ca2c52aSchristos.dw 0xFFFF 249*6ca2c52aSchristos.dw 0xFFFF 250*6ca2c52aSchristos.dw 0xFFFF 251*6ca2c52aSchristos.dw 0xFFFF 252*6ca2c52aSchristos.dw 0xFFFF 253*6ca2c52aSchristos.dw 0xFFFF 254*6ca2c52aSchristos.dw 0xFFFF 255*6ca2c52aSchristos 256*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 257*6ca2c52aSchristos///////////////////////// IGV10 ISR ///////////////////////////// 258*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 259*6ca2c52aSchristos 260*6ca2c52aSchristos IGV10_ISR : 261*6ca2c52aSchristos 262*6ca2c52aSchristosRTI; 263*6ca2c52aSchristos 264*6ca2c52aSchristos.dw 0xFFFF 265*6ca2c52aSchristos.dw 0xFFFF 266*6ca2c52aSchristos.dw 0xFFFF 267*6ca2c52aSchristos.dw 0xFFFF 268*6ca2c52aSchristos.dw 0xFFFF 269*6ca2c52aSchristos.dw 0xFFFF 270*6ca2c52aSchristos.dw 0xFFFF 271*6ca2c52aSchristos 272*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 273*6ca2c52aSchristos///////////////////////// IGV11 ISR ///////////////////////////// 274*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 275*6ca2c52aSchristos 276*6ca2c52aSchristos IGV11_ISR : 277*6ca2c52aSchristos 278*6ca2c52aSchristosRTI; 279*6ca2c52aSchristos 280*6ca2c52aSchristos.dw 0xFFFF 281*6ca2c52aSchristos.dw 0xFFFF 282*6ca2c52aSchristos.dw 0xFFFF 283*6ca2c52aSchristos.dw 0xFFFF 284*6ca2c52aSchristos.dw 0xFFFF 285*6ca2c52aSchristos.dw 0xFFFF 286*6ca2c52aSchristos.dw 0xFFFF 287*6ca2c52aSchristos 288*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 289*6ca2c52aSchristos///////////////////////// IGV12 ISR ///////////////////////////// 290*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 291*6ca2c52aSchristos 292*6ca2c52aSchristos IGV12_ISR : 293*6ca2c52aSchristos 294*6ca2c52aSchristosRTI; 295*6ca2c52aSchristos 296*6ca2c52aSchristos.dw 0xFFFF 297*6ca2c52aSchristos.dw 0xFFFF 298*6ca2c52aSchristos.dw 0xFFFF 299*6ca2c52aSchristos.dw 0xFFFF 300*6ca2c52aSchristos.dw 0xFFFF 301*6ca2c52aSchristos.dw 0xFFFF 302*6ca2c52aSchristos.dw 0xFFFF 303*6ca2c52aSchristos 304*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 305*6ca2c52aSchristos///////////////////////// IGV13 ISR ///////////////////////////// 306*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 307*6ca2c52aSchristos 308*6ca2c52aSchristos IGV13_ISR : 309*6ca2c52aSchristos 310*6ca2c52aSchristosRTI; 311*6ca2c52aSchristos 312*6ca2c52aSchristos.dw 0xFFFF 313*6ca2c52aSchristos.dw 0xFFFF 314*6ca2c52aSchristos.dw 0xFFFF 315*6ca2c52aSchristos.dw 0xFFFF 316*6ca2c52aSchristos.dw 0xFFFF 317*6ca2c52aSchristos.dw 0xFFFF 318*6ca2c52aSchristos.dw 0xFFFF 319*6ca2c52aSchristos 320*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 321*6ca2c52aSchristos///////////////////////// IGV14 ISR ///////////////////////////// 322*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 323*6ca2c52aSchristos 324*6ca2c52aSchristos IGV14_ISR : 325*6ca2c52aSchristos 326*6ca2c52aSchristosRTI; 327*6ca2c52aSchristos 328*6ca2c52aSchristos.dw 0xFFFF 329*6ca2c52aSchristos.dw 0xFFFF 330*6ca2c52aSchristos.dw 0xFFFF 331*6ca2c52aSchristos.dw 0xFFFF 332*6ca2c52aSchristos.dw 0xFFFF 333*6ca2c52aSchristos.dw 0xFFFF 334*6ca2c52aSchristos.dw 0xFFFF 335*6ca2c52aSchristos 336*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 337*6ca2c52aSchristos///////////////////////// IGV15 ISR ///////////////////////////// 338*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 339*6ca2c52aSchristos 340*6ca2c52aSchristos IGV15_ISR : 341*6ca2c52aSchristos 342*6ca2c52aSchristos P0 = 0x5 (Z); 343*6ca2c52aSchristos P1 = 0x3 (Z); 344*6ca2c52aSchristos 345*6ca2c52aSchristos // Loop 0 346*6ca2c52aSchristosLD32_LABEL(r0, L0T); 347*6ca2c52aSchristosLD32_LABEL(r1, L0B); 348*6ca2c52aSchristosLT0 = r0; 349*6ca2c52aSchristosLB0 = r1; 350*6ca2c52aSchristos 351*6ca2c52aSchristosLC0 = P0; 352*6ca2c52aSchristosNOP; 353*6ca2c52aSchristosJUMP.S 2; 354*6ca2c52aSchristos 355*6ca2c52aSchristosJUMP.S 6; 356*6ca2c52aSchristosNOP; 357*6ca2c52aSchristosLC0 = P0; 358*6ca2c52aSchristosLC0 = P1; 359*6ca2c52aSchristosL0T:R2 += 3; 360*6ca2c52aSchristos R3 += 4; 361*6ca2c52aSchristos R4 += 5; 362*6ca2c52aSchristos R5 += 6; 363*6ca2c52aSchristos R6 += 7; 364*6ca2c52aSchristosL0B:R7 += 8; 365*6ca2c52aSchristos 366*6ca2c52aSchristos // Loop 1 367*6ca2c52aSchristosLD32_LABEL(r0, L1T); 368*6ca2c52aSchristosLD32_LABEL(r1, L1B); 369*6ca2c52aSchristosLT1 = r0; 370*6ca2c52aSchristosLB1 = r1; 371*6ca2c52aSchristos 372*6ca2c52aSchristosLC1 = P0; 373*6ca2c52aSchristosNOP; 374*6ca2c52aSchristosJUMP.S 2; 375*6ca2c52aSchristos 376*6ca2c52aSchristosJUMP.S 6; 377*6ca2c52aSchristosNOP; 378*6ca2c52aSchristosLC1 = P0; 379*6ca2c52aSchristosLC1 = P1; 380*6ca2c52aSchristosL1T:R2 += 3; 381*6ca2c52aSchristos R3 += 4; 382*6ca2c52aSchristos R4 += 5; 383*6ca2c52aSchristos R5 += 6; 384*6ca2c52aSchristos R6 += 7; 385*6ca2c52aSchristosL1B:R7 += 8; 386*6ca2c52aSchristos 387*6ca2c52aSchristos // Loop 0 388*6ca2c52aSchristosLSETUP ( L2T , L2T ) LC0 = P0; 389*6ca2c52aSchristosNOP; 390*6ca2c52aSchristosNOP; 391*6ca2c52aSchristosNOP; 392*6ca2c52aSchristosLC0 = P1; 393*6ca2c52aSchristosL2T:R2 += 1; 394*6ca2c52aSchristos R3 += 2; 395*6ca2c52aSchristos R4 += 3; 396*6ca2c52aSchristos R5 += 4; 397*6ca2c52aSchristos R6 += 5; 398*6ca2c52aSchristosL2B:R7 += 6; 399*6ca2c52aSchristos 400*6ca2c52aSchristosLC0 = P1; 401*6ca2c52aSchristosNOP; 402*6ca2c52aSchristosNOP; 403*6ca2c52aSchristosNOP; 404*6ca2c52aSchristosLSETUP ( L3T , L3T ) LC0 = P0; 405*6ca2c52aSchristosL3T:R2 += 1; 406*6ca2c52aSchristos R3 += 2; 407*6ca2c52aSchristos R4 += 3; 408*6ca2c52aSchristos R5 += 4; 409*6ca2c52aSchristos R6 += 5; 410*6ca2c52aSchristosL3B:R7 += 6; 411*6ca2c52aSchristos 412*6ca2c52aSchristosLSETUP ( L4T , L4B ) LC0 = P0; 413*6ca2c52aSchristosNOP; 414*6ca2c52aSchristosNOP; 415*6ca2c52aSchristosLC0 = P1; 416*6ca2c52aSchristosL4T:R2 += 1; 417*6ca2c52aSchristosL4B:R3 += 2; 418*6ca2c52aSchristos R4 += 3; 419*6ca2c52aSchristos R5 += 4; 420*6ca2c52aSchristos R6 += 5; 421*6ca2c52aSchristos R7 += 6; 422*6ca2c52aSchristos 423*6ca2c52aSchristosLC0 = P1; 424*6ca2c52aSchristosNOP; 425*6ca2c52aSchristosNOP; 426*6ca2c52aSchristosLSETUP ( L5T , L5B ) LC0 = P0; 427*6ca2c52aSchristosL5T:R2 += 1; 428*6ca2c52aSchristosL5B:R3 += 2; 429*6ca2c52aSchristos R4 += 3; 430*6ca2c52aSchristos R5 += 4; 431*6ca2c52aSchristos R6 += 5; 432*6ca2c52aSchristos R7 += 6; 433*6ca2c52aSchristos 434*6ca2c52aSchristosLSETUP ( L6T , L6B ) LC0 = P0; 435*6ca2c52aSchristosNOP; 436*6ca2c52aSchristosLC0 = P1; 437*6ca2c52aSchristosL6T:R2 += 1; 438*6ca2c52aSchristos R3 += 2; 439*6ca2c52aSchristosL6B:R4 += 3; 440*6ca2c52aSchristos R5 += 4; 441*6ca2c52aSchristos R6 += 5; 442*6ca2c52aSchristos R7 += 6; 443*6ca2c52aSchristos 444*6ca2c52aSchristosLC0 = P1; 445*6ca2c52aSchristosNOP; 446*6ca2c52aSchristosLSETUP ( L7T , L7B ) LC0 = P0; 447*6ca2c52aSchristosL7T:R2 += 1; 448*6ca2c52aSchristos R3 += 2; 449*6ca2c52aSchristosL7B:R4 += 3; 450*6ca2c52aSchristos R5 += 4; 451*6ca2c52aSchristos R6 += 5; 452*6ca2c52aSchristos R7 += 6; 453*6ca2c52aSchristos 454*6ca2c52aSchristosLSETUP ( L8T , L8B ) LC0 = P0; 455*6ca2c52aSchristosLC0 = P1; 456*6ca2c52aSchristosL8T:R2 += 1; 457*6ca2c52aSchristos R3 += 2; 458*6ca2c52aSchristos R4 += 3; 459*6ca2c52aSchristosL8B:R5 += 4; 460*6ca2c52aSchristos R6 += 5; 461*6ca2c52aSchristos R7 += 6; 462*6ca2c52aSchristos 463*6ca2c52aSchristosLC0 = P1; 464*6ca2c52aSchristosLSETUP ( L9T , L9B ) LC0 = P0; 465*6ca2c52aSchristosL9T:R2 += 1; 466*6ca2c52aSchristos R3 += 2; 467*6ca2c52aSchristos R4 += 3; 468*6ca2c52aSchristosL9B:R5 += 4; 469*6ca2c52aSchristos R6 += 5; 470*6ca2c52aSchristos R7 += 6; 471*6ca2c52aSchristos 472*6ca2c52aSchristos 473*6ca2c52aSchristos // Loop 1 474*6ca2c52aSchristosLSETUP ( M2T , M2T ) LC1 = P0; 475*6ca2c52aSchristosNOP; 476*6ca2c52aSchristosNOP; 477*6ca2c52aSchristosNOP; 478*6ca2c52aSchristosLC1 = P1; 479*6ca2c52aSchristosM2T:R2 += 1; 480*6ca2c52aSchristos R3 += 2; 481*6ca2c52aSchristos R4 += 3; 482*6ca2c52aSchristos R5 += 4; 483*6ca2c52aSchristos R6 += 5; 484*6ca2c52aSchristosM2B:R7 += 6; 485*6ca2c52aSchristos 486*6ca2c52aSchristosLC1 = P1; 487*6ca2c52aSchristosNOP; 488*6ca2c52aSchristosNOP; 489*6ca2c52aSchristosNOP; 490*6ca2c52aSchristosLSETUP ( M3T , M3T ) LC1 = P0; 491*6ca2c52aSchristosM3T:R2 += 1; 492*6ca2c52aSchristos R3 += 2; 493*6ca2c52aSchristos R4 += 3; 494*6ca2c52aSchristos R5 += 4; 495*6ca2c52aSchristos R6 += 5; 496*6ca2c52aSchristosM3B:R7 += 6; 497*6ca2c52aSchristos 498*6ca2c52aSchristosLSETUP ( M4T , M4B ) LC1 = P0; 499*6ca2c52aSchristosNOP; 500*6ca2c52aSchristosNOP; 501*6ca2c52aSchristosLC1 = P1; 502*6ca2c52aSchristosM4T:R2 += 1; 503*6ca2c52aSchristosM4B:R3 += 2; 504*6ca2c52aSchristos R4 += 3; 505*6ca2c52aSchristos R5 += 4; 506*6ca2c52aSchristos R6 += 5; 507*6ca2c52aSchristos R7 += 6; 508*6ca2c52aSchristos 509*6ca2c52aSchristosLC1 = P1; 510*6ca2c52aSchristosNOP; 511*6ca2c52aSchristosNOP; 512*6ca2c52aSchristosLSETUP ( M5T , M5B ) LC1 = P0; 513*6ca2c52aSchristosM5T:R2 += 1; 514*6ca2c52aSchristosM5B:R3 += 2; 515*6ca2c52aSchristos R4 += 3; 516*6ca2c52aSchristos R5 += 4; 517*6ca2c52aSchristos R6 += 5; 518*6ca2c52aSchristos R7 += 6; 519*6ca2c52aSchristos 520*6ca2c52aSchristosLSETUP ( M6T , M6B ) LC1 = P0; 521*6ca2c52aSchristosNOP; 522*6ca2c52aSchristosLC1 = P1; 523*6ca2c52aSchristosM6T:R2 += 1; 524*6ca2c52aSchristos R3 += 2; 525*6ca2c52aSchristosM6B:R4 += 3; 526*6ca2c52aSchristos R5 += 4; 527*6ca2c52aSchristos R6 += 5; 528*6ca2c52aSchristos R7 += 6; 529*6ca2c52aSchristos 530*6ca2c52aSchristosLC1 = P1; 531*6ca2c52aSchristosNOP; 532*6ca2c52aSchristosLSETUP ( M7T , M7B ) LC1 = P0; 533*6ca2c52aSchristosM7T:R2 += 1; 534*6ca2c52aSchristos R3 += 2; 535*6ca2c52aSchristosM7B:R4 += 3; 536*6ca2c52aSchristos R5 += 4; 537*6ca2c52aSchristos R6 += 5; 538*6ca2c52aSchristos R7 += 6; 539*6ca2c52aSchristos 540*6ca2c52aSchristosLSETUP ( M8T , M8B ) LC1 = P0; 541*6ca2c52aSchristosLC1 = P1; 542*6ca2c52aSchristosM8T:R2 += 1; 543*6ca2c52aSchristos R3 += 2; 544*6ca2c52aSchristos R4 += 3; 545*6ca2c52aSchristosM8B:R5 += 4; 546*6ca2c52aSchristos R6 += 5; 547*6ca2c52aSchristos R7 += 6; 548*6ca2c52aSchristos 549*6ca2c52aSchristosLC1 = P1; 550*6ca2c52aSchristosLSETUP ( M9T , M9B ) LC1 = P0; 551*6ca2c52aSchristosM9T:R2 += 1; 552*6ca2c52aSchristos R3 += 2; 553*6ca2c52aSchristos R4 += 3; 554*6ca2c52aSchristosM9B:R5 += 4; 555*6ca2c52aSchristos R6 += 5; 556*6ca2c52aSchristos R7 += 6; 557*6ca2c52aSchristos 558*6ca2c52aSchristos // Loop 0 559*6ca2c52aSchristosLSETUP ( N2T , N2B ) LC0 = P0 >> 1; 560*6ca2c52aSchristosNOP; 561*6ca2c52aSchristosNOP; 562*6ca2c52aSchristosNOP; 563*6ca2c52aSchristosLC0 = P1; 564*6ca2c52aSchristosN2T:R2 += 1; 565*6ca2c52aSchristos R3 += 2; 566*6ca2c52aSchristos R4 += 3; 567*6ca2c52aSchristos R5 += 4; 568*6ca2c52aSchristos R6 += 5; 569*6ca2c52aSchristosN2B:R7 += 6; 570*6ca2c52aSchristos 571*6ca2c52aSchristosLC0 = P1; 572*6ca2c52aSchristosNOP; 573*6ca2c52aSchristosNOP; 574*6ca2c52aSchristosNOP; 575*6ca2c52aSchristosLSETUP ( N3T , N3B ) LC0 = P0 >> 1; 576*6ca2c52aSchristosN3T:R2 += 1; 577*6ca2c52aSchristos R3 += 2; 578*6ca2c52aSchristos R4 += 3; 579*6ca2c52aSchristos R5 += 4; 580*6ca2c52aSchristos R6 += 5; 581*6ca2c52aSchristosN3B:R7 += 6; 582*6ca2c52aSchristos 583*6ca2c52aSchristosLSETUP ( N4T , N4B ) LC0 = P0 >> 1; 584*6ca2c52aSchristosNOP; 585*6ca2c52aSchristosNOP; 586*6ca2c52aSchristosLC0 = P1; 587*6ca2c52aSchristosN4T:R2 += 1; 588*6ca2c52aSchristos R3 += 2; 589*6ca2c52aSchristos R4 += 3; 590*6ca2c52aSchristos R5 += 4; 591*6ca2c52aSchristosN4B:R6 += 5; 592*6ca2c52aSchristos R7 += 6; 593*6ca2c52aSchristos 594*6ca2c52aSchristosLC0 = P1; 595*6ca2c52aSchristosNOP; 596*6ca2c52aSchristosNOP; 597*6ca2c52aSchristosLSETUP ( N5T , N5B ) LC0 = P0 >> 1; 598*6ca2c52aSchristosN5T:R2 += 1; 599*6ca2c52aSchristos R3 += 2; 600*6ca2c52aSchristos R4 += 3; 601*6ca2c52aSchristos R5 += 4; 602*6ca2c52aSchristosN5B:R6 += 5; 603*6ca2c52aSchristos R7 += 6; 604*6ca2c52aSchristos 605*6ca2c52aSchristosLSETUP ( N6T , N6B ) LC0 = P0 >> 1; 606*6ca2c52aSchristosNOP; 607*6ca2c52aSchristosLC0 = P1; 608*6ca2c52aSchristosN6T:R2 += 1; 609*6ca2c52aSchristos R3 += 2; 610*6ca2c52aSchristos R4 += 3; 611*6ca2c52aSchristosN6B:R5 += 4; 612*6ca2c52aSchristos R6 += 5; 613*6ca2c52aSchristos R7 += 6; 614*6ca2c52aSchristos 615*6ca2c52aSchristosLC0 = P1; 616*6ca2c52aSchristosNOP; 617*6ca2c52aSchristosLSETUP ( N7T , N7B ) LC0 = P0 >> 1; 618*6ca2c52aSchristosN7T:R2 += 1; 619*6ca2c52aSchristos R3 += 2; 620*6ca2c52aSchristos R4 += 3; 621*6ca2c52aSchristosN7B:R5 += 4; 622*6ca2c52aSchristos R6 += 5; 623*6ca2c52aSchristos R7 += 6; 624*6ca2c52aSchristos 625*6ca2c52aSchristosLSETUP ( N8T , N8T ) LC0 = P0 >> 1; 626*6ca2c52aSchristosLC0 = P1; 627*6ca2c52aSchristosN8T:R2 += 1; 628*6ca2c52aSchristos R3 += 2; 629*6ca2c52aSchristosN8B:R4 += 3; 630*6ca2c52aSchristos R5 += 4; 631*6ca2c52aSchristos R6 += 5; 632*6ca2c52aSchristos R7 += 6; 633*6ca2c52aSchristos 634*6ca2c52aSchristosLC0 = P1; 635*6ca2c52aSchristosLSETUP ( N9T , N9T ) LC0 = P0 >> 1; 636*6ca2c52aSchristosN9T:R2 += 1; 637*6ca2c52aSchristos R3 += 2; 638*6ca2c52aSchristosN9B:R4 += 3; 639*6ca2c52aSchristos R5 += 4; 640*6ca2c52aSchristos R6 += 5; 641*6ca2c52aSchristos R7 += 6; 642*6ca2c52aSchristos 643*6ca2c52aSchristos 644*6ca2c52aSchristos // Loop 1 645*6ca2c52aSchristosLSETUP ( O2T , O2B ) LC1 = P0 >> 1; 646*6ca2c52aSchristosNOP; 647*6ca2c52aSchristosNOP; 648*6ca2c52aSchristosNOP; 649*6ca2c52aSchristosLC1 = P1; 650*6ca2c52aSchristosO2T:R2 += 1; 651*6ca2c52aSchristos R3 += 2; 652*6ca2c52aSchristos R4 += 3; 653*6ca2c52aSchristos R5 += 4; 654*6ca2c52aSchristos R6 += 5; 655*6ca2c52aSchristosO2B:R7 += 6; 656*6ca2c52aSchristos 657*6ca2c52aSchristosLC1 = P1; 658*6ca2c52aSchristosNOP; 659*6ca2c52aSchristosNOP; 660*6ca2c52aSchristosNOP; 661*6ca2c52aSchristosLSETUP ( O3T , O3B ) LC1 = P0 >> 1; 662*6ca2c52aSchristosO3T:R2 += 1; 663*6ca2c52aSchristos R3 += 2; 664*6ca2c52aSchristos R4 += 3; 665*6ca2c52aSchristos R5 += 4; 666*6ca2c52aSchristos R6 += 5; 667*6ca2c52aSchristosO3B:R7 += 6; 668*6ca2c52aSchristos 669*6ca2c52aSchristosLSETUP ( O4T , O4B ) LC1 = P0 >> 1; 670*6ca2c52aSchristosNOP; 671*6ca2c52aSchristosNOP; 672*6ca2c52aSchristosLC1 = P1; 673*6ca2c52aSchristosO4T:R2 += 1; 674*6ca2c52aSchristos R3 += 2; 675*6ca2c52aSchristos R4 += 3; 676*6ca2c52aSchristos R5 += 4; 677*6ca2c52aSchristosO4B:R6 += 5; 678*6ca2c52aSchristos R7 += 6; 679*6ca2c52aSchristos 680*6ca2c52aSchristosLC1 = P1; 681*6ca2c52aSchristosNOP; 682*6ca2c52aSchristosNOP; 683*6ca2c52aSchristosLSETUP ( O5T , O5B ) LC1 = P0 >> 1; 684*6ca2c52aSchristosO5T:R2 += 1; 685*6ca2c52aSchristos R3 += 2; 686*6ca2c52aSchristos R4 += 3; 687*6ca2c52aSchristos R5 += 4; 688*6ca2c52aSchristosO5B:R6 += 5; 689*6ca2c52aSchristos R7 += 6; 690*6ca2c52aSchristos 691*6ca2c52aSchristosLSETUP ( O6T , O6B ) LC1 = P0 >> 1; 692*6ca2c52aSchristosNOP; 693*6ca2c52aSchristosLC1 = P1; 694*6ca2c52aSchristosO6T:R2 += 1; 695*6ca2c52aSchristos R3 += 2; 696*6ca2c52aSchristos R4 += 3; 697*6ca2c52aSchristosO6B:R5 += 4; 698*6ca2c52aSchristos R6 += 5; 699*6ca2c52aSchristos R7 += 6; 700*6ca2c52aSchristos 701*6ca2c52aSchristosLC1 = P1; 702*6ca2c52aSchristosNOP; 703*6ca2c52aSchristosLSETUP ( O7T , O7B ) LC1 = P0 >> 1; 704*6ca2c52aSchristosO7T:R2 += 1; 705*6ca2c52aSchristos R3 += 2; 706*6ca2c52aSchristos R4 += 3; 707*6ca2c52aSchristosO7B:R5 += 4; 708*6ca2c52aSchristos R6 += 5; 709*6ca2c52aSchristos R7 += 6; 710*6ca2c52aSchristos 711*6ca2c52aSchristosLSETUP ( O8T , O8T ) LC1 = P0 >> 1; 712*6ca2c52aSchristosLC1 = P1; 713*6ca2c52aSchristosO8T:R2 += 1; 714*6ca2c52aSchristos R3 += 2; 715*6ca2c52aSchristosO8B:R4 += 3; 716*6ca2c52aSchristos R5 += 4; 717*6ca2c52aSchristos R6 += 5; 718*6ca2c52aSchristos R7 += 6; 719*6ca2c52aSchristos 720*6ca2c52aSchristosLC1 = P1; 721*6ca2c52aSchristosLSETUP ( O9T , O9T ) LC1 = P0 >> 1; 722*6ca2c52aSchristosO9T:R2 += 1; 723*6ca2c52aSchristos R3 += 2; 724*6ca2c52aSchristosO9B:R4 += 3; 725*6ca2c52aSchristos R5 += 4; 726*6ca2c52aSchristos R6 += 5; 727*6ca2c52aSchristos R7 += 6; 728*6ca2c52aSchristos 729*6ca2c52aSchristos 730*6ca2c52aSchristosNOP; 731*6ca2c52aSchristosNOP; 732*6ca2c52aSchristosRTI; 733*6ca2c52aSchristos 734*6ca2c52aSchristos.dw 0xFFFF 735*6ca2c52aSchristos.dw 0xFFFF 736*6ca2c52aSchristos.dw 0xFFFF 737*6ca2c52aSchristos.dw 0xFFFF 738*6ca2c52aSchristos.dw 0xFFFF 739*6ca2c52aSchristos.dw 0xFFFF 740*6ca2c52aSchristos.dw 0xFFFF 741*6ca2c52aSchristos 742*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 743*6ca2c52aSchristos///////////////////////// USER CODE ///////////////////////////// 744*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 745*6ca2c52aSchristos 746*6ca2c52aSchristos 747*6ca2c52aSchristos USER_CODE : 748*6ca2c52aSchristos 749*6ca2c52aSchristosNOP; 750*6ca2c52aSchristosNOP; 751*6ca2c52aSchristosNOP; 752*6ca2c52aSchristosNOP; 753*6ca2c52aSchristosdbg_pass; // Call Endtest Macro 754*6ca2c52aSchristos 755*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 756*6ca2c52aSchristos///////////////////////// DATA MEMRORY ///////////////////////////// 757*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 758*6ca2c52aSchristos 759*6ca2c52aSchristos.section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw" 760*6ca2c52aSchristos.dd 0xdeadbeef; 761*6ca2c52aSchristos.section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw" 762*6ca2c52aSchristos.dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >> 763*6ca2c52aSchristos.dd 0x02020202; 764*6ca2c52aSchristos.dd 0x03030303; 765*6ca2c52aSchristos.dd 0x04040404; 766*6ca2c52aSchristos 767*6ca2c52aSchristos// Define Kernal Stack 768*6ca2c52aSchristos.data 769*6ca2c52aSchristos .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >> 770*6ca2c52aSchristos KSTACK : 771*6ca2c52aSchristos 772*6ca2c52aSchristos .space (STACKSIZE); 773*6ca2c52aSchristos USTACK : 774*6ca2c52aSchristos 775*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 776*6ca2c52aSchristos///////////////////////// END OF TEST ///////////////////////////// 777*6ca2c52aSchristos///////////////////////////////////////////////////////////////////////////// 778