; File: SAVREG.MAC ; ; This work was supported by the Advanced Research ; Projects Agency of the Office of the Secretary of ; Defense (F44620-73-C-0074) and is monitored by the ; Air Force Office of Scientific Research. .TITLE SAVREG .CSECT SAVR.C ; The BLISS-11 out-of-line routines to save and restore register contents. ; ; 30-Nov-73 P. Knueven ; ; The routine $SAVn is called at the beginning of a routine ; which modifies the contents of registers 1 thru n. The calling ; sequence is the following: ; JSR R1,$SAVn ; R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 .GLOBL $SAV2,$SAV3 .GLOBL $SAV4,$SAV5 $SAV2: MOV R2,-(SP) MOV R1,-(SP) MOV 4(SP),R1 JSR PC,@(SP)+ BR RE2 $SAV3: MOV R2,-(SP) MOV R3,-(SP) MOV R1,-(SP) MOV 6(SP),R1 JSR PC,@(SP)+ BR RE3 $SAV4: MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) MOV R1,-(SP) MOV 8.(SP),R1 JSR PC,@(SP)+ BR RE4 $SAV5: MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) MOV R5,-(SP) MOV R1,-(SP) MOV 10.(SP),R1 JSR PC,@(SP)+ MOV (SP)+,R5 RE4: MOV (SP)+,R4 RE3: MOV (SP)+,R3 RE2: MOV (SP)+,R2 MOV (SP)+,R1 RTS PC .END