www.pudn.com > HEC-win32.zip > ipc1.asm
#ipc1.asm--------------------------------------------- .PB main .PV buffer -40 .PV mutex -64 #allocate local storage on stack PUSHQ $FP MOV $FP,$SP LQI $R7,64 SUB $SP,$SP,$R7 #set name of mutex and store address in $R14 LAI $R10,$FP,mutex MOV $R14,$R10 LBI $R2,1 LBI $R1,'m' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'i' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'n' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'e' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,0 SB $R1,$R10 #obtain a mutex MOV $R2,$R14 LQI $R1,0 INT 10 MOV $R15,$R3 #print string to signal that mutex obtained MOV $R2,$R14 LQI $R1,18 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #read and print string LAI $R2,$FP,buffer LQI $R1,22 INT 0 LQI $R1,18 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #release mutex MOV $R2,$R15 LQI $R1,1 INT 10 #reclaim local storage MOV $SP,$FP POPQ $FP HALT .PE