/ 1 OS/8 V3D ENCODE/DECODE - ROUTINE / / 16-SEP-78 WOLFGANG HOUBEN / / CALL ENCODE ( NCHAR , FORMAT , ARRAY , VAR ) / / NCHAR : NUMBER OF CHAR'S TO BE CONVERTED / FORMAT : FORMAT SPECIFICATION AS FOR A WRITE / THE FORMAT MUST BE IN THE FOLLOWING / FORM AND NOT LONGER THAN 6 CHARACTERS / E.G. 'F10.3' / ARRAY : STORAGE FOR THE RESULT / VAR : THE VARIABLE TO BE CONVERTED / ENTRY ENCOD ENTRY DECOD DUMMY NCHAR DUMMY FORMAT DUMMY ARRAY DUMMY VAR / NCHAR, BLOCK 2 FORMAT, BLOCK 2 ARRAY, BLOCK 2 VAR, BLOCK 2 XPNT, NCHAR PNTR, 0 CNTR, 0 F0, 5040 / ( + SPACE F1, 0 F2, 0 F3, 0;4051 / SPACE + ) ENCOD, BLOCK 2 TAD XPNT DCA PNTR TAD (-10 DCA CNTR LOOP, TAD I ENCODE DCA I PNTR INC ENCOD# ISZ CNTR JMP LOOP / GET ALL ARG ADDR'S TAD ARRAY / GET THE ARRAY ADDR DCA ^A TAD ARRAY# DCA ^A# TAD I NCHAR / GET # OF CHAR'S CALL 1,^SETUP / INFORM THE GENIO ROUTINE ^A, ARG 0 TAD I FORMAT / GET THE FORMAT DCA F1 INC FORMAT# TAD I FORMAT DCA F2 INC FORMAT# TAD I FORMAT DCA F3 TAD VAR DCA ^B TAD VAR# DCA ^B# CALL 2,WRITE / INITIALIZE THE WRITE ARG (13 ARG F0 CALL 1,IOH / CONVERT THE VARIABLE ^B, ARG 0 CALL 1,IOH / TERMINATE THE WRITE ARG 0 RETRN ENCOD END