Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_1_19910112
-
7/ft3/monitor/stanford/comnd.dif
There are no other files named comnd.dif in the archive.
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 1
LINE 1, PAGE 1
1) ;[MACBETH]SRC:<7.FT2.MONITOR.STANFORD>COMND.MAC.2, 6-Apr-88 00:50:40, Edit by A.APPLEHACKS
1) ; FT7.2 Merge
1) ; UPD ID= 8494, RIP:<7.MONITOR>COMND.MAC.9, 9-Feb-88 12:18:22 by GSCOTT
LINE 1, PAGE 1
2) ;[SRI-NIC]SRC:<7.MONITOR>COMND.MAC.2, 9-Nov-88 15:28:41, Edit by MKL
2) ; v7 merge
2) ;[SRI-NIC]SRC:<6-1-MONITOR>VERSIO.MAC.5, 28-Mar-88 22:02:49, Edit by IAN
2) ;[NIC7341] Make CHKBP in COMND pass global 7-bit pointers.
2) ;[SRI-NIC]XS:<SU-61SU>COMND.MAC.2, 5-Dec-86 13:27:39, Edit by MKL
2) ;;[SRI-NIC]SS:<6-MONITOR>COMND.MAC.2, 24-Jul-85 16:31:01, Edit by MKL
2) ;;[NIC6400] make ^L clear screen and do a ^R in COMND
2) ;; based on MIT monitor edit 999
2) ;;[SRI-NIC]SRC:<5-3-MONITOR>COMND.MAC.11, 10-Jul-84 12:57:08, Edit by IAN
2) ;; NIC021 - Kludge * so it's treated as safe re KLWORD
2) ;;[SRI-NIC]SRC:<5-3-MONITOR>COMND.MAC.10, 2-Jul-84 11:45:45, Edit by IAN
2) ;; NIC018 - Fix the way ^W words
2) ;<6-1-MONITOR.FT6>COMND.MAC.2, 11-Aug-85 19:15:15, Edit by WHP4
2) ;Stanford changes:
2) ; If TT%WK0 is set, allow breaking on editing characters, accept nulls
2) ; Rubout is accepted as alternative redo character
2) ; Convert ^F to space in indirect file; don't convert LF
2) ; Tie off line in indirect file with null
2) ; Compensate for Datamedia 2500 misfeature that CR is newline that ignores
2) ; following LF. Output CR LF LS instead of bare CR
2)
2) ; UPD ID= 8494, RIP:<7.MONITOR>COMND.MAC.9, 9-Feb-88 12:18:22 by GSCOTT
LINE 14, PAGE 1
1) ;[MACBETH]SRC:<7.FT1.MONITOR>COMND.MAC.1, 20-Jan-88 22:54:56, Edit by A.APPLEHACKS
1) ; FT7 Merge with Stanford stuff
1) ;
1) ;[MACBETH.STANFORD.EDU]SRC:<6.1.MONITOR.STANFORD>COMND.MAC.5, 15-Dec-87 14:24:41, Edit by A.ALDERSON
1) ; Install Crispin's OWGBP fix to STCMP% at STRC2
1) ;SRC:<6.1.MONITOR.STANFORD>COMND.MAC.4, 17-Dec-86 17:59:46, Edit by ALDERSON
1) ; Stanford change: Change JRST CMGJE to ERJMP CMGJE following internal call to
1) ; .GTJFN to avoid MONNEJ BUGCHK.
1) ;
1) ; UPD ID= 95, RIP:<7.MONITOR>COMND.MAC.4, 1-Sep-87 14:50:55 by RASPUZZI
LINE 33, PAGE 1
2) ; UPD ID= 95, RIP:<7.MONITOR>COMND.MAC.4, 1-Sep-87 14:50:55 by RASPUZZI
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 2
LINE 53, PAGE 1
1) ;------------------------- Autopatch Tape # 13 -------------------------
1) ; *** Edit 7241 to COMND.MAC by WAGNER on 13-Feb-86
LINE 63, PAGE 1
2) ; *** Edit 7241 to COMND.MAC by WAGNER on 13-Feb-86
LINE 62, PAGE 1
1) ;------------------------- Autopatch Tape # 12 -------------------------
1) ; UPD ID= 2326, SNARK:<6.1.MONITOR>COMND.MAC.42, 6-Sep-85 12:08:57 by LOMARTIRE
LINE 71, PAGE 1
2) ; UPD ID= 2326, SNARK:<6.1.MONITOR>COMND.MAC.42, 6-Sep-85 12:08:57 by LOMARTIRE
LINE 71, PAGE 1
1) ;<6-1-MONITOR.FT6>COMND.MAC.2, 11-Aug-85 19:15:15, Edit by WHP4
1) ;Stanford changes:
1) ; SUMEX GTJFN ? feature
1) ; If TT%WK0 is set, allow breaking on editing characters, accept nulls
1) ; Rubout is accepted as alternative redo character
1) ; Convert ^F to space in indirect file; don't convert LF
1) ; Tie off line in indirect file with null
1) ; Compensate for Datamedia 2500 misfeature that CR is newline that ignores
1) ; following LF. Output CR LF LS instead of bare CR
1) ; Put an ERJMP after the NODE% JSYS call in XCMNOD
1) ;
1) ; UPD ID= 2249, SNARK:<6.1.MONITOR>COMND.MAC.41, 19-Jun-85 20:48:30 by MELOHN
LINE 79, PAGE 1
2) ; UPD ID= 2249, SNARK:<6.1.MONITOR>COMND.MAC.41, 19-Jun-85 20:48:30 by MELOHN
LINE 24, PAGE 25
1) CHKBP: HLRZ T2,T1
LINE 24, PAGE 25
2) IFE NICSW,<
2) CHKBP: HLRZ T2,T1
LINE 30, PAGE 25
1) IBP T1 ;INCREMENT AND DECREMENT TO NORMALIZE
LINE 31, PAGE 25
2) >
2) IFN NICSW,<
2) CHKBP: LDB T2,[POINT 6,T1,5] ;[7116] GET P OR P&S FIELD
2) CAIL T2,61 ;[7116] LEGAL SEVEN BIT
2) CAILE T2,66 ;[7116] ONE WORD GLOBAL BYTE POINTER?
2) JRST [HLRZ T2,T1 ;[NIC7341]
2) CAIN T2,-1
2) HRLI T1,(POINT 7,0)
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 3
2) LDB T2,[POINT 6,T1,11] ;GET BYTE SIZE
2) CAIE T2,7 ;PROPER?
2) RET ;NO
2) JRST .+1] ;[NIC7341]
2) >
2) IBP T1 ;INCREMENT AND DECREMENT TO NORMALIZE
LINE 26, PAGE 38
1) IFN STANSW,<
1) ERJMPS [NOPARS DCNX13] ;NODE NOT ACCESSIBLE
1) >;IFN STANSW
1) TXNN D,ND%EXM ;EXACT MATCH?
LINE 26, PAGE 38
2) TXNN D,ND%EXM ;EXACT MATCH?
LINE 11, PAGE 40
1) IFN STANSW,<
1) ERJMP CMGJE ;FAILED
1) >;IFN STANSW
1) IFE STANSW,<
1) JRST CMGJE ;FAILED
1) >;IFE STANSW
1) UMOVEM T1,T2 ;RETURN JFN TO CALLER
LINE 11, PAGE 40
2) JRST CMGJE ;FAILED
2) UMOVEM T1,T2 ;RETURN JFN TO CALLER
LINE 48, PAGE 45
1) STRC2:
1) IFE STANSW,<
1) JUMPE T3,[MOVX T1,SC%SUB ;TEST STRING ENDED, IS A SUBSET
1) ADD T2,[7B5] ;DECREMENT BASE POINTER ONE BYTE
1) RET]
1) >;IFE STANSW
1) IFN STANSW,<
1) IFE. T3 ;TEST STRING ENDED?
1) MOVE T1,T2 ;YES, PREPARE TO DECREMENT BASE POINTER
1) SETO T2, ; BY ONE BYTE
1) ADJBP T2,T1 ;DO IT SO IT WORKS FOR NON-7BIT AND OWGBP'S
1) MOVX T1,SC%SUB ;FLAG TEST STRING IS A SUBSET
1) RET
1) ENDIF.
1) >;IFN STANSW
1) CAMG T3,T4 ;STRINGS UNEQUAL
LINE 48, PAGE 45
2) STRC2: JUMPE T3,[MOVX T1,SC%SUB ;TEST STRING ENDED, IS A SUBSET
2) ADD T2,[7B5] ;DECREMENT BASE POINTER ONE BYTE
2) RET]
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 4
2) CAMG T3,T4 ;STRINGS UNEQUAL
LINE 1, PAGE 53
1) ;AC USAGE HEREIN:
LINE 46, PAGE 52
2) IFN NICSW,<
2) CRTYP==14 ;[NIC6400] CLEAR SCREEN AND RETYPE BUFFER
2) >
{Skipped 1 page and 1 line}
2) ;AC USAGE HEREIN:
LINE 29, PAGE 56
1) ANDCM C,[3B1+3B7+3B9+3B11] ;NO ECHO OF ^R, ^U, ^V, ^W
LINE 29, PAGE 56
2) IFN NICSW,<
2) TRZ B,3B25 ;[NIC6400] DON'T ECHO ^L
2) >
2) ANDCM C,[3B1+3B7+3B9+3B11] ;NO ECHO OF ^R, ^U, ^V, ^W
LINE 65, PAGE 56
1) TXNE F,RD%EMC ;IF EMACS SPECIFIED IN TEXTI% CALL
1) TXO B,TT%WK0 ;THEN SET BIT IN MODE WORD
LINE 68, PAGE 56
2) TXNE F,RD%EMC ;IF EMACS SECIFIED IN TEXTI% CALL
2) TXO B,TT%WK0 ;THEN SET BIT IN MODE WORD
LINE 1, PAGE 63
1) ;CHARACTER CLASS TABLE
LINE 22, PAGE 62
2) IFN NICSW,<
2) CRTYPE,,0 ;[NIC6400]
2) >
{Skipped 1 page and 1 line}
2) ;CHARACTER CLASS TABLE
LINE 34, PAGE 63
1) CC1(TOP) ;FF
1) CC1(RDCRC) ;CR
LINE 35, PAGE 63
2) IFE NICSW,<
2) CC1(TOP) ;FF
2) >
2) IFN NICSW,<
2) CCED(CRTYP) ;[NIC6400] FF
2) >
2) CC1(RDCRC) ;CR
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 5
LINE 36, PAGE 64
1) IFN STANSW,<
1) TXNE F,RD%EMC ;EMACS MODE ?
1) CAIE B,.CHCRT ;AND CHARACTER IS A CR ?
1) IFSKP.
1) BIN% ;FLUSH THE LF
1) MOVEI B,.CHCRT ;AND PUT A CR BACK
1) ENDIF.
1) >;IFN STANSW
1) TXNN F,RD%RAI ;RAISE INPUT?
LINE 36, PAGE 64
2) TXNN F,RD%RAI ;RAISE INPUT?
LINE 3, PAGE 72
1) KLWORD: TXNE C,NDELW ;IS CTRL/W NOT AN EDITING CHARACTER ?
1) JRST INSRT ;YES.
1) CALL BACK ;DELETE AT LEAST ONE CHARACTER
1) JRST BNULL ;WASN'T ONE
1) MOVE D,P4
1) XCTBU [ILDB B,D] ;GET CHAR JUST DELETED
1) CAIN B,.CHLFD ;LF OR EOL?
1) JRST [ CALL DELCR ;YES, DELETE CR AND UPDATE DISPLAY
1) JRST BWRD1] ;ENTER BACKWARDS-SCAN LOOP
1) BWRD4: MOVE C,MOD ;CHECK ECHOS
1) JXE C,TT%ECO,BWRD1 ;NO OUTPUT IF ECHOS OFF
1) JXE P5,DSPMF,BWRD1 ;JUMP IF NOT DISPLAY
1) XCTBU [LDB A,D] ;GET CHAR
1) CALL CURBKW ;BACK UP CURSOR BUT DON'T CLEAR SCREEN YET
1) BWRD1: CALL BACK ;DELETE NEXT CHARACTER
1) JRST BWRD2 ;NO MORE LEFT
1) MOVE D,P4 ;LOOK AT CHARACTER JUST DELETED
1) XCTBU [ILDB B,D]
1) IDIVI B,CHRWRD ;GET ITS CHARACTER CLASS
1) LDB B,CCBTAB(C)
1) CAIN B,SAFE ;IS IT A WORD SEPARATOR?
1) JRST BWRD4 ;NO, KEEP DELETING
1) IBP P4 ;YES, KEEP THAT CHARACTER
1) SUBI P3,1
1) BWRD2: CALL CHKBLP ;CHECK BACKUP LIMIT POINTER
1) MOVEI B,"_" ;INDICATE WORD DELETION
LINE 3, PAGE 72
2) IFN NICSW,< ;Start NIC018 edit
2) ;DELETE WORD (CONTROL-W) - KLWRD1 deletes backwards until it runs out
2) ;of characters. The test instruction is on the stack (underneath the
2) ;return address, as -1(P)), and checks AC B for what class of character.
2) KLWORD: CAMN P4,Q2 ;Is there anything at all to delete?
2) JRST BNULL ; Nope. (these two instrs taken from BACK)
2) PUSH P,[CAIN B,SAFE] ;First skip over the non-safe (i.e.
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 6
2) CALL KLWRD1 ;non-alphanumeric) characters.
2) JRST KLWRD0 ; (Ran out of deletables)
2) MOVE A,[CAIE B,SAFE]
2) MOVEM A,(P) ;And then skip over the alphanumerics
2) CALL KLWRD1 ;until we find non-alphanumeric again.
2) NOP
2) KLWRD0: POP P,B ;Flush the test instruction.
2) CALL CHKBLP ;CHECK BACKUP LIMIT POINTER
2) MOVEI B,"_" ;INDICATE WORD DELETION
LINE 1, PAGE 73
1) ;RETYPE LINE (CONTROL-R)
LINE 25, PAGE 72
2) KLWRD1: CALL BACK ;Get the character we're deleting.
2) RET ; Aren't any more.
2) MOVE D,P4 ; Yes, so don't delete it after all.
2) XCTBU [ILDB B,D] ;GET CHAR JUST DELETED
2) MOVE A,B
2) IDIVI B,CHRWRD ;GET ITS CHARACTER CLASS
2) CAIN A,"*" ;[NIC021]
2) SKIPA B,[SAFE] ;[NIC021]
2) LDB B,CCBTAB(C)
2) XCT -1(P)
2) JRST [IBP P4 ;Don't delete that character after all!
2) SOJA P3,RSKP]
2) CAIN A,.CHLFD ;LF OR EOL?
2) JRST [CALL DELCR ;YES, DELETE CR AND UPDATE DISPLAY
2) JRST KLWRD1] ;ENTER BACKWARDS-SCAN LOOP
2) MOVE C,MOD ;CHECK ECHOS
2) JXE C,TT%ECO,KLWRD1 ;NO OUTPUT IF ECHOS OFF
2) JXE P5,DSPMF,KLWRD1 ;JUMP IF NOT DISPLAY
2) CALL CURBKW ;BACK UP CURSOR BUT DON'T CLEAR SCREEN YET
2) JRST KLWRD1
2) >;IFN NICSW ;End NIC018 edit.
2) IFE NICSW,<
2) KLWORD: TXNE C,NDELW ;IS CTRL/W NOT AN EDITING CHARACTER ?
2) JRST INSRT ;YES.
2) CALL BACK ;DELETE AT LEAST ONE CHARACTER
2) JRST BNULL ;WASN'T ONE
2) MOVE D,P4
2) XCTBU [ILDB B,D] ;GET CHAR JUST DELETED
2) CAIN B,.CHLFD ;LF OR EOL?
2) JRST [ CALL DELCR ;YES, DELETE CR AND UPDATE DISPLAY
2) JRST BWRD1] ;ENTER BACKWARDS-SCAN LOOP
2) BWRD4: MOVE C,MOD ;CHECK ECHOS
2) JXE C,TT%ECO,BWRD1 ;NO OUTPUT IF ECHOS OFF
2) JXE P5,DSPMF,BWRD1 ;JUMP IF NOT DISPLAY
2) XCTBU [LDB A,D] ;GET CHAR
2) CALL CURBKW ;BACK UP CURSOR BUT DON'T CLEAR SCREEN YET
2) BWRD1: CALL BACK ;DELETE NEXT CHARACTER
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 7
2) JRST BWRD2 ;NO MORE LEFT
2) MOVE D,P4 ;LOOK AT CHARACTER JUST DELETED
2) XCTBU [ILDB B,D]
2) IDIVI B,CHRWRD ;GET ITS CHARACTER CLASS
2) LDB B,CCBTAB(C)
2) CAIN B,SAFE ;IS IT A WORD SEPARATOR?
2) JRST BWRD4 ;NO, KEEP DELETING
2) IBP P4 ;YES, KEEP THAT CHARACTER
2) SUBI P3,1
2) BWRD2: CALL CHKBLP ;CHECK BACKUP LIMIT POINTER
2) MOVEI B,"_" ;INDICATE WORD DELETION
2) TXNN P5,DSPMF ;BUT ONLY IF NONDISPLAY
2) CALL RDBOUT
2) TXNE P5,DSPMF ;DISPLAY?
2) CALL CLRLNQ ;YES, THEN CLEAR TO END OF LINE
2) JRST NINSRT ;CONTINUE INPUT UNLESS BUFFER EMPTY ETC.
2) >;IFE NICSW
2) IFN NICSW,<
2) ;[NIC6400] BEGIN ADDITION
2) ;CLEAR SCREEN AND RETYPE BUFFER (CONTROL-L)
2)
2) CRTYPE: JXE P5,DSPMF,[HRROI B,[ASCIZ /
2) /]
2) CALL RDSOUT ;NON-DISPLAY, TYPE A CRLF
2) JRST CRTYP0] ;AND THEN PRINT BUFFER
2) CALL CLRPAG ;AND CLEAR TO END OF SCREEN
2) CRTYP0: CALL RTYPRB ;PRINT ^R BUFFER
2) MOVE D,Q2 ;GET POINTER TO BEGINNING OF BUFFER
2) CRTYP1: CAMN D,P4 ;AT END OF BUFFER?
2) JRST NINSRT ;YES, RETURN TO MAIN LOOP
2) XCTBU [ILDB B,D] ;GET A BYTE
2) CALL RDBOUT ;TYPE THE BYTE
2) JRST CRTYP1 ;LOOP UNTIL END OF BUFFER
2) ;[NIC6400] END ADDITION
2) >;IFN NICSW
{Skipped 1 page and 1 line}
2) ;RETYPE LINE (CONTROL-R)
LINE 1, PAGE 74
1) ;ROUTINE TO PUT CURSOR AT BEGINNING OF LOGICAL LINE. WILL DO CURUP'S
LINE 1, PAGE 74
2) IFN NICSW,<
2) ;[NIC6400] +++ BEGIN MODIFICATION
2) ;TYPE ^R BUFFER, IF EXTANT.
2) RTYPRB: SKIPE D,Q1 ;GET ^R BFR IF ANY
2) RTYPR1: CAMN D,Q2 ;UP TO TOP OF BFR?
2) RET ;YES, DONE WITH ^R BFR
2) XCTBU [ILDB B,D] ;GET CHAR FROM ^R BFR
2) JUMPE B,R ;DONE WHEN NULL PRINTED
2) CALL RDBOUT ;TYPE IT
; COMND.MAC.1 & <MONITOR>COMND.MAC.1 24-Feb-89 1709 PAGE 8
2) JRST RTYPR1 ;AND GET NEXT CHARACTER
2)
2) ;[NIC6400] +++ END MODIFICATION
2) >;IFN NICSW
{Skipped 1 page and 1 line}
2) ;ROUTINE TO PUT CURSOR AT BEGINNING OF LOGICAL LINE. WILL DO CURUP'S
LINE 90, PAGE 76
1) ;CLEAR FROM CURSOR TO END OF LINE
LINE 90, PAGE 77
2) IFN NICSW,<
2) ;[NIC6400] CLEAR SCREEN
2) CLRPAG: HRRZ A,P5
2) MOVE A,.CURBL(A)
2) CALL DPCTL
2) HRRZ A,P1
2) RFPOS
2) TRZ B,-1 ;ZERO COLUMN
2) SFPOS
2) RET
2) ;[NIC6400] END CLEAR SCREEN
2) >;IFN NICSW
2)
2) ;CLEAR FROM CURSOR TO END OF LINE