;_Header ;******************************************************************* ; NOVA CONTROL SYSTEM --- Lawrence Livermore Laboratory ; ; Copyright 1984 by The Regents of the University of California ;******************************************************************* ; ;_Module_Name: SAMROtest ; ;_Description: ; Macro library for Stand-alone I/O routines in VAX compatiblity mode. ;_Call: ;_Remarks: ;_Identifier: { none } ;******************************************************************* ;_Author: T. A. SHERMAN _Creation_Date: 13-APR-1984 ;_Revisions: ; 07-Dec-1984 F. Holloway Modified PRINT macro to call a praxis procedure ; so that could run in compatibility mode on ; the VAX ; Build the macro library with: ; library/rsx11/macro/create satest.mlb ; macro/rsx11 satest ; library/rsx11/macro/insert satest.mlb samrotest ;.IDENT 1.000 13-APR-1984 TAS Initial Key-in. ;******************************************************************* ;_End .TITLE SAMRO ;--------version 7.2--------- ; Original macro renamed for history reference----- .MACRO PRINTOLD TEXT,VAL,?LABEL .ENABL LSB .PSECT $PDATA,REL,CON,LCL,D,RO .EVEN LABEL: .NCHR N, .WORD N+2 .ASCII <15><12>/TEXT/ .EVEN .WORD 0 .PSECT $CODE1 MOV #LABEL,-(SP) JSR PC,PUTSTR .IF B,VAL TST (SP)+ .IFF CLR (SP) CLR -(SP) MOV VAL,-(SP) JSR PC,PUT$OCTAL ADD #6,SP .ENDC .DSABL LSB .ENDM ;;----------------------------------------------------------------- ; The modified macro follows: .MACRO PRINT TEXT,VAL,?LABEL,?LSIZE .ENABL LSB .PSECT $PDATA,REL,CON,LCL,D,RO .EVEN LSIZE: .NCHR N, .WORD N LABEL: .ASCII /TEXT/ .EVEN .WORD 0 .PSECT $CODE1 MOV R0,-(SP) ;; Save all the registers MOV R1,-(SP) MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) MOV R5,-(SP) MOV LSIZE,-(SP) MOV #LABEL,-(SP) JSR PC,PUTSTR CMP (SP)+,(SP)+ MOV (SP)+,R5 ;; Restore all the registers MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP)+,R0 .IF B,VAL .IFF MOV R0,-(SP) ;; Save all the registers MOV R1,-(SP) MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) MOV R5,-(SP) MOV VAL,-(SP) JSR PC,PUTOCT TST (SP)+ MOV (SP)+,R5 ;; Restore all the registers MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP)+,R0 .ENDC .DSABL LSB .ENDM ;---------------------------- .END