Google
 

Trailing-Edge - PDP-10 Archives - steco_19840320_1er_E35 - 10,5676/teco/source/tecads.mac
There are 3 other files named tecads.mac in the archive. Click here to see a list.
	SUBTTL	Introduction

; Copyright (c) 1980 Stevens Institute of Technology, Hoboken, New Jersey
; 07030.

; This software may be used and copied provided that this copyright notice
;is included, and provided that copies of all modifications are sent to:
;
;	TECO Project
;	Computer Center
;	Stevens Institute of Technology
;	Castle Point Station
;	Hoboken, New Jersey    07030
;
;
; The information in this software is subject to change without notice
; and should not be construed as a commitment by Stevens Institute of
; Technology.

  ; Search needed universals

	SEARCH	TECUNV		; TECO universal file

  ; Generate the prologue


	TECVER==200		; Major version number
	TECMIN==1		; Minor version number
	TECEDT==1126		; Edit level
	TECWHO==0		; Last editor


	PROLOGUE(ADS,<TECO ADDS terminal support>)	; Generate the TITLE and other stuff

	$CODE			; Put into code PSECT
	SUBTTL	Table of Contents

;+
;.pag.lit

;		Table of Contents for TECADS - ADDS terminal support
;
;
;			   Section			      Page
;   1. Introduction . . . . . . . . . . . . . . . . . . . . .    1
;   2. Table of Contents. . . . . . . . . . . . . . . . . . .    2
;   3. Revision History . . . . . . . . . . . . . . . . . . .    3
;   4. Tables
;        4.1.   ADDS-580. . . . . . . . . . . . . . . . . . .    5
;        4.2.   Regent-25 . . . . . . . . . . . . . . . . . .    6
;   5. Support routines
;        5.1.   ADDS Consul 580
;             5.1.1.     Delete a line feed . . . . . . . . .    7
;             5.1.2.     Delete a vertical tab. . . . . . . .    8
;        5.2.   ADDS Consul-580
;             5.2.1.     Delete a form feed . . . . . . . . .    9
;        5.3.   ADDS Consul 580
;             5.3.1.     Delete to End of line. . . . . . . .   10
;        5.4.   Regent 25
;             5.4.1.     XY positioning . . . . . . . . . . .   11
;        5.5.   Regent-25
;             5.5.1.     Control U. . . . . . . . . . . . . .   12
;   6. Low segment. . . . . . . . . . . . . . . . . . . . . .   14
;   7. End of TECADS. . . . . . . . . . . . . . . . . . . . .   15

;.end lit.pag
;-
	SUBTTL	Revision History
COMMENT	|

1000	Start of this version

Start of Version 200A(1126)
|
; Macro to define a word of five characters

	DEFINE	TB(A<.CHNUL>,B<.CHNUL>,C<.CHNUL>,D<.CHNUL>,E<.CHNUL>)
<	BYTE	(7)A,B,C,D,E>


	SUBTTL	Tables -- ADDS-580
	CRTINI	VADD5
	CRTENT	BCK,<TB(.CHCNU,.CHCNH)>
	CRTENT	SPC,<TB(" ")>
	CRTENT	DBS,<TB(" ",.CHCNU,.CHCNH)>
	CRTENT	DLF,<PUSHJ P,AD5DLF>
	CRTENT	DVT,<PUSHJ P,AD5DVT>
	CRTENT	DFF,<PUSHJ P,AD5DFF>
	CRTENT	CRB,<TB(.CHCNU,.CHCNH)>
	CRTENT	CBS,<TB(.CHCNU,.CHCNH)>
	CRTEND
	SUBTTL	Tables -- Regent-25

	CRTINI	VRG25
	CRTENT	BCK,<TB(.CHCNH)>
	CRTENT	SPC,<TB(.CHCNF)>
	CRTENT	DBS,<TB(" ",.CHCNH)>
	CRTENT	DLF,<PUSHJ P,AD5DLF>
	CRTENT	DVT,<PUSHJ P,AD5DVT>
	CRTENT	DFF,<PUSHJ P,AD5DFF>
	CRTENT	CRB,<TB(.CHCNH)>
	CRTENT	CTU,<PUSHJ P,RG2CTU>
	CRTENT	ERS,<TB(.CHFFD)>
	CRTENT	DEL,<PUSHJ P,AD5DEL>
	CRTENT	DSP,.CHSPC
	CRTENT	XYP,<PUSHJ P,RG2XY>	; XY positioning routine
	CRTENT	LIN,^D20
	CRTENT	WID,^D79
	CRTENT	CDE,<MOVEI T1,2>	; Cost to delete to end of line
	CRTEND
	SUBTTL	Support routines -- ADDS Consul 580 -- Delete a line feed

;+
;.HL1 AD5DLF
;This routine will send the character string to delete a line feed.
;.literal
;
; Usage:
;	MOVE	CRT,CRT.block.address
;	PUSHJ	P,@$CRDLF(CRT)
;	(Return)
;.end literal
;-

AD5DLF:	MOVX	CH,.CHCNZ	; Get the character
	PJRST	SC$IMG		; And output it
	SUBTTL	Support routines -- ADDS Consul 580 -- Delete a vertical tab

;+
;.HL1 AD5DVT
;This routine will send the character string to delete a vertical tab.
;.literal
;
; Usage:
;	MOVE	CRT,CRT.block.address
;	PUSHJ	P,@$CRDVT(CRT)
;	(Return)
;
;.end literal
;-


AD5DVT:	MOVX	T1,4		; And the number to delete

AD5D.0:	MOVX	CH,.CHCNZ	; Get the character
	PUSHJ	P,SC$IMG	; Output the character
	SOJG	T1,.-1		; Loop for all of them
	POPJ	P,		; And return
	SUBTTL	Support routines -- ADDS Consul-580 -- Delete a form feed

;+
;.HL1 AD5DFF
;This routine will send the character string to delete a form feed.
;.literal
;
; Usage:
;	MOVE	CRT,CRT.block.address
;	PUSHJ	P,$CRDFF(CRT)
;	(Return)
;
;.end literal
;-

AD5DFF:	MOVX	T1,^D8		; Delete 8 line feeds
	PJRST	AD5D.0		; Go finish up
	SUBTTL Support routines -- ADDS Consul 580 -- Delete to End of line

;+
;.Hl1 AD5DEL 
;This routine will send a character string to delete to the end of the line.
;.literal
;
; Usage:
;	MOVEI	T1,# of characters to delete
;	XCT	$CRDEL(CRT)
;
;.end literal
;-

AD5DEL:	MOVX	T1,<BYTE (7) .CHESC,"K">
	PJRST	SC$STR		; Output to the screen

	SUBTTL	Support routines -- Regent 25 -- XY positioning

;+
;.HL RG2XY
;This routine will do the positioning for the Regent 25 terminal.
;.literal
;
; Usage:
;	MOVE	X,X.postion
;	MOVE	Y,Y.postion
;	MOVE	CRT,CRT.block.index
;	PUSHJ	P,@$CRXYP(CRT)
;	(Return)
;
;.end literal
;-


RG2XY:	ADDX	X," "		; Convert to the positioning code
	ADDX	Y," "		; . . .
	MOVEI	T1,[$STRING(<_Y^8/Y/^8/X/>)] ; Get the string
	PJRST			; Output the string
	SUBTTL	Support routines -- Regent-25 -- Control U

;+
;.HL1 RG2CTU
;This routine will process the control U in the command parser.  It
;may be called without CRT being set up.
;.literal
;
; Usage:
;	MOVE	CRT,CRT.block.address
;	PUSHJ	P,@$CRCTU(CRT)
;	(Return)
;
;.end literal
;-

RG2CTU:	MOVX	T1,<BYTE(7).CHCRT,.CHESC,"K"> ; Get the string
	PUSHJ	P,SC$STR	; output it
	MOVX	CH,.CHCRT	; Get the carriage return
	PJRST	T$OCHR		; And inform the monitor where we are
	SUBTTL	Support routines -- Consul 580 -- XY positioning
	SUBTTL	Low segment

	$IMPURE			; Put in correct place

ADSBEG:!
	LOWVER(ADS,<.-ADSBEG>)	; Define the version number

	SUBTTL	End of TECADS

	END			; End of TECADS