|
|
Power 6/32 Unix version 1.2b
LL0:
.data
.set SBR,0
.set SLR,1
.set P0BR,2
.set P0LR,3
.set P1BR,4
.set P1LR,5
.set P2BR,6
.set P2LR,7
.set IPL,8
.set MAPEN,9
.set MME,9
.set TBIA,10
.set TBIS,11
.set DCK,12
.set CCK,13
.set PCBB,14
.set KSP,19
.set USP,20
.set CPMDCB,21
.set PADC,25
.set DCR,27
.set DC_ON,1
.set DC_OFF,2
.set TB_ON,256
.set TB_OFF,512
.align 2
.globl _Tname
_Tname:
.data 2
L17:
.ascii "\12\0"
.data
.long L17
.text
.align 1
.globl _chk_pars
_chk_pars:
.word L19
# #include "definitions"
#
# extern long *p_ptr, exp_par0, exp_par1, exp_par2, exp_par3;
# char *Tname = "\n"; /* PTR to test name */
#
# chk_pars(msg1)
# char *msg1;
# { char *msg2;
jbr L21
L22:
# long *pcb_base, act_param;
#
# /* Check fault parameter words */
# act_param = *p_ptr++;
movl *_p_ptr,-64(fp)
addl2 $4,_p_ptr
# if (exp_par0 != act_param)
cmpl _exp_par0,-64(fp)
jeql L23
# { msg2="** fault indicator (1st word) is not as expected !!\n";
.data 1
L24:
.ascii "** fault indicator (1st word) is not as expected !!\12\0"
.text
movl $L24,-56(fp)
# pverr_handler(msg1,msg2,exp_par0,act_param); }
pushl -64(fp)
pushl _exp_par0
pushl -56(fp)
pushl 4(fp)
callf $20,_pverr_handler
# act_param = *p_ptr++;
L23:
movl *_p_ptr,-64(fp)
addl2 $4,_p_ptr
# if (exp_par1 != act_param)
cmpl _exp_par1,-64(fp)
jeql L26
# { msg2="** virtual addr in 2nd parameter is not as expected\n";
.data 1
L27:
.ascii "** virtual addr in 2nd parameter is not as expected\12\0"
.text
movl $L27,-56(fp)
# pverr_handler(msg1,msg2,exp_par1,act_param); }
pushl -64(fp)
pushl _exp_par1
pushl -56(fp)
pushl 4(fp)
callf $20,_pverr_handler
# act_param = *p_ptr++;
L26:
movl *_p_ptr,-64(fp)
addl2 $4,_p_ptr
# if (exp_par2 != act_param)
cmpl _exp_par2,-64(fp)
jeql L28
# { msg2="** PC in 3rd parameter word is not as expected\n";
.data 1
L29:
.ascii "** PC in 3rd parameter word is not as expected\12\0"
.text
movl $L29,-56(fp)
# pverr_handler(msg1,msg2,exp_par2,act_param); }
pushl -64(fp)
pushl _exp_par2
pushl -56(fp)
pushl 4(fp)
callf $20,_pverr_handler
# act_param = (*p_ptr) & 0xffffffc0; /* Mask out PSW flags */
L28:
andl3 $-64,*_p_ptr,r0
movl r0,-64(fp)
# if (exp_par3 != act_param)
cmpl _exp_par3,-64(fp)
jeql L30
# { msg2="** PSL in 4th parameter word is not as expected \n";
.data 1
L31:
.ascii "** PSL in 4th parameter word is not as expected \12\0"
.text
movl $L31,-56(fp)
# pverr_handler(msg1,msg2,exp_par3,act_param); }
pushl -64(fp)
pushl _exp_par3
pushl -56(fp)
pushl 4(fp)
callf $20,_pverr_handler
#
# }
L30:
ret
.set L19,0x0
L21:
subl3 $64,fp,sp
jbr L22
.data
.text
.align 1
.globl _pverr_handler
_pverr_handler:
.word L32
#
# pverr_handler(msg1,msg2,exp,act)
# char *msg1, *msg2;
# long exp, act;
# {
jbr L34
L35:
#
# writes(Tname);
pushl _Tname
callf $8,_writes
# writes(msg1); writec('\n'); writes(msg2); writec('\n');
pushl 4(fp)
callf $8,_writes
pushl $10
callf $8,_writec
pushl 8(fp)
callf $8,_writes
pushl $10
callf $8,_writec
# writes("** Expected data : "); writeh(exp); writec('\n');
.data 1
L38:
.ascii "** Expected data : \0"
.text
pushl $L38
callf $8,_writes
pushl 12(fp)
callf $8,_writeh
pushl $10
callf $8,_writec
# writes("** Actual data : "); writeh(act); writec('\n');
.data 1
L40:
.ascii "** Actual data : \0"
.text
pushl $L40
callf $8,_writes
pushl 16(fp)
callf $8,_writeh
pushl $10
callf $8,_writec
# asm("halt");
halt
# }
ret
.set L32,0x0
L34:
jbr L35
.data
.text
.align 1
.globl _print_params
_print_params:
.word L42
#
#
#
# print_params()
# {
jbr L44
L45:
# long *param_ptr;
#
# param_ptr = p_ptr;
movl _p_ptr,-56(fp)
# writes(" Parameter 1 : "); writeh(*param_ptr++); writec('\n');
.data 1
L46:
.ascii "\11Parameter 1 : \0"
.text
pushl $L46
callf $8,_writes
movl -56(fp),r0
addl2 $4,-56(fp)
pushl (r0)
callf $8,_writeh
pushl $10
callf $8,_writec
# writes(" Parameter 2 : "); writeh(*param_ptr++); writec('\n');
.data 1
L47:
.ascii "\11Parameter 2 : \0"
.text
pushl $L47
callf $8,_writes
movl -56(fp),r0
addl2 $4,-56(fp)
pushl (r0)
callf $8,_writeh
pushl $10
callf $8,_writec
# writes(" Parameter 3 : "); writeh(*param_ptr++); writec('\n');
.data 1
L48:
.ascii "\11Parameter 3 : \0"
.text
pushl $L48
callf $8,_writes
movl -56(fp),r0
addl2 $4,-56(fp)
pushl (r0)
callf $8,_writeh
pushl $10
callf $8,_writec
# writes(" Parameter 4 : "); writeh(*param_ptr); writec('\n');
.data 1
L49:
.ascii "\11Parameter 4 : \0"
.text
pushl $L49
callf $8,_writes
pushl *-56(fp)
callf $8,_writeh
pushl $10
callf $8,_writec
# asm("halt");
halt
# }
ret
.set L42,0x0
L44:
subl3 $56,fp,sp
jbr L45
.data
#
#
#
#
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.