|
|
Power 6/32 Unix version 1.2b
XTrap(code)
long code;
{ register long r12, r11, r10, r9;
long tpc, tpsl;
asm("pushab e_type");
asm("callf $8,_writes");
writeh(code); writec('\n');
asm("movl 8(fp),r12"); /* par 0 */
asm("movl 12(fp),r11"); /* par 1 */
asm("movl 16(fp),r10"); /* par 2 */
asm("movl 20(fp),r9"); /* par 3 */
if ((code==0x20) || (code==0x2f) || (code==0x30)) {
asm("pushab par_0");
asm("callf $8,_writes");
writeh(r12); writec('\n');
asm("pushab par_1");
asm("callf $8,_writes");
writeh(r11); writec('\n');
tpc = r10;
tpsl = r9;
}
else {
if ((code==0x34) || (code==0x2b)) {
asm("pushab par_0");
asm("callf $8,_writes");
writeh(r12); writec('\n');
tpc = r11;
tpsl = r10;
}
else {
tpc = r12;
tpsl = r11; }
}
r9 = 0;
asm("pushab par_pc");
asm("callf $8,_writes");
writeh(tpc); writec('\n');
asm("pushab par_psl");
asm("callf $8,_writes");
writeh(tpsl); writec('\n');
asm("halt");
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.