Google
 

Trailing-Edge - PDP-10 Archives - BB-M836A-BM - tools/sed/seda2.mac
There are 2 other files named seda2.mac in the archive. Click here to see a list.
TITLE	SEDA2 - ADM2 TERMINAL DEFINITIONS FOR THE EDITOR
SUBTTL	A CHRISTOPHER HALL FECIT

;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1981 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

;LOAD THE EDITOR BY: .LOAD SEDA2,SED

	SEARCH	SEDSYM
IFE TOPS10,<SEARCH MONSYM>

	EXTERN	CPOPJ,PUTTYP,PUTSTG,PUTNUM,PUTSQ1,TRMNAM
	INTERN	TERMNL

TERMNL:	OADM2	;ADDRESS OF THE	TERMINAL TABLE TO USE

OADM2:	BYTE (7) 13		;CURSOR UP
	BYTE (7) 12		; DOWN
	BYTE (7) 14		; RIGHT
	BYTE (7) 10		; LEFT
	BYTE (7) 36		; HOME
	BYTE (7) 33,"Y" 	;CLEAR PAGE
	BYTE (7) 33,"T" 	;CLEAR LINE
	BYTE (7) 12		;ROLL UP AND CLEAR LINE
	BYTE (7) 33,"E" 	;ROLL DOWN AND CLEAR LINE
	BYTE (7) 33,")"		;PROTECT ON
	BYTE (7) 33,"("		;PROTECT OFF
	BYTE (7) 33,"E" 	;INSERT A BLANK LINE
	BYTE (7) 33,"Q" 	;INSERT A SPACE
	BYTE (7) 33,"R" 	;DELETE LINE
	BYTE (7) 33,"W" 	;DELETE SPACE
	BYTE (7) 36,13		;MOVE TO BOTTOM
	BYTE (7) 36,33,"Y"	;HOME AND CLEAR PAGE
	ADMPSC			;ROUTINE TO POSITION TO CHARACTER
	ADMPSL			;ROUTINE TO POSITION TO START OF LINE
	^D24			;LINES PER PAGE
	^D80			;CHARACTERS PER LINE
	WRP!LSD!NRD		;FLAGS (WRAPAROUND, LF=DOWN, NO ROLL DOWN)
	CPOPJ			;ROUTINE TO CALL ON ENTRY
	CPOPJ			;ROUTINE TO CALL ON EXIT
	0			;NO NULLS NEEDED
	IADM2			;ADDRESS OF TERMINAL INPUT TABLE

		 0			;COMMAND FOR RUBOUT (RESET)
IADM2:		40
	-14,,IAADM2	;^A NEEDS A SUBTABLE
	EXP	       2, 3, 4, 5, 6, 7
	EXP	10,11,50,36,35,15,16,17 ;^K AND ^L ALTERED
	EXP	20,21,22,23,24,25,26,27
	EXP	30,31,32,33,34,35,37,43 ;36==HOME; 37==REAL-TAB

IAADM2:	IADF16,,"O"	;^A O CR == 16 == ENTER
	IADF01,,"@"	;^A @ CR ==  1 == INSERT-SPACES
	IADF02,,"A"	;^A A CR ==  2 == DELETE-SPACES
	IADF03,,"B"	;^A B CR ==  3 == SLIDE-LEFT
	IADF04,,"C"	;^A C CR ==  4 == SLIDE-RIGHT
	IADF13,,"L"	;^A L CR == 13 == ERASE-CHARACTER
	IADF14,,"M"	;^A M CR == 14 == INSERT MODE
	IADF15,,"N"	;^A N CR == 15 == RECALL
	IADF08,,"G"	;^A G CR ==  8 == REAL TAB
	IADF12,,"K"	;^A K CR == 12 == MARK
	IADF11,,"J"	;^A J CR == 11 == ERASE-LINE
	IADF10,,"I"	;^A I CR == 10 == WINDOW

IADF01:	"A"-100,,0
IADF02:	"S"-100,,0
IADF03:	"K"-100,,0
IADF04:	"L"-100,,0
IADF08:	43,,0
IADF12:	44,,0
IADF13:	42,,0
IADF14:	41,,0
IADF15:	40,,0
IADF16:	33,,0
IADF11:	50,,0
IADF10:	47,,0

;POSITIONING ALGORITHMS

ADMPSC:	MOVE	T1,[BYTE (7) 33,"="]
	PUSHJ	P,PUTSQ1	;START IT OFF
	MOVEI	T1,40(RW)	;GET ROW POSITION
	IDPB	T1,TY
	MOVEI	T1,40(CM)	;GET COLUMN POSITION
	IDPB	T1,TY
	POPJ	P,		;DONE

ADMPSL:	MOVE	T1,[BYTE (7) 33,"="]
	PUSHJ	P,PUTSQ1	;START IT OFF
	MOVEI	T1,40(T4)	;GET ROW POSITION
	IDPB	T1,TY
	MOVEI	T1,40		;MOVE TO COLUMN ZERO
	IDPB	T1,TY
	POPJ	P,

	END