;*************************** AMUS Program Label ****************************** ; Filename: JOBPRG.M68 Date: 10/16/89 ; Category: SBR Hash Code: 720-121-764-363 Version: ; Initials: Name: GARY CHESSER ; Company: Telephone #: ; Related Files: XCALL.M68 ; Min. Op. Sys.: Expertise Level: BEG ; Special: Must grab XCALL.M68 in 100,133 ; Description: Get Jobname from system into a basic program ; ; ;***************************************************************************** ;******************************************************************** ; Sample BASIC program: ; ; MAP1 names(40),S,12 ! 40 is not mandatory. Must be > #JOBS ; ; XCALL JOBPRG,names(1) ! note names(1) !!! ; FOR I = 1 TO 40 ; IF names(I) = "" THEN I = 40 & ; ELSE PRINT names(I) ; NEXT I ;******************************************************************** OBJNAM .SBR VMAJOR=1 VMINOR=0 SEARCH SYS ;THESE ARE CALLED IN XCALL ;search normals SEARCH SYSSYM ;DITTO GARY CHESSER COPY XCALL ;XCALL.M68 in [100,133] PHDR -1,PH$REE!PH$REU PARSE: CMPW XC.ARG(A3),#1 ;1 argument specified? BNE INERR ;nope, error CMPW XC.TY1(A3),#XC$STR ;string? BNE INERR ;nope, error CMP XC.SZ1(A3),#6 ;should be this big BLT INERR ;nope, error SETUP: MOV JOBTBL,A0 ;get start of job table listing MOV XC.AD1(A3),A2 ;get start of array into A2 LOOP: MOV (A0)+,A4 ;A4 points to a JCB or a -1 MOV A4,D0 ;set status register BMI DONE ;if -1 then done BEQ LOOP ;no attached JOB but still not done 10$: LEA A1,JOBNAM(A4) ;point A1 to RAD50 job name UNPACK ;unpack 1st half of job name UNPACK ;unpack 2nd half of job name 20$: LEA A1,JOBPRG(A4) ;point A1 to RAD50 job PROGRAM UNPACK ;unpack 1st half of job PROGRAM UNPACK ;unpack 2nd half of job PROGRAM BR LOOP ;get next JOB DONE: CLR @A2 ;end array with null RTN ;and return INERR: TYPECR RTN END .