GASS Operations

Thanks you very much for using MSI.


.op
  OPERATION 200 - FILL THE FIELD'S BUFFER WITH THE FIRST WORD IN THE BUFFER

     OPERATION 200 CAUSES THE FIRST TWO CHARACTERS (=ONE WORD) IN THIS 
A-FORMAT FIELD'S BUFFER TO BE REPEATED IN ALL 512 CHARACTER POSITIONS OF THE 
FIELD'S BUFFER. WHY YOU WOULD WANT TO DO THIS IS BEYOND ME, BUT OP. 200 WILL 
DO IT SHOULD THAT BE YOUR DESIRE.

EXAMPLE:
-----I-------I--------------------I---I--------------------------------
   1 I A2    I ENTER 2 CHARS      I ^ I  0 Y 200 N
-----I-------I--------------------I---I--------------------------------
     THE EXAMPLE GIVEN WILL CAUSE THE 2 CHARACTERS INPUT TO BE DUPLICATED
THROUGHOUT THE FIELD'S DATA BUFFER.

HEX FORMAT FOR EDIT: 00C8

                              A-200
.PA
               OPERATION 201 - FILL THE I/O BUFFER WITH BLANKS

     OPERATION 201 WILL CAUSE THE SYSTEM'S I/O BUFFER TO BE FILLED WITH
BLANKS, EFFECTIVELY CLEARING IT. THIS MAY BE USED TO CLEAR THE BUFFER
UNDER PROGRAM CONTROL WHEN OPERATION 156 IS IN EFFECT. OPERATION 201
IS ANOTHER OF THE OPERATIONS USED WHEN IMPLEMENTING THE LINE EDITOR
FUNCTION.

EXAMPLE:
2627
------I-------I--------------------I---I-------------------------------
   1  I  A78  I XX^                I ^ I 156 Y 198 Y 201 Y 26 Y 0 N
   2  I  A78  I XX^                I ^ I 198 Y 201 Y 0 N
   3  I  A78  I XX^                I ^ I 198 Y 201 Y 0 N
   4  I  A78  I XX^                I ^ I 198 Y 201 Y 0 Y 27 Y 201 Y 157 N

     THE ABOVE EXAMPLE IS A VERY SIMPLE WORD PROCESSOR, TO ENTER AND EDIT FOUR 
LINES OF TEXT. ON GENERAL UPDATE, FIELD 1'S OPERATIONS 156 AND 26 INITIATE THE 
WORD PROCESSOR, BY DISABLING THE AUTOMATIC BUFFER CLEARING AND ALLOWING SKIP 
FIELDS ON "ESC". THE OPERATION 201 CONTAINED IN EACH FIELD CLEARS THE I/O 
BUFFER THEREBY DISALLOWING THE ECHOING OF DATA ALREADY IN THE BUFFER. IT 
SHOULD BE POINTED OUT THAT WHEN ANY OF THE CURSOR CONTROL KEYS ARE PRESSED, 
THE BUFFER IS RETRANSMITTED.

HEX FORMAT FOR EDIT: 00C9

                              A-201
.PA
                  OPERATION 202 - DATA CONVERSION TO INCHES

     OPERATION 202, WHEN USED IN AN A-10 OR GREATER FIELD, IS USED AFTER
AN OPERATION 0 OR OTHER DATA OPERATION TO CONVERT THE ALPHA STRING IN THE
FIELD INTO A FLOATING-POINT REPRESENTATION, WHICH IS THEN PLACED INTO THE
FIELD'S FLOATING-POINT REGISTER. PROVISIONS ARE MADE TO HANDLE INPUT IN
FEET, AND THE DECIMAL MAY BE KEYED ALSO. THIS IS A SPECIALTY OPERATION,
WHICH WAS WRITTEN TO A CUSTOMER REQUIREMENT. ANY ERROR RETURNS -1. IN THE
REGISTER. NOTE THAT THE DASH (-) IS USED TO SEPARATE THE WHOLE INCHES FROM
THE FRACTION, SO IT CANNOT BE USED TO SIGNIFY NEGATION. THEREFORE, INPUT
OF NEGATIVE NUMBERS IS NOT POSSIBLE WHEN USING OPERATION 202. THE FIRST
BLANK IN THE STRING TERMINATES THE CONVERSION.
    
EXAMPLE:
------I------I-----------------------I---I------------------------------
   1  I A10  I ENTER FEET, INCHES,   I   I 0 Y 202 N
               AND FRACTION
   2  I D8.3 I                       I ^ I 11(1,2) N

     WITH THE EXAMPLE GIVEN, THE FOLLOWING RESULTS ARE OBTAINED:
8'8-3/4    104.750
8'8.75     104.750
.75           .75
3/4           .75
8'8'        -1.000
             0.000   (BLANK OR 0 WAS INPUT)
-6.2        -1.000   (INDICATES ERROR)
8 8          8.000   (THE FIRST BLANK TERMINATED THE CONVERSION)

HEX FORMAT FOR EDIT: 00CA
  



                                  A-202
.PA
                 OPERATION 203 - OPEN A DOS FILE FOR A READ.

    OPERATION 203 MUST BE IN AN A-FIELD AND MUST BE WIDE ENOUGH FOR THE ENTIRE 
ADDRESS OF THE FILE, INCLUDING DRIVE, FILE AND EXTENSION. THE DEFAULT DRIVE 
WILL BE THE LOADER DRIVE NORMALLY. THE OPERATION TAKES THE NAME CONTAINED IN 
THE FIELD AND OPENS THAT FILE. IT ALSO SETS THE RECORD NUMBER TO 1.

EXAMPLE: 
203
-----I------I--------------------I---I----------------------------------
   1 I  A14 I A:README.DOC       I ^ I 65 Y 203 N

    THE EXAMPLE OPENS README.DOC IN DRIVE A. 


    ******IMPORTANT******* A FILE MUST EXIST TO BE OPENED FOR A READ OR
    ******IMPORTANT******* A TRAP TO DOS WILL OCCUR WIPING OUT GASS.


HEX FORMAT FOR EDIT: 00CB





                             A-203
.PA
    OPERATION 204 - READ THE CURRENT RECORD INTO MEMORY AND INCREMENT THE
                    RECORD NUMBER.

    OPERATION 204 READS THE RECORD INTO DATA POSITIONS 1 THROUGH N OF MEMORY 
FROM THE FILE OPENED BY OPERATION 203. THE RECORD LENGTH DETERMINES WHERE IN 
MEMORY THE RECORD STOPS. OPERATIONS 103 AND 104 SHOULD BE REVIEWED BEFORE 
USING OPERATION 204. IF AN END OF FILE IS READ THE OPERATION 33 FLAG IS SET TO 
0.

EXAMPLE:

204
-----I------I---------------------I---I---------------------------------
   1 I I6   I                     I ^ I 40 Y 18(1) Y 33 N
   2 I A78  I                     I ^ I 204 Y 62 Y 104 Y 143(5,2) N
  
 
    THE EXAMPLE REPORT ASSUMES THAT A FILE IS OPEN FOR A READ. FIELD 1 SETS 
THE 33 FLAG TO 1. FIELD 2 READS EACH RECORD AND DISPLAYS IT TO THE SCREEN 
UNTIL AN EOF IS READ. THIS REPORT COULD BE USED TO PRINT OR VIEW ANY FILE. THE 
MS-DOS CONVENTION THAT CARRIAGE RETURN (ASCII 13) SEPARATES RECORDS AND 
CONTROL Z (ASCII 26) IS THE END-OF-FILE MARKER IS USED.
HEX FORMAT FOR EDIT - 00CC





                                  A-204
.PA
          OPERATION 205 - CLOSE THE FILE THAT WAS OPENED FOR A READ.

    OPERATION 205 CLOSES THE FILE THAT WAS OPENED FOR A READ BY OPERATION 203. 
EXAMPLE:

205
-----I------I----------------------I---I-------------------------------
   1 I  A1  I                      I ^ I 205 N

    THE EXAMPLE REPORT CLOSES A FILE PREVIOUSLY OPENED IN SOME OTHER REPORT.


HEX FORMAT FOR EDIT - 00CD





                                       A-205
.PA
                   OPERATION 206 - OPEN A FILE FOR A WRITE.

    THE ALPHA STRING IN THIS A-FIELD WILL BE USED TO OPEN THAT FILE. THE 
RECORD NUMBER IS INTIALIZED TO 1. THE FILE MUST BE CLOSED BY AN OPERATION 218 
AFTER YOU HAVE WRITTEN YOUR DATA TO IT OR IT WILL BE TRUNCATED TO ZERO LENGTH. 
THIS IS DUE TO A QUIRK OF MS-DOS, NOT GASS.

EXAMPLE:

206
-----I------I-------------------I---I-----------------------------------
   1 I  A14 I C:AUTOEXEC.BAT    I ^ I 65 Y 206 Y 35(6,207) N
   2 I  A1  I                   I ^ I 35(6,208) N

    THE EXAMPLE REPORT OPENS AUTOEXEC.BAT ON DRIVE C AND TRANSFERS TO A REPORT 
CALLED 207.


HEX FORMAT FOR EDIT - 00CE




                                  A-206
.PA
     OPERATION 207 - WRITE A RECORD TO THE FILE OPENED BY A PREVIOUS 206

    OPERATION 207 WRITES THE NEXT RECORD TO THE FILE SPECIFIED BY THE PREVIOUS 
OPERATION 206. THE RECORD COUNT IS INCREMENTED AUTOMATICALLY.

EXAMPLE:

207
-----I------I------------------I---I------------------------------------
   1 I  A20 I LOTUS            I ^ I 65 Y 207 N

    THE EXAMPLE REPORT WRITES "LOTUS" TO THE FILE OPENED BY A PREVIOUS 
OPERATION 206. PLEASE NOTE THAT A CONTROL Z (ASCII 26) WILL BE INTERPRETED BY 
MS-DOS AS AN END-OF-FILE MARKER, MAKING ANY DATA PAST IT UNACCESABLE ON THE 
NEXT READ OF THE FILE.

HEX FORMAT - 00CF





                                  A-207
.PA
      OPERATION 208 - CLOSE THE FILE PREVIOUSLY OPENED BY OPERATION 206.

    OPERATION 208 CLOSES AND SAVES THE CURRENT FILE OPENED FOR A WRITE. THIS 
MUST BE DONE BEFORE OPENING ANOTHER FILE OR FINISHING PROCESSING. FILES OPENED 
FOR MS-DOS WRITE AND NOT CLOSED WILL BE TRUNCATED TO ZERO LENGHT. YOU MAY WISH 
TO REVIEW THIS IN THE "BASIC" HANDBOOK WHICH CAME WITH YOUR HARDWARE. BE 
CAREFUL!

EXAMPLE:
208
-----I------I------------------I---I------------------------------------
   1 I  A1  I                  I ^ I 208 N

    THE EXAMPLE REPORT CLOSES THE FILE PREVIOUSLY OPENED FOR WRITE BY 
OPERATION 206.

HEX FORMAT FOR EDIT - 00D0




                                  A-208
.PA
   OPERATION 209 - PAUSE UNTIL YOUR PR DEVICE'S PROCESS STARTS THIS PROCESS

    OPERATION 209 CAN BE USED TO STOP A PROCESS ;TO WAIT FOR ANOTHER PROCESS 
TO START IT AGAIN. THIS IS AN ESSENTIAL FEATURE IN ANY SYSTEM HANDLING 
AUTOMATED TOOLS AND INDUSTRIAL ROBOTS. THE PROCESS CAN ONLY BE STARTED BY THE 
CURRENT PR DEVICE. HOWEVER, WITH THE DYNAMIC SWITCHING OF DEVICE (OPERATION 
136) PR NUMBERS, MIND BOGGLING CONTROL SEQUENCES CAN BE PROGRAMMED TO CONTROL 
MANY DEVICES. THE PROCESS IS STARTED BY THE PR DEVICE EXECUTING AN OPERATION 
210.
 
EXAMPLE:
209
-----I------I------------------I---I------------------------------------
   1 I  A1  I (ESC)=G*         I   I 55 Y 209 N
   2 I  A1  I WHAT TOOK YOU?   I ^ I 55 N

     THE EXAMPLE REPORT VIEWS AN ESC=G* TO THIS DEVICE AND GOES DEAD. WHEN THE 
OTHER PROCESS EXECUTES A 210, "WHAT TOOK YOU?" IS VIEWED TO THIS DEVICE.

HEX FORMAT FOR EDIT - 00D1





                                  A-209
.PA
     OPERATION 210 - START A DEVICE STOPPED BY A PREVIOUS OPERATION 209.

    OPERATION 210 STARTS A DEVICE THAT HAS BEEN IDLED BY ISSUING AN OPERATION 
209.

EXAMPLE:

210
------I------I------------------------I---I-----------------------------
    1 I A1   I                        I ^ I 210 N

    IN THE EXAMPLE OPERATION 210 STARTS A PREVIOUSLY STALLED DEVICE.

HEX FORMAT - 00D2





                                  A-210
.PA
                     OPERATION 211 - SET UP A TABLE TRAP.

    IN THE GASS OPERATING SYSTEM THE MOST POWERFUL AND WIDELY USED RESOURCES 
ARE THE FILE TABLES ALONG WITH THE OPERATIONS THAT DRIVE THEM. AT TIMES DURING 
THE DEBUG STAGE A ROW OF A TABLE MAY APPEAR TO BE GETTING CLOBBERED OR A WHOLE 
TABLE MAY BE GETTING OVEWRITTEN. OPERATION 211 SETS UP A TRAP FOR ANY REPORT 
ACCESSING THE TABLE SPECIFIED.

    WHEN OPERATION 211 IS EXECUTED ON A GENERAL UPDATE OR ITEM UPDATE, A TABLE 
NUMBER AND A ROW NUMBER IS ASKED FOR BY THE SYSTEM. THE FOLLOWING RULES APPLY: 
TABLE=>0; ROW=>0: TRAPS WHEN THE ROW OF SPECIFIED TABLE IS ACCESSED.
TABLE=>0; ROW=0 : TRAPS WHEN ANY ROW OF THE SPECIFIED TABLE IS ACCESSED.
TABLE=0; ROW=>0 : TRAPS WHEN ANY TABLE WITH THE SPECIFIED ROW IS 
                  ACCESSED.

    WHEN A TRAP OCCURS THE NAME OF THE REPORT AND THE FIELD NUMBER WHERE IT 
OCCURRED IS TRANSMITTED TO THE PROCESSING DEVICE. THE SYSTEM CONTINUES AFTER 
THE TRANSMISSION.

EXAMPLE:

211
------I------I-----------------------I---I------------------------------
    1 I  A1  I                       I ^ I 211 N

    IN THE EXAMPLE, WHEN OPERATION 211 IS EXECUTED, THE SYSTEM WILL ASK FOR A 
TABLE NUMBER. AFTER THE TABLE NUMBER IS ENTERED THE SYSTEM WILL REQUIRE A ROW 
NUMBER TO BE ENTERED. FROM THEN UNTIL ANOTHER TABLE TRAP IS SET UP, ANY REPORT 
ACCESSING THE SPECIFIED ELEMENTS OF THE SPECIFIED TABLE WILL HAVE ITS NAME 
PRINTED ALONG WITH THE FIELD EXECUTING THE OPERATION THAT ACCESSES THE TABLE.

    ****** IMPORTANT IMPORTANT ******** 
    TO KILL OUT A TRAP, EXECUTE OPERATION 211 AND ENTER TABLE 0 ROW 0.

HEX FORMAT FOR EDIT - 00D3





                                    A-211
.PA
                       OPERATION 212 - JUMP TO A REPORT


     IN ORDER TO MAKE SOFTWARE MAINTENANCE EASIER, IT IS USEFUL TO PARTITION 
FUNCTIONS BETWEEN SEVERAL REPORTS. OPERATION 35 ALLOWS THIS BUT OCCUPIES TIME 
AND MEMORY SPACE BY GOING TO A LOWER LEVEL IN THE SYSTEM. USING OPERATION 212 
TO JUMP TO ANOTHER REPORT AT THE SAME LEVEL GETS AROUND THIS BY TRANFERRING 
CONTROL TO THE REPORT NAMED BY THE LAST OPERATION 72 UNCONDITIONALLY WHEN 
PROCESSED, WITHOUT GOING TO A LOWER LEVEL. NOTE THAT THERE IS NO AUTOMATIC 
TRANSFER BACK TO THE CALLING REPORT WHEN THIS IS DONE.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I A6   INEXT  ^                                 I   I 65 Y 72 N
  2 I I6   I                                        I   I 185 Y 103 Y 212 N

     IN THE EXAMPLE, A REPORT NAMED "NEXT" WILL BE UNCONDITIONALLY GENNED WHEN 
THE OPERATION 212 IS PROCESSED. OPERATIONS 185 & 103 IN FIELD 2 OF THE EXAMPLE 
WILL CAUSE THE SYSTEM JULIAN DATE TO BE IN THE FIRST WORD OF MEMORY FOR "NEXT" 
TO USE.

HEX FOR EDIT: 00D4


                                    A-212
.PA
              OPERATION 213 - COMPARE THIS A-FMT FIELD TO MEMORY


     OPERATION 213 COMPARES THE CONTENTS OF THIS A-FORMAT FIELD TO THE 
CHARACTERS IN MEMORY, STARTING AT DATA POSTION 1 AND CONTINUING TO THE WIDTH 
OF THE FIELD'S FORMAT. THE OPERATION 33 FLAG IS SET ACCORDING TO THE OUTCOME 
OF THE COMPARISON.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I A4   I TEST                                   I   I 40 Y 65 Y 103 N
  2 I A4   I DATA?                                  I   I 0 Y 213 Y 143(5,2) N
  3 I A1   I MATCHED!                               I   I 55 N

     IN THE EXAMPLE, FIELD 1 PLACES THE 4 CHARACTERS "TEST" IN THE FIRST 4 
MEMORY LOCATIONS. FIELD 2 ASKS THE OPERATOR TO ENTER DATA AND PERFORMS THE 
COMPARISON. IF THE OPERATOR ENTERS ANYTHING OTHER THAN "TEST", THE OPERATION 
143 CAUSES THE QUERY TO BE REPEATED. WHEN THE MATCHING CHARACTERS ARE FINALLY 
ENTERED, FIELD 3 CAUSES "MATCHED!" TO BE VIEWED ON THE SCREEN.

HEX FOR EDIT: 00D5




                                    A-213
.PA
      OPERATION 214 - SEARCH A TABLE FOR 1ST MATCH WITHOUT ANSWER TABLE


     IN PERFORMING A TABLE SEARCH FOR THE FIRST MATCH, IT IS WASTEFUL OF TIME 
TO ESTABLISH AN ANSWER TABLE AND THEN ACCESS IT TO DETERMINE THE ANSWER. 
OPERATION 214 SOLVES THIS PROBLEM BY SEARCHING THE TABLE NAMED BY THE LAST 
OPERATION 81, FROM THE ROW NAMED BY THE LAST OPERATION 38 TO THE ROW NAMED BY 
THE LAST OPERATION 83, FOR THE FIRST MATCH WITH THE DATA IN THIS FIELD. THE 
ANSWER ROW IS PLACED IN THE CURRENT FIELD'S FIXED POINT REGISTER AND MAY BE 
OBTAINED BY ADDING AN INTEGER ZERO TO THE FIELD, OR MAY BE SIMPLY GOTTEN BY 
PLACING AN OPERATION 38 AND/OR 51 AFTER THE OPERATION 214. THE OPERATION 33 
FLAG IS ALSO SET ACCORDING TO THE OUTCOME OF THE SEARCH, I.E. IF THERE IS A 
MATCH IT INDICATES POSITIVE, AND IF THERE IS NO MATCH IT INDICATES ZERO.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I I6   I                                        I   I 116(1,2) Y 94 Y 83 N
  2 I A4   I DATA?                                  I   I 0 Y 116(2,1) Y 214 Y
    I      I                                        I   I 143(0,2) Y 38 N
  3 I A28  I                                        I   I 62 Y 116(3,0) Y 94 N

     IN THE EXAMPLE, FIELD 1 GETS THE LAST ROW NUMBER OF TABLE 2, WHICH HAS 
PREVIOUSLY BEEN SAVED IN TABLE 1 ROW 2, TO SET THE OPERATION 83 REGISTER. 
FIELD 2 ASKS THE OPERATOR FOR DATA TO BE MATCHED ON IN TABLE 2, STARTING AT 
ROW 1, AND WILL CONTINUE ASKING UNTIL THERE IS A MATCH. THE OPERATION 38 
REGISTER IS THEN SET SO THAT THE CORRESPONDING A28 DATA FROM TABLE 3 MAY BE 
OBTAINED AND FLASHED TO THE SCREEN BY FIELD 3.

HEX FOR EDIT: 00D6




                                    A-214
.PA
               OPERATION 215 - DYNAMIC ALPHANUMERIC CONVERSION

     OPERATION 64 ALLOWS CONVERSION FROM ALPHANUMERIC (ASCII) DATA TO BE 
ACCOMPLISHED BY OPERATIONS 52, 94, 102, 104, AND 110, BUT THE DATA POSITIONS 
TO BE CONVERTED MUST BE SPECIFIED AT FORMAT TIME. OPERATION 215 ALLOWS THE 
DATA POSITIONS TO BE SET DYNAMICALLY, USING THE OPERATION 38 REGISTER AS THE 
FIRST DATA POSITION TO BE CONVERTED AND THE OPERATION 81 REGISTER AS THE LAST 
DATA POSITION FOR CONVERSION.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I A78  I ASCII DATA?                            I   I 0 Y 103 N
  2 I I6   I FIRST DIGIT POSITION?                  I   I 0 Y 38 N
  3 I I6   I LAST DIGIT POSITION?                   I   I 0 Y 81 N
  4 I F8.2 I                                        I   I 215 Y 104 N

     IN THE ABOVE EXAMPLE, THE FIRST FIELD ASKS THE OPERATOR TO ENTER 78 
CHARACTERS OF ALPHANUMERIC DATA, WITHIN WHICH THERE IS A NUMBER TO BE OBTAINED 
BY THE FOURTH FIELD, USING THE FIRST CHARACTER POSITION ENTERED IN FIELD 2 AND 
THE LAST CHARACTER POSITION ENTERED IN FIELD 3. OPERATION 104 GETS THE DATA IN 
F8.2 FORMAT IN FIELD 4, CONTROLLED BY OPERATION 215.

HEX FOR EDIT: 00D7






                                    A-215
.PA
              OPERATION 216 - DYNAMIC CONVERSION TO ALPHANUMERIC

     OPERATION 216 IS THE REVERSE OF OPERATION 215, IN THAT IT ALLOWS NUMERIC 
DATA TO BE CONVERTED TO ASCII CHARACTERS DYNAMICALLY, USING THE OPERATION 51 
REGISTER AS THE FIRST DATA POSITION, AND THE OPERATION 81 REGISTER AS THE LAST 
DATA POSITION TO PLACED IN MEMORY. THE OPERATION 216 ALSO PERFORMS THE WRITE 
TO MEMORY, AS DOES OPERATION 105.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I I6   I                                        I   I 40 Y 18(1) N
  2 I I6   I                                        I   I 18(10) N
  3 I I6   I                                        I   I 10(1,149)Y 144(149)Y
    I      I                                        I   I 14(2,3) Y 51 N
  4 I I6   I                                        I   I 10(2,3)Y12(4,1)Y81N
  5 I D10.2I DATA?                                  I   I 0Y216Y33Y143(5,3)N
  6 I A6   I NEXT                                   I   I 65 Y 72 Y 212 N

     IN THIS EXAMPLE, FIELDS 1 THROUGH 4 CONTROL THE INCREMENTING OF THE DATA 
POSTIONS, 10 CHARACTERS AT A TIME, IN WHICH TO PLACE THE DATA KEYED INTO FIELD 
5 ON EACH PASS THROUGH THE LOOP, UNTIL A ZERO IS KEYED. FIELD 6 THEN TRANSFERS 
CONTROL AT THIS LEVEL TO THE REPORT "NEXT", WHICH MAY ACCESS THE DATA STRING 
BUILT UP HERE.

HEX FOR EDIT: 00D8






                                    A-216
.PA
             OPERATION 217 - LIKE 216 BUT STORES IN NATIVE FORMAT

     OPERATION 216 STORES DATA DYNAMICALLY IN MEMORY, BUT OCCUPIES TIME IN 
PERFORMING A CONVERSION FROM NUMERIC TO ALPHANUMERIC DATA. THIS CONVERSION 
TAKES SEVERAL THOUSAND PROCESSOR OPERATIONS, AND IN MANY CASES IS NOT 
NECESSARY FOR THE OPERATION OF THE REPORT. OPERATION 217 STORES INTO THE 
MEMORY ARRAY IN NATIVE FORMAT, BYPASSING THE STRING CONVERSION. IN ORDER TO 
USE THIS YOU SHOULD KNOW THAT AN INTEGER WILL OCCUPY 2 CHARACTER POSITIONS, A 
FLOATING POINT NUMBER WILL OCCUPY 4 CHARACTER POSITIONS, AND A DOUBLE 
PRECISION NUMBER WILL OCCUPY 8 CHARACTER POSITIONS. BE CAREFUL!

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I I6   I                                        I   I 40 Y 18(1) N
  2 I I6   I                                        I   I 18(4) N
  3 I I6   I                                        I   I 10(1,149)Y 144(149)Y
    I      I                                        I   I 14(2,3) Y 51 N
  4 I I6   I                                        I   I 10(2,3)Y12(4,1)Y81N
  5 I D10.2I DATA?                                  I   I 0Y217Y33Y143(5,3)N
  6 I A6   I NEXT                                   I   I 65 Y 72 Y 212 N

     THE EXAMPLE WORKS JUST LIKE THE EXAMPLE FOR OPERATION 216, EXCEPT THAT 
THE DATA IN STORED 4 BYTES AT A TIME IN MEMORY, IN IT'S NATIVE DOUBLE 
PRECISION FORMAT. THIS RESULTS IN A MAJOR SPEED IMPROVEMENT, AND ALSO A 
SAVINGS IN MEMORY USAGE.

HEX FOR EDIT: 00D9






                                    A-217
.PA
                OPERATION 218 - RETRIEVE DATA IN NATIVE FORMAT


     OPERATION 217 PLACES DATA DYNAMICALLY IN THE MEMORY ARRAY IN ITS NATIVE 
FORMAT. OPERATION 218 IS USED TO RETREIVE THE DATA FOR FURTHER PROCESSING.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I I6   I                                        I   I 40 Y 18(1) N
  2 I I6   I                                        I   I 18(4) N
  3 I I6   I                                        I   I 10(1,149)Y 144(149)Y
    I      I                                        I   I 14(2,3) Y 38 N
  4 I I6   I                                        I   I 10(2,3)Y12(4,1)Y81N
  5 I D10.2I DATA?                                  I   I 62Y218Y33Y143(5,3)N

     OPERATION 218'S EXAMPLE WILL VIEW DATA PLACED IN THE MEMORY ARRAY BY SOME 
PREVIOUS OPERATION 217. SEE THE OPERATION 217 EXAMPLE FOR MORE INFORMATION.
    
HEX FOR EDIT: 00DA




 

                                    A-218
.PA
     OPERATION 219 - SET THE OP.33 FLAG ACCORDING TO THE PR DEVICE STATUS

     IT IS SOMETIMES NECESSARY TO DETERMINE THE STATUS OF ANOTHER DEVICE WHEN 
IMPLEMENTING MULTI-USER SYSTEMS, IN ORDER TO AVOID DATA LOSS OR OTHER 
PROBLEMS. OPERATION 219 ALLOWS A REPORT TO DO THIS BY SETTING THE OPERATION 33 
FLAG ACCORDING TO THE PR DEVICE'S STATUS. A REPORT MAY THEN BRANCH ACCORDING 
TO THE LOGICAL VALUE RETURNED. THE FLAG WILL INDICATE NEGATIVE IF THE DEVICE 
IS IDLE, ZERO IF IT IS BUSY, OR POSITIVE IF IT IS RECEIVING VIEW OR PRINT 
DATA.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
  1 I I6   I                                        I   I 40 Y 18(1)Y144(2)N
  2 I I6   I                                        I   I 10(1,2) Y 136 Y
    I      I                                        I   I 219 Y 143(3,4) N
  3 I A6   I MESSAG                                 I   I 65 Y 72 Y 170 N
  4 I I6   I                                        I   I 18(4) Y 12(2,4) Y
    I      I                                        I   I 33 Y 143(2,2) N

     THE ABOVE EXAMPLE, IF RUN FROM PR1, WILL STEP THROUGH THE OTHER PR 
DEVICES, CONTROLLED BY THE OPERATION 136 IN FIELD 2, STARTING THE REPORT 
"MESSAG" ON THEM IF THEY ARE IDLE, OTHERWISE THEY WILL BE SKIPPED. IT IS 
NECESSARY TO DO THIS BECAUSE OPERATION 170 IN FIELD 3 WILL WAIT UNTIL THE 
DEVICE CAN BE STARTED, WHICH MAY TAKE AN INDETERMINATE AMOUNT OF TIME. NOTE 
THAT AT THE END OF THIS REPORT, THE EFFECTIVE PR DEVICE WILL BE 4, THE 
PARALLEL PRINTER IN 4-DEVICE SYSTEMS.
HEX FOR EDIT: 00DB




                                    

                                    A-219
.PA
                 OPERATION 220 - SET DATE/TIME OF THE SYSTEM.

    ONLY GASS' DATE/TIME WILL BE EFFECTED.

    EXAMPLE:
---I-------I----------------------------------------I---I--------------------
 1 I A1    I  (DOES NOT HAVE TO BE AN A-FIELD)      I   I 220




HEX FOR EDIT: 00DC
                                  
                                     A-220
.PA
                  OPERATION 221 - ADD 1 TO THE 38 REGISTER.

    OPERATION 221 MAY BE USED TO SHORTEN REPORTS THAT REQUIRE THE OPERATION
38 REGISTER TO BE INCREMENTED.

FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
 1  I I6   I ENTER NUMBER OF ROWS TO VIEW           I   I 40 Y 0 N
 2  I A78  I                                        I   I 62 Y 116(11,0) Y 
    I      I                                        I   I 102 N
 3  I I6   I                                        I ^ I 221 Y 10(0,1) Y 
    I      I                                        I   I 12(1,3) Y 33 Y
    I      I                                        I   I 143(5,2) N

    IN THE EXAMPLE, WHEN THE OPERATOR KEYS THE NUMBER OF ROWS TO VIEW IN, THAT 
NUMBER OF ROWS OF TABLE 11 WILL BE VIEWED.

HEX FOR EDIT: 00DD


                                     A-221
.PA
                  OPERATION 222 - ADD 1 TO THE 51 REGISTER.

    OPERATION 222 ADDS 1 TO THE OPERATION 51 COUNTER. OPERATION 221 SAVES 
CODING.

FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
 1  I I6   I ENTER NO OF ROWS TO STUFF              I   I 40 Y 0 N
 2  I A24  I STUFF DATA FOR TABLE 100               I   I 65 Y 117(100,0) Y
    I      I                                        I   I 101 N
 3  I I6   I                                        I ^ I 222 Y 10(0,2) Y
    I      I                                        I   I 12(1,3) Y 33 Y
    I      I                                        I   I 143(5,2) N

    IN THE EXAMPLE, WHEN THE NUMBER OF ROWS TO STUFF IS ENTERED, THE REPORT 
LOOPS BETWEEN FIELDS 2 AND 3 UNTIL THE COMMENT IN FIELD 2 HAS BEEN WRITTEN 
INTO TABLE 100 STARTING IN ROW 1 AND CONTINUING FOR THE NUMBER KEYED IN.


HEX FOR EDIT: 00DE

                                     A-222



.PA
                   OPERATION 223 - ADD 1 TO THE 81 REGISTER

    OPERATION 223 INCREMENTS THE 81 COUNTER WHICH MAY SAVE CODE.

FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
 1  I I6   I NUMBER OF ROWS TO VIEW                 I   I 40 Y 0 N
 2  I I6   I STARTING TABLE NUMBER                  I   I 0 Y 103 N
 3  I I6   I                                        I   I 104 Y 81 N
 4  I A30  I                                        I ^ I 140 Y 223 Y 140 Y
    I      I                                        I   I 223 Y 140 Y 223 Y
    I      I                                        I   I 140 N
 5  I I6   I                                        I ^ I 221 Y 10(0,1) Y
    I      I                                        I   I 12(1,5) Y 33 Y
    I      I                                        I   I 143(5,3) N

    THE EXAMPLE COULD BE A LABEL PRINTER. THE OPERATOR KEYS IN THE NUMBER OF  
ROWS TO VIEW AND THE BEGINING TABLE NUMBER. THE REPORT THEN VIEWS CONSECUTIVE 
ROWS OF 4 CONSECUTIVE TABLES.

HEX FOR EDIT: 00DF 


.PA 
                 OPERATION 224 - PAGE HEADER DATA & ENABLE

     OPERATION 224, WHEN EXECUTED ON A PRINTER DEVICE, TAKES THE DATA IN THE 
SYSTEM OUTPUT BUFFER AND PLACES IT IN THE PAGE HEADER MEMORY, AND RESETS THE 
PAGE NUMBER TO 1. THEREAFTER, UNTIL AN OP. 225 IS PROCESSED ON THE DEVICE, ANY 
FORM-FEED WHICH IS TRANSMITTED TO THE DEVICE CAUSES THE PAGE HEADER TO PRINT 
AT THE TOP OF THE NEXT PAGE, WITH THE PAGE NUMBER AT THE RIGHT OF THE LINE.

EXAMPLE:
FLD  FMT    COMMENTS                                 \^  OPERATIONS
----I------I----------------------------------------I---I----------
1   I A126 I                                        I ^ I 40 Y 116(10,1) Y
    I      I                                        I   I 94 Y 224 N
    I      I                                        I   I

    IN THE EXAMPLE, AN A126 ALPHA STRING IS PULLED FROM ROW 1 OF TABLE 10 AND
OPERATION 224 SETS IT IN AS THE HEADER FOR THIS DEVICE AND SETS THE PAGE 
NUMBER TO 1.  FROM THEN ON, EACH TIME A FORM FEED IS TRANSMITTED, THE HEADER
WILL VIEW, THE PAGE NUMBER WILL BE CONCATENATED TO THE HEADER, AND THE PAGE
COUNTER IN THE I/O TABLE WILL BE INCREMENTED BY 1. FOR RO DEVICES (PRINTERS/
PLOTTERS, ETC.) THE REPORT SHOULD BE TURNED OVER TO IT BY OPERATION 170 OR BY
CODE 10 AT REPORT IDLE. THE ENTIRE HEADER, INCLUDING THE PAGE NUMBER, IS AN
ALPHA STRING UP TO 130 CHARACTERS LONG.  FOR 8 1/2 X 11 PAPER THE FORMAT IN
THE EXAMPLE COULD BE A74 AND THE PAGE NUMBER, WHICH IS ALWAYS 4 CHARACTERS
LONG, WOULD MAKE A TOTAL OF A78 FOR THE ENTIRE HEADER.  THE SYSTEM ALWAYS
SENDS 130 CHARACTERS, BUT NULLS ARE ENTERED INTO THE HEADER BY OPERATION 224
SO THAT IT APPEARS THAT THE FORMAT HAS CONTROL OF THE LENGTH OF THE HEADER.

HEX FOR EDIT: 00E0

                                     A-224
Hosted by www.Geocities.ws

1