*DECK OCTDIS
*IF DEF,STAT
IDENT OCTDIS 000100
EXT XTRACE 000200
ENTRY OCTDIS 000300
M1 VFD 60/55B 000400
M2 VFD 60/55555500000000000000B 000500
OCTDIS EQ *+4S12 000600
*#
*1DC OCTDIS
* 1. PROC NAME AUTHOR DATE
* OCTDIS P.C.TAM 77/08/03
*
* 2. FUNCTIONAL DESCRIPTION.
* EXAMINE A DISPLAY CODE WORD, REPLACING ALL 00B BY BLANKS.
*
* 3. METHOD USED.
* BLANK LEADING ZEROS FOR THE FIRST SEVEN CHARACTERS.
* BLANK THE LAST THREE CHARACTERS OF WORD.
*
* 4. ENTRY PARAMETERS.
* FIRST PARAMETER REPRESENT WORD TO BE EXAMINED.
*
* 5. EXIT PARAMETERS.
* SECOND PARAMETER IS STORAGE OF RESULT.
*
* 6. COMDECKS CALLED
* INPARU MACDEF
*
* 7. ROUTINES CALLED.
* XTRACE
*
* 8. DAYFILE MESSAGES.
* NONE
*#
*CALL MACDEF
*CALL INPARU
DEBUG1 IFEQ DEBUG,1,6
SX6 A1
SA6 TEMP
SX1 XOCTDIS
RJ XTRACE
SA1 TEMP
SA1 X1
ENDIF DEBUG1 001000
001100
SA2 A1+1 (X1) = ADDR OF WORD TO BE CHECKED 001200
(X2) = ADDR OF WORD FOR STORAGE 001300
MX0 54 (X0) = 77777777777777777700B 001400
SB1 1 (B1) = START OF LOOP VALUE 001500
MX6 0 001600
SA4 M1 (X4) = 00000000000000000055B 001700
SB2 7 (B2) = END VALUE OF LOOP 001800
SA3 X1 (X3) = WORD TO BE CHECHED 001900
LOOP GT B1,B2,EOL 002000
LX3 6 GET NEXT CHAR FROM RIGHT 002100
LX6 6 PREPARE TO ACCEPT CHAR 002200
BX7 -X0*X3 GET A CHAR 002300
NZ X7,SKIP1 002400
002500
BX6 X6+X4 CONVERT TO BLANK 002600
JP SKIP2 002700
002800
SKIP1 BX6 X6+X7 002900
003000
SKIP2 SB1 B1+1 CONTINUE PROCESSING 003100
JP LOOP 003200
003300
EOL SA5 M2 (X5) = 55555500000000000000B 003400
BX6 X6+X5 BLANK OUT THE REST OF THE WORD 003500
LX6 18 003600
SA6 X2 003700
JP OCTDIS 003800
XOCTDIS DATA L*OCTDS*
TEMP BSS 1
END 003900
*ENDIF