entry &th thread &th GOSUB LoadGlobalRegs GOSUB LoadLocalRegs &th register v.f enddo LoadLocalRegs: ENTRY &cpu_num print "Loading CPU [&cpu_num] registers" thread &cpu_num r.s r0 v.value(QURT_error_info.locregs[&cpu_num].r0) r.s r1 v.value(QURT_error_info.locregs[&cpu_num].r1) r.s r2 v.value(QURT_error_info.locregs[&cpu_num].r2) r.s r3 v.value(QURT_error_info.locregs[&cpu_num].r3) r.s r4 v.value(QURT_error_info.locregs[&cpu_num].r4) r.s r5 v.value(QURT_error_info.locregs[&cpu_num].r5) r.s r6 v.value(QURT_error_info.locregs[&cpu_num].r6) r.s r7 v.value(QURT_error_info.locregs[&cpu_num].r7) r.s r8 v.value(QURT_error_info.locregs[&cpu_num].r8) r.s r9 v.value(QURT_error_info.locregs[&cpu_num].r9) r.s r10 v.value(QURT_error_info.locregs[&cpu_num].r10) r.s r11 v.value(QURT_error_info.locregs[&cpu_num].r11) r.s r12 v.value(QURT_error_info.locregs[&cpu_num].r12) r.s r13 v.value(QURT_error_info.locregs[&cpu_num].r13) r.s r14 v.value(QURT_error_info.locregs[&cpu_num].r14) r.s r15 v.value(QURT_error_info.locregs[&cpu_num].r15) r.s r16 v.value(QURT_error_info.locregs[&cpu_num].r16) r.s r17 v.value(QURT_error_info.locregs[&cpu_num].r17) r.s r18 v.value(QURT_error_info.locregs[&cpu_num].r18) r.s r19 v.value(QURT_error_info.locregs[&cpu_num].r19) r.s r20 v.value(QURT_error_info.locregs[&cpu_num].r20) r.s r21 v.value(QURT_error_info.locregs[&cpu_num].r21) r.s r22 v.value(QURT_error_info.locregs[&cpu_num].r22) r.s r23 v.value(QURT_error_info.locregs[&cpu_num].r23) r.s r24 v.value(QURT_error_info.locregs[&cpu_num].r24) r.s r25 v.value(QURT_error_info.locregs[&cpu_num].r25) r.s r26 v.value(QURT_error_info.locregs[&cpu_num].r26) r.s r27 v.value(QURT_error_info.locregs[&cpu_num].r27) r.s r28 v.value(QURT_error_info.locregs[&cpu_num].r28) r.s r29 v.value(QURT_error_info.locregs[&cpu_num].r29) r.s r30 v.value(QURT_error_info.locregs[&cpu_num].r30) r.s r31 v.value(QURT_error_info.locregs[&cpu_num].r31) r.s elr v.value(QURT_error_info.locregs[&cpu_num].elr) r.s pc v.value(QURT_error_info.locregs[&cpu_num].elr) r.s ssr v.value(QURT_error_info.locregs[&cpu_num].ssr) r.s badva v.value(QURT_error_info.locregs[&cpu_num].badva) r.s gp v.value(QURT_error_info.locregs[&cpu_num].gp) r.s ugp v.value(QURT_error_info.locregs[&cpu_num].ugp) r.s sa0 v.value(QURT_error_info.locregs[&cpu_num].sa0) r.s lc0 v.value(QURT_error_info.locregs[&cpu_num].lc0) r.s sa1 v.value(QURT_error_info.locregs[&cpu_num].sa1) r.s lc1 v.value(QURT_error_info.locregs[&cpu_num].lc1) r.s p v.value(QURT_error_info.locregs[&cpu_num].preds) r.s m0 v.value(QURT_error_info.locregs[&cpu_num].m0) r.s usr v.value(QURT_error_info.locregs[&cpu_num].usr) r.s tid v.value(QURT_error_info.locregs[&cpu_num].tid) ;Load IMASK from Global registers if (&cpu_num==0) ( r.s imask v.value(QURT_error_info.globregs.imask0) r.s sgp v.value((unsigned int)&QURTK_STACK0) ) else if (&cpu_num==1) ( r.s imask v.value(QURT_error_info.globregs.imask1) r.s sgp v.value((unsigned int)&QURTK_STACK1) ) else if (&cpu_num==2) ( r.s imask v.value(QURT_error_info.globregs.imask2) r.s sgp v.value((unsigned int)&QURTK_STACK2) ) else if (&cpu_num==3) ( r.s imask v.value(QURT_error_info.globregs.imask3) r.s sgp v.value((unsigned int)&QURTK_STACK3) ) else if (&cpu_num==4) ( r.s imask v.value(QURT_error_info.globregs.imask4) r.s sgp v.value((unsigned int)&QURTK_STACK4) ) else if (&cpu_num==5) ( r.s imask v.value(QURT_error_info.globregs.imask5) r.s sgp v.value((unsigned int)&QURTK_STACK5) ) RETURN LoadGlobalRegs: r.s syscfg v.value(QURT_error_info.globregs.syscfg) r.s modectl v.value(QURT_error_info.globregs.modectl) r.s pcyclelo v.value(QURT_error_info.globregs.pcyclelo) r.s pcyclehi v.value(QURT_error_info.globregs.pcyclehi) r.s evb v.value(QURT_error_info.globregs.evb) r.s diag v.value(QURT_error_info.globregs.diag) r.s iad v.value(QURT_error_info.globregs.iad) r.s ipend v.value(QURT_error_info.globregs.ipend) r.s iel v.value(QURT_error_info.globregs.iel) r.s iahl v.value(QURT_error_info.globregs.iahl) r.s rev v.value(QURT_error_info.globregs.rev) RETURN