Trailing-Edge
-
PDP-10 Archives
-
decuslib20-04
-
decus/20-0130/macro.scm
There are 2 other files named macro.scm in the archive. Click here to see a list.
File 1) DSK:MACRO.441 created: 1053 10-JAN-1977
File 2) DSK:MACRO.MAC created: 1151 14-JAN-1977
1)1 VCUSTOM==0 ;NON-DEC UPDATE LEVEL
1) LOC <.JBVER==137>
****
2)1 VCUSTOM==2 ;NON-DEC UPDATE LEVEL
2) LOC <.JBVER==137>
**************
1)2 IFNDEF PURESW,<PURESW==1>
****
2)2 IFNDEF FT.U01,<FT.U01==1>
2) IFNDEF PURESW,<PURESW==1>
**************
1)4 ;******************* END OF REVISION HISTORY *******************
1)5 SUBTTL OTHER PARAMETERS
1) .PDP== ^D100 ;[270] BASIC PUSH-DOWN POINTER
****
2)4 ;
2) ;*****CUSTOMER REVISION HISTORY*****
2) ;1 IMPLEMENT USER PUSHDOWN LIST--FEATURE TEST FT.U01
2) ;2 CLEAR US ER PDP ON PRGEND AND END, CHECK FOR STACK UNDERFLOW
2) ;******************* END OF REVISION HISTORY *******************
2)5 SUBTTL OTHER PARAMETERS
2) IFN FT.U01,<$USRLN==^D50> ;LENGTH OF USER PUSH DOWN LIST
2) .PDP== ^D100 ;[270] BASIC PUSH-DOWN POINTER
**************
1)71 IFN POLISH,<
****
2)71 IFN FT.U01,<
2) MOVE V,[IOWD $USRLN,$USSTK] ; RESET USER STACK
2) MOVEM V,$USRPD ; SO DO IT
2) >; END OF FT.U01
2) IFN POLISH,<
**************
1)77 TAPE0: PUSHJ PP,STOUTS ;FINISH THIS LINE
****
2)77 IFN FT.U01,< ;USER PUSH-DOWN LIST
2) $PDUSR: PUSH PP,AC0 ;SAVE INSTR FOR LATER
2) PUSHJ PP,GETSYM ;GET SIXBIT SYMBOL TO PUSH/POP
2) JRST [TRO ER,ERRA ;NO SYMBOL--FLAKY STATEMENT
2) POP PP,AC0 ;KEEP THE STACK HONEST
2) POPJ PP,] ;GIVE UP WITH ERROR FLAG SET
2) PUSHJ PP,SSRCH ;LOOKUP THE SYMBOL
2) JRST [TRO ER,ERRU ;SYMBOL MUST BE DEFINED TO PUSH IT
2) POP PP,AC0 ;CLEAR PDL
2) POPJ PP,] ;GIVE UP
2) POP PP,AC0 ;RESTORE INSTR
2) TLNN AC0,(1B7) ; POP?
2) JRST $PDUS1 ; NOPE, DON'T CHECK FOR UNDERFLOW
2) HRRZ AC1,$USRPD ; GET CURRENT STACK POINTER
2) CAIGE AC1,$USSTK ; IS THE STACK EMPTY?
2) JRST [TRO ER,ERRA ;YES GIVE AN ERROR
2) POPJ PP,] ; GIVE UP WITH AN ERROR
2) $PDUS1: MOVE AC1,$USRPD ;PICK UP USER PDP
2) TLO AC0,(<AC1>B12) ;PUT LOCATION OF PDP IN INSTR
2) HRRI AC0,V ;SET LOCATION OF DATA
2) XCT AC0 ;PUSH/POP THE SYMBOL
2) MOVEM AC1,$USRPD ;SAVE PDP FOR LATER
File 1) DSK:MACRO.441 created: 1053 10-JAN-1977
File 2) DSK:MACRO.MAC created: 1151 14-JAN-1977
2) TLNE AC0,(1B7) ;WAS THIS A PUSH?
2) PUSHJ PP,UPDATE ;NO--RESET VALUE OF SYMBOL
2) CAIN C,',' ;ANOTHER SYMBOL COMING?
2) JRST $PDUSR ;YES--GO HANDLE IT
2) POPJ PP, ;NO--GET NEXT STATEMENT
2) >;END IFN FT.U01
2) TAPE0: PUSHJ PP,STOUTS ;FINISH THIS LINE
**************
1)152 GETSET: MOVEI 3,PDPERR
1) HRRM 3,.JBAPR ;SET TRAP LOCATION
****
2)152 GETSET:
2) IFN FT.U01,<
2) MOVE 3,[IOWD $USRLN,$USSTK] ; RESET THE USER PUSH DOWN STACK
2) MOVEM 3,$USRPD ; SO DO IT
2) >;END OF FT.U01
2) MOVEI 3,PDPERR
2) HRRM 3,.JBAPR ;SET TRAP LOCATION
**************
1)169 MOVE PP,SAVEPP ;GET A VALID STACK POINTER
****
2)169 MOVE PP,[IOWD $USRLN,$USSTK] ; RESET BOTH TYPES OF STACKS
2) MOVEM PP,$USRPD ; INCLUDING USER TYPE
2) MOVE PP,SAVEPP ;GET A VALID STACK POINTER
**************
1)195 X .ASSIG, 751
****
2)195 IFN FT.U01,<
2) IFN POLISH,<$BEG==762>
2) IFE POLISH,<$BEG==760>
2) X $POP , $BEG
2) X $PUSH , <$BEG+1>
2) >;END IFN FT.U01
2) X .ASSIG, 751
**************
1)200 OP2TAB:
****
2)199 IFN FT.U01,<
2) POP $PDUSR ;$POP
2) PUSH $PDUSR ;$PUSH
2) >;END IFN FT.U01
2)200 OP2TAB:
**************
1)215 IFN TEMP,<TMPFIL: SIXBIT /MAC/
****
2)215 IFN FT.U01,<
2) $USRPD: IOWD $USRLN,$USSTK
2) >;END IFN FT.U01
2) IFN TEMP,<TMPFIL: SIXBIT /MAC/
**************
1)217 PASS2I:
****
2)216 IFN FT.U01,<
2) $USSTK: BLOCK $USRLN ;USER PUSH-DOWN STACK
2) >;END IFN FT.U01
2)217 PASS2I:
File 1) DSK:MACRO.441 created: 1053 10-JAN-1977
File 2) DSK:MACRO.MAC created: 1151 14-JAN-1977
**************