;*************************** AMUS Program Label ******************************
; Filename: CMDLIN.M68 Date: 12/01/89
; Category: SBR Hash Code: 152-134-755-531 Version: 1.0
; Initials: Name: Try your name
; Company: Pick one in the US of A. Telephone #:
; Related Files: XCALL.M68
; Min. Op. Sys.: AMOSL 1.1 Expertise Level: BEG
; Special:
; Description: Returns last input line (command line).
;
;
;*****************************************************************************
;*; Updated on 01-Dec-89 at 1:32 PM by Place Name; edit time: 0:05:24
;CMDLIN.SBR
;
;Call: XCALL CMDLIN, parm$
;
;Where: parm$ = string variable to receive the last input line (command
; line) and a null byte. The command line is copied until
; end of line (NULL) or when string is filled.
;
VMAJOR=1
VMINOR=0
OBJNAM .SBR
SEARCH SYS
SEARCH SYSSYM
SEARCH TRM
; The following file, XCALL.M68, is located in P,PN [100,52].
; Copy this file from the Network and place it in DSK0:[7,7].
COPY XCALL.M68 ;Saves you from typing it in.
PHDR -1,PV$RSM,PH$REE!PH$REU
GETNAM: JOBIDX ; index Job Control Block
MOV JOBTRM(A6),D6 ; index Terminal Control Block
BEQ 10$ ; no terminal attached to job
MOV D6,A1 ; get terminal address
10$: MOV T.ILB(A1),A2 ; point to Last Command Line
MOV XC.AD1(A3),A0 ; point A2 to parm$
CPYLNE: LIN ; End of line found?
BEQ 20$ ; yes, exit loop
MOVB (A2)+,(A0)+ ; copy char to parm$ & bump ptr
BEQ 20$ ; exit loop, if null found
SOB D0,CPYLNE ; minus 1 from length, & continue
20$: CLRB @A0 ; place end of string w/NUL
RTN ; return