; AUTHOR: P. KNUEVEN DATE: 30-NOV-73 ; ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE. ; ; COPYRIGHT (C) 1978 DIGITAL EQUIPMENT CORPORATION, MAYNARD, ; MASS. 01754 ; ; 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. ; 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 ; R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 .GLOBL $SAV2,$SAV3 .GLOBL $SAV4,$SAV5 $SAVE2:: $SAV2: MOV R2,-(SP) MOV R1,-(SP) MOV 4(SP),R1 JSR PC,@(SP)+ BR RE2 $SAVE3:: $SAV3: MOV R2,-(SP) MOV R3,-(SP) MOV R1,-(SP) MOV 6(SP),R1 JSR PC,@(SP)+ BR RE3 $SAVE4:: $SAV4: MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) MOV R1,-(SP) MOV 8.(SP),R1 JSR PC,@(SP)+ BR RE4 $SAVE5:: $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