Trailing-Edge
-
PDP-10 Archives
-
BB-R598A-RM_1983
-
swskit-v3/listings/vnp36/misc.list
There are no other files named misc.list in the archive.
!
! NONE
! 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 1
1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (1)
; 0001 !<REL4A.TKB-VNP>MISC.BLI.6, 3-Dec-79 14:34:50, Edit by SROBINSON
; 0002 MODULE MISC ( !MISCELLANEOUS
; 0003 IDENT = 'X2.0'
; 0004 ) =
; 0005 BEGIN
; 0006 !
; 0007 !
; 0008 !
; 0009 ! COPYRIGHT (c) 1980, 1981, 1982
; 0010 ! DIGITAL EQUIPMENT CORPORATION
; 0011 ! Maynard, Massachusetts
; 0012 !
; 0013 ! This software is furnished under a license and may be used
; 0014 ! and copied only in accordance with the terms of such license
; 0015 ! and with the inclusion of the above copyright notice. This
; 0016 ! software or any other copies thereof may not be provided or
; 0017 ! otherwise made available to any other person. No title to
; 0018 ! and ownership of the software is hereby transferred.
; 0019 !
; 0020 ! The information in this software is subject to change
; 0021 ! without notice and should not be construed as a commitment
; 0022 ! by DIGITAL EQUIPMENT CORPORATION.
; 0023 !
; 0024 ! DIGITAL assumes no responsibility for the use or reliability
; 0025 ! of its software on equipment which is not supplied by
; 0026 ! DIGITAL.
; 0027 !
; 0028
; 0029 !++
; 0030 ! FACILITY: TKB-20 AND VNP-20
; 0031 !
; 0032 ! ABSTRACT:
; 0033 !
; 0034 !
; 0035 ! THIS MODULE PROVIDES SEVERAL MISCELLANEOUS SERVICES
; 0036 !
; 0037 !
; 0038 ! ENVIRONMENT: TOPS-20 USER MODE
; 0039 !
; 0040 ! AUTHOR: J. SAUTER, CREATION DATE: 14-DEC-77
; 0041 !
; 0042 ! MODIFIED BY:
; 0043 !
; 0044 ! Scott G. Robinson, 13-JUN-79 : VERSION X0.2
; 0045 ! - Make a Call to ERROR fatal
; 0046 !-----------------------------------------------------------------------
; 0047 !
; 0048 ! Scott G. Robinson, 3-DEC-79 : Version X2.0
; 0049 ! - Ensure DECnet-10 Compatibility
; 0050 !
; 0051 ! , : VERSION
; 0052 ! 01 -
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 2
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (1)
; 0053 !--
; 0054
; 0055 !<BLF/PAGE>
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 3
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (2)
; 0056 !
; 0057 ! TABLE OF CONTENTS:
; 0058 !
; 0059
; 0060 FORWARD ROUTINE
; 0061 ERROR : NOVALUE, !PROGRAMMING ERROR
; 0062 R50TOA : NOVALUE, !RADIX50_11 TO ASCII
; 0063 RX50, !ASCII CHAR TO RADIX50
; 0064 ATOR50 : NOVALUE; !ASCII TO RADIX50_11
; 0065
; 0066 !
; 0067 ! INCLUDE FILES:
; 0068 !
; 0069 !
; 0070 ! MACROS:
; 0071 !
; 0072 ! NONE
; 0073 !
; 0074 ! EQUATED SYMBOLS:
; 0075 !
; 0076
; 0077 LITERAL
; 0078 DEBUG = 0;
; 0079
; 0080 !
; 0081 ! OWN STORAGE:
; 0082 !
; 0083
; 0084 OWN
; 0085 ERR_FLAG : INITIAL (0);
; 0086
; 0087 !
; 0088 ! EXTERNAL REFERENCES:
; 0089 !
; 0090
; 0091 EXTERNAL ROUTINE
; 0092 FND_CHAIN, !FIND A BLOCK IN A CHAIN
; 0093 OUTPUT : NOVALUE, !WRITE ON A FILE
; 0094 OUTSTR : NOVALUE, !WRITE A STRING ON A FILE
; 0095 PCRLF : NOVALUE, !SEND CRLF TO A FILE
; 0096 STOP_PROGRAM : NOVALUE; !TERMINATE EXECUTION
; 0097
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 4
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (3)
; 0098 GLOBAL ROUTINE ERROR (MESSAGE) : NOVALUE = !SIGNAL A PROGRAMMING ERROR
; 0099
; 0100 !++
; 0101 ! FUNCTIONAL DESCRIPTION:
; 0102 !
; 0103 ! PRINT A MESSAGE DUE TO A PROGRAMMING ERROR IN TKB-20
; 0104 ! TERMINATE THE PROGRAM AFTERWARDS
; 0105 !
; 0106 ! FORMAL PARAMETERS:
; 0107 !
; 0108 ! MESSAGE - POINTER TO THE STRING DESCRIBING THE ERROR
; 0109 !
; 0110 ! IMPLICIT INPUTS:
; 0111 !
; 0112 ! ERR_FLAG
; 0113 !
; 0114 ! IMPLICIT OUTPUTS:
; 0115 !
; 0116 ! ERR_FLAG
; 0117 !
; 0118 ! ROUTINE VALUE:
; 0119 !
; 0120 ! NONE
; 0121 !
; 0122 ! SIDE EFFECTS
; 0123 !
; 0124 ! NONE
; 0125 !
; 0126 !--
; 0127
; 0128 BEGIN
; 0129
; 0130 IF (.ERR_FLAG EQL 0)
; 0131 THEN
; 0132 BEGIN
; 0133 ERR_FLAG = 1;
; 0134 PCRLF (0);
; 0135 OUTPUT (0, %C'?');
; 0136 OUTSTR (0, .MESSAGE);
; 0137 END;
; 0138
; 0139 STOP_PROGRAM ();
; 0140 END;
TITLE MISC
TWOSEG
.REQUEST SYS:B362LB.REL
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 5
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (3)
RELOC 0 ; 000000'
ERR_FLAG:
EXP 0 ; 000000' 000000 000000
EXTERN FND_CHAIN, OUTPUT, OUTSTR, PCRLF, STOP_PROGRAM
AC0= 0
AC1= 1
AC2= 2
AC3= 3
AC4= 4
AC5= 5
AC6= 6
AC7= 7
AC10= 10
AC11= 11
AC12= 12
AC13= 13
AC14= 14
FP= 15
AC16= 16
SP= 17
RELOC 400000 ; 400000'
ERROR:: SKIPE ERR_FLAG ; ERR_FLAG 400000' 332 00 0 00 000000' 0130
JRST L.1 ; L.1 400001' 254 00 0 00 400015'
MOVEI AC1,1 ; AC1,1 400002' 201 01 0 00 000001 0133
MOVEM AC1,ERR_FLAG ; AC1,ERR_FLAG 400003' 202 01 0 00 000000'
PUSH SP,C.1 ; SP,[0] 400004' 261 17 0 00 400016' 0134
PUSHJ SP,PCRLF ; SP,PCRLF 400005' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400006' 402 00 0 17 000000 0135
PUSH SP,C.2 ; SP,[77] 400007' 261 17 0 00 400017'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400010' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400011' 402 00 0 17 000000 0136
PUSH SP,-3(SP) ; SP,MESSAGE 400012' 261 17 0 17 777775
PUSHJ SP,OUTSTR ; SP,OUTSTR 400013' 260 17 0 00 000000*
ADJSP SP,-3 ; SP,-3 400014' 105 17 0 00 777775 0132
L.1: JRST STOP_PROGRAM ; STOP_PROGRAM 400015' 254 00 0 00 000000* 0139
C.1: EXP 0 ; 0 400016' 000000 000000
C.2: EXP 77 ; 77 400017' 000000 000077
; Routine Size: 16 words
; 0141
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 6
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (4)
; 0142 GLOBAL ROUTINE R50TOA (R50, ASCVAL) : NOVALUE = !CONVERT RADIX50 TO ASCII
; 0143
; 0144 !++
; 0145 ! FUNCTIONAL DESCRIPTION:
; 0146 !
; 0147 ! CONVERT PDP-11 FORMAT RADIX50 TO ASCII
; 0148 !
; 0149 ! FORMAL PARAMETERS:
; 0150 !
; 0151 ! R50 - 32 BITS OF PDP-11 FORMAT RADIX50
; 0152 ! ASCVAL - 7-CHARACTER STRING OF RESULTING ASCIZ
; 0153 !
; 0154 ! IMPLICIT INPUTS:
; 0155 !
; 0156 ! NONE
; 0157 !
; 0158 ! IMPLICIT OUTPUTS:
; 0159 !
; 0160 ! NONE
; 0161 !
; 0162 ! ROUTINE VALUE:
; 0163 !
; 0164 ! NONE
; 0165 !
; 0166 ! SIDE EFFECTS
; 0167 !
; 0168 ! NONE
; 0169 !
; 0170 !--
; 0171
; 0172 BEGIN
; 0173
; 0174 MAP
; 0175 ASCVAL : REF VECTOR [CH$ALLOCATION (7)];
; 0176
; 0177 LOCAL
; 0178 ASCPTR,
; 0179 CHAR,
; 0180 TEMP1,
; 0181 TEMP2;
; 0182
; 0183 ASCVAL [0] = 0;
; 0184 ASCVAL [1] = 0;
; 0185 ASCPTR = CH$PTR (ASCVAL [0], 5);
; 0186
; 0187 INCR WORD_NUMBER FROM 0 TO 1 DO
; 0188 BEGIN
; 0189 TEMP1 = .R50<(IF (.WORD_NUMBER EQL 0) THEN 0 ELSE 16), 16>;
; 0190
; 0191 INCR CHAR_NUMBER FROM 1 TO 3 DO
; 0192 BEGIN
; 0193 TEMP2 = .TEMP1 MOD %O'50';
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 7
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (4)
; 0194 TEMP1 = .TEMP1/%O'50';
; 0195 CHAR = (CASE .TEMP2 FROM 0 TO (%O'50' - 1) OF
; 0196 SET
; 0197 [0] : %C' ';
; 0198 [1 TO 26] : %C'A' + (.TEMP2 - 1);
; 0199 [27] : %C'$';
; 0200 [28] : %C'.';
; 0201 [29] : %C'&'; !ACTUALLY UNDEFINED
; 0202 [30 TO 39] : %C'0' + (.TEMP2 - 30);
; 0203 [OUTRANGE] : %C'&'; !SHOULD NEVER HAPPEN
; 0204 TES);
; 0205 CH$WCHAR (.CHAR, .ASCPTR);
; 0206 ASCPTR = CH$PLUS (.ASCPTR, -1);
; 0207 END; !OF INCR CHARACTER
; 0208
; 0209 END; !OF INCR WORD
; 0210
; 0211 CH$WCHAR (0, CH$PTR (ASCVAL [0], 6)); !APPEND 0 TO MAKE ASCIZ
; 0212 END; !OF R50TOA
R50TOA::PUSH SP,AC0 ; SP,AC0 400020' 261 17 0 00 000000 0142
PUSH SP,AC10 ; SP,AC10 400021' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 400022' 261 17 0 00 000011
PUSH SP,AC16 ; SP,AC16 400023' 261 17 0 00 000016
MOVE AC4,-5(SP) ; AC4,ASCVAL 400024' 200 04 0 17 777773 0183
SETZM 0(AC4) ; 0(AC4) 400025' 402 00 0 04 000000
SETZM 1(AC4) ; 1(AC4) 400026' 402 00 0 04 000001 0184
MOVEI AC1,0(AC4) ; AC1,0(AC4) 400027' 201 01 0 04 000000 0185
HRLI AC1,10700 ; AC1,10700 400030' 505 01 0 00 010700
MOVE AC11,AC1 ; ASCPTR,AC1 400031' 200 11 0 00 000001
SETZ AC10, ; WORD_NUMBER, 400032' 400 10 0 00 000000 0187
L.2: JUMPN AC10,L.3 ; WORD_NUMBER,L.3 400033' 326 10 0 00 400035' 0189
TDZA AC1,AC1 ; AC1,AC1 400034' 634 01 0 00 000001
L.3: MOVEI AC1,20 ; AC1,20 400035' 201 01 0 00 000020
MOVE AC2,C.3 ; AC2,[POINT 16,R50,35] <0,16> 400036' 200 02 0 00 400166'
DPB AC1,C.4 ; AC1,[POINT 6,AC2,5] <30,6> 400037' 137 01 0 00 400167'
LDB AC0,AC2 ; TEMP1,AC2 400040' 135 00 0 00 000002
MOVEI AC16,1 ; CHAR_NUMBER,1 400041' 201 16 0 00 000001 0191
L.4: MOVE AC1,AC0 ; AC1,TEMP1 400042' 200 01 0 00 000000 0193
IDIVI AC1,50 ; AC1,50 400043' 231 01 0 00 000050
MOVE AC5,AC2 ; TEMP2,AC2 400044' 200 05 0 00 000002
MOVE AC1,AC0 ; AC1,TEMP1 400045' 200 01 0 00 000000 0194
IDIVI AC1,50 ; AC1,50 400046' 231 01 0 00 000050
MOVE AC0,AC1 ; TEMP1,AC1 400047' 200 00 0 00 000001
JUMPL AC5,L.10 ; TEMP2,L.10 400050' 321 05 0 00 400135' 0195
CAIGE AC5,50 ; TEMP2,50 400051' 305 05 0 00 000050
JRST L.5(AC5) ; L.5(TEMP2) 400052' 254 00 0 05 400054'
JRST L.10 ; L.10 400053' 254 00 0 00 400135'
L.5: JRST L.6 ; L.6 400054' 254 00 0 00 400124'
JRST L.7 ; L.7 400055' 254 00 0 00 400126'
JRST L.7 ; L.7 400056' 254 00 0 00 400126'
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 8
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (4)
JRST L.7 ; L.7 400057' 254 00 0 00 400126'
JRST L.7 ; L.7 400060' 254 00 0 00 400126'
JRST L.7 ; L.7 400061' 254 00 0 00 400126'
JRST L.7 ; L.7 400062' 254 00 0 00 400126'
JRST L.7 ; L.7 400063' 254 00 0 00 400126'
JRST L.7 ; L.7 400064' 254 00 0 00 400126'
JRST L.7 ; L.7 400065' 254 00 0 00 400126'
JRST L.7 ; L.7 400066' 254 00 0 00 400126'
JRST L.7 ; L.7 400067' 254 00 0 00 400126'
JRST L.7 ; L.7 400070' 254 00 0 00 400126'
JRST L.7 ; L.7 400071' 254 00 0 00 400126'
JRST L.7 ; L.7 400072' 254 00 0 00 400126'
JRST L.7 ; L.7 400073' 254 00 0 00 400126'
JRST L.7 ; L.7 400074' 254 00 0 00 400126'
JRST L.7 ; L.7 400075' 254 00 0 00 400126'
JRST L.7 ; L.7 400076' 254 00 0 00 400126'
JRST L.7 ; L.7 400077' 254 00 0 00 400126'
JRST L.7 ; L.7 400100' 254 00 0 00 400126'
JRST L.7 ; L.7 400101' 254 00 0 00 400126'
JRST L.7 ; L.7 400102' 254 00 0 00 400126'
JRST L.7 ; L.7 400103' 254 00 0 00 400126'
JRST L.7 ; L.7 400104' 254 00 0 00 400126'
JRST L.7 ; L.7 400105' 254 00 0 00 400126'
JRST L.7 ; L.7 400106' 254 00 0 00 400126'
JRST L.8 ; L.8 400107' 254 00 0 00 400131'
JRST L.9 ; L.9 400110' 254 00 0 00 400133'
JRST L.10 ; L.10 400111' 254 00 0 00 400135'
JRST L.11 ; L.11 400112' 254 00 0 00 400137'
JRST L.11 ; L.11 400113' 254 00 0 00 400137'
JRST L.11 ; L.11 400114' 254 00 0 00 400137'
JRST L.11 ; L.11 400115' 254 00 0 00 400137'
JRST L.11 ; L.11 400116' 254 00 0 00 400137'
JRST L.11 ; L.11 400117' 254 00 0 00 400137'
JRST L.11 ; L.11 400120' 254 00 0 00 400137'
JRST L.11 ; L.11 400121' 254 00 0 00 400137'
JRST L.11 ; L.11 400122' 254 00 0 00 400137'
JRST L.11 ; L.11 400123' 254 00 0 00 400137'
L.6: MOVEI AC3,40 ; CHAR,40 400124' 201 03 0 00 000040
JRST L.12 ; L.12 400125' 254 00 0 00 400141'
L.7: MOVE AC3,AC5 ; CHAR,TEMP2 400126' 200 03 0 00 000005 0198
ADDI AC3,100 ; CHAR,100 400127' 271 03 0 00 000100
JRST L.12 ; L.12 400130' 254 00 0 00 400141' 0195
L.8: MOVEI AC3,44 ; CHAR,44 400131' 201 03 0 00 000044
JRST L.12 ; L.12 400132' 254 00 0 00 400141'
L.9: MOVEI AC3,56 ; CHAR,56 400133' 201 03 0 00 000056
JRST L.12 ; L.12 400134' 254 00 0 00 400141'
L.10: MOVEI AC3,46 ; CHAR,46 400135' 201 03 0 00 000046
JRST L.12 ; L.12 400136' 254 00 0 00 400141'
L.11: MOVE AC3,AC5 ; CHAR,TEMP2 400137' 200 03 0 00 000005 0202
ADDI AC3,22 ; CHAR,22 400140' 271 03 0 00 000022
L.12: MOVE AC1,AC11 ; AC1,ASCPTR 400141' 200 01 0 00 000011 0205
IDPB AC3,AC1 ; CHAR,AC1 400142' 136 03 0 00 000001
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 9
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (4)
SETO AC1, ; AC1, 400143' 474 01 0 00 000000 0206
ADJBP AC1,AC11 ; AC1,ASCPTR 400144' 133 01 0 00 000011
MOVE AC11,AC1 ; ASCPTR,AC1 400145' 200 11 0 00 000001
ADDI AC16,1 ; CHAR_NUMBER,1 400146' 271 16 0 00 000001 0191
CAIG AC16,3 ; CHAR_NUMBER,3 400147' 307 16 0 00 000003
JRST L.4 ; L.4 400150' 254 00 0 00 400042'
ADDI AC10,1 ; WORD_NUMBER,1 400151' 271 10 0 00 000001 0187
CAIG AC10,1 ; WORD_NUMBER,1 400152' 307 10 0 00 000001
JRST L.2 ; L.2 400153' 254 00 0 00 400033'
SETZ AC2, ; AC2, 400154' 400 02 0 00 000000 0211
MOVE AC1,AC4 ; AC1,AC4 400155' 200 01 0 00 000004
MOVEI AC1,1(AC1) ; AC1,1(AC1) 400156' 201 01 0 01 000001
HRLI AC1,350700 ; AC1,350700 400157' 505 01 0 00 350700
IDPB AC2,AC1 ; AC2,AC1 400160' 136 02 0 00 000001
POP SP,AC16 ; SP,AC16 400161' 262 17 0 00 000016 0142
POP SP,AC11 ; SP,AC11 400162' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 400163' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 400164' 262 17 0 00 000000
POPJ SP, ; SP, 400165' 263 17 0 00 000000
C.3: POINT 16,-6(SP),35 ; 16,R50,35 400166' 00 20 0 17 777772
C.4: POINT 6,AC2,5 ; 6,AC2,5 400167' 36 06 0 00 000002
; Routine Size: 104 words
; 0213
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 10
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (5)
; 0214 GLOBAL ROUTINE RX50 (CHAR) = !CONVERT ASCII CHAR TO RADIX50
; 0215
; 0216 !++
; 0217 ! FUNCTIONAL DESCRIPTION:
; 0218 !
; 0219 ! CONVERT ASCII CHARACTER TO RADIX50_11
; 0220 ! NULLS ARE CONVERTED TO SPACES.
; 0221 !
; 0222 ! FORMAL PARAMETERS:
; 0223 !
; 0224 ! CHAR - ASCII CHARACTER
; 0225 !
; 0226 ! IMPLICIT INPUTS:
; 0227 !
; 0228 ! NONE
; 0229 !
; 0230 ! IMPLICIT OUTPUTS:
; 0231 !
; 0232 ! NONE
; 0233 !
; 0234 ! ROUTINE VALUE:
; 0235 !
; 0236 ! THE RADIX50 VALUE OF THE CHARACTER
; 0237 !
; 0238 ! SIDE EFFECTS
; 0239 !
; 0240 ! NONE
; 0241 !
; 0242 !--
; 0243
; 0244 BEGIN
; 0245
; 0246 SELECTONE .CHAR OF
; 0247 SET
; 0248
; 0249 [%C' ', 0] :
; 0250 0;
; 0251
; 0252 [%C'A' TO %C'Z'] :
; 0253 .CHAR + %O'1' - %C'A';
; 0254
; 0255 [%C'$'] :
; 0256 %O'33';
; 0257
; 0258 [%C'.'] :
; 0259 %O'34';
; 0260
; 0261 [%C'0' TO %C'9'] :
; 0262 .CHAR + %O'36' - %C'0';
; 0263
; 0264 [%C'a' TO %C'z'] :
; 0265 .CHAR + %O'1' - %C'a';
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 11
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (5)
; 0266
; 0267 [OTHERWISE] :
; 0268 %O'35';
; 0269 TES
; 0270
; 0271 END; !OF RX50
RX50:: MOVE AC1,-1(SP) ; AC1,CHAR 400170' 200 01 0 17 777777 0246
JUMPE AC1,L.13 ; AC1,L.13 400171' 322 01 0 00 400174'
CAIE AC1,40 ; AC1,40 400172' 302 01 0 00 000040
JRST L.14 ; L.14 400173' 254 00 0 00 400176'
L.13: SETZ AC1, ; AC1, 400174' 400 01 0 00 000000 0244
POPJ SP, ; SP, 400175' 263 17 0 00 000000
L.14: CAIL AC1,101 ; AC1,101 400176' 301 01 0 00 000101 0246
CAILE AC1,132 ; AC1,132 400177' 303 01 0 00 000132
JRST L.15 ; L.15 400200' 254 00 0 00 400204'
MOVE AC2,AC1 ; AC2,AC1 400201' 200 02 0 00 000001 0253
SUBI AC2,100 ; AC2,100 400202' 275 02 0 00 000100
JRST L.18 ; L.18 400203' 254 00 0 00 400221'
L.15: CAIE AC1,44 ; AC1,44 400204' 302 01 0 00 000044 0246
JRST L.16 ; L.16 400205' 254 00 0 00 400210'
MOVEI AC1,33 ; AC1,33 400206' 201 01 0 00 000033 0244
POPJ SP, ; SP, 400207' 263 17 0 00 000000
L.16: CAIE AC1,56 ; AC1,56 400210' 302 01 0 00 000056 0246
JRST L.17 ; L.17 400211' 254 00 0 00 400214'
MOVEI AC1,34 ; AC1,34 400212' 201 01 0 00 000034 0244
POPJ SP, ; SP, 400213' 263 17 0 00 000000
L.17: CAIL AC1,60 ; AC1,60 400214' 301 01 0 00 000060 0246
CAILE AC1,71 ; AC1,71 400215' 303 01 0 00 000071
JRST L.19 ; L.19 400216' 254 00 0 00 400223'
MOVE AC2,AC1 ; AC2,AC1 400217' 200 02 0 00 000001 0262
SUBI AC2,22 ; AC2,22 400220' 275 02 0 00 000022
L.18: MOVE AC1,AC2 ; AC1,AC2 400221' 200 01 0 00 000002 0244
POPJ SP, ; SP, 400222' 263 17 0 00 000000
L.19: CAIL AC1,141 ; AC1,141 400223' 301 01 0 00 000141 0246
CAILE AC1,172 ; AC1,172 400224' 303 01 0 00 000172
JRST L.20 ; L.20 400225' 254 00 0 00 400230'
SUBI AC1,140 ; AC1,140 400226' 275 01 0 00 000140 0265
POPJ SP, ; SP, 400227' 263 17 0 00 000000 0244
L.20: MOVEI AC1,35 ; AC1,35 400230' 201 01 0 00 000035
POPJ SP, ; SP, 400231' 263 17 0 00 000000 0214
; Routine Size: 34 words
; 0272
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 12
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (6)
; 0273 GLOBAL ROUTINE ATOR50 (ASCVAL, R50) : NOVALUE = !CONVERT ASCII TO RADIX50
; 0274
; 0275 !++
; 0276 ! FUNCTIONAL DESCRIPTION:
; 0277 !
; 0278 ! CONVERT ASCII TO RADIX50_11
; 0279 !
; 0280 ! FORMAL PARAMETERS:
; 0281 !
; 0282 ! ASCVAL - SIX CHARACTERS OF ASCII
; 0283 ! R50 - POINTER TO VECTOR OF LENGTH 4 TO RECEIVE BYTES
; 0284 !
; 0285 ! IMPLICIT INPUTS:
; 0286 !
; 0287 ! NONE
; 0288 !
; 0289 ! IMPLICIT OUTPUTS:
; 0290 !
; 0291 ! NONE
; 0292 !
; 0293 ! ROUTINE VALUE:
; 0294 !
; 0295 ! NONE
; 0296 !
; 0297 ! SIDE EFFECTS
; 0298 !
; 0299 ! NONE
; 0300 !
; 0301 !--
; 0302
; 0303 BEGIN
; 0304
; 0305 MAP
; 0306 ASCVAL : REF VECTOR [CH$ALLOCATION (7)],
; 0307 R50 : REF VECTOR [4];
; 0308
; 0309 LOCAL
; 0310 ASCPTR,
; 0311 CHAR1,
; 0312 CHAR2,
; 0313 CHAR3,
; 0314 R50_INDEX,
; 0315 TEMP;
; 0316
; 0317 ASCPTR = CH$PTR (.ASCVAL, -1);
; 0318 R50_INDEX = 0;
; 0319
; 0320 INCR COUNTER FROM 0 TO 1 DO
; 0321 BEGIN
; 0322 CHAR1 = CH$A_RCHAR (ASCPTR);
; 0323 CHAR2 = CH$A_RCHAR (ASCPTR);
; 0324 CHAR3 = CH$A_RCHAR (ASCPTR);
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 13
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (6)
; 0325 TEMP = (((RX50 (.CHAR1)*%O'50') + RX50 (.CHAR2))*%O'50') + RX50 (.CHAR3);
; 0326 R50 [.R50_INDEX] = .TEMP<0, 8>;
; 0327 R50_INDEX = .R50_INDEX + 1;
; 0328 R50 [.R50_INDEX] = .TEMP<8, 8>;
; 0329 R50_INDEX = .R50_INDEX + 1;
; 0330 END;
; 0331
; 0332 END; !OF ATOR50
ATOR50::PUSH SP,AC0 ; SP,AC0 400232' 261 17 0 00 000000 0273
PUSH SP,AC10 ; SP,AC10 400233' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 400234' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 400235' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 400236' 261 17 0 00 000013
PUSH SP,AC14 ; SP,AC14 400237' 261 17 0 00 000014
PUSH SP,AC16 ; SP,AC16 400240' 261 17 0 00 000016
ADJSP SP,2 ; SP,2 400241' 105 17 0 00 000002
MOVE AC1,-13(SP) ; AC1,ASCVAL 400242' 200 01 0 17 777765 0317
MOVEI AC1,-1(AC1) ; AC1,-1(AC1) 400243' 201 01 0 01 777777
HRLI AC1,100700 ; AC1,100700 400244' 505 01 0 00 100700
MOVE AC10,AC1 ; ASCPTR,AC1 400245' 200 10 0 00 000001
SETZ AC0, ; R50_INDEX, 400246' 400 00 0 00 000000 0318
MOVE AC11,-12(SP) ; AC11,R50 400247' 200 11 0 17 777766 0326
SETZ AC12, ; COUNTER, 400250' 400 12 0 00 000000 0320
L.21: IBP AC10 ; ASCPTR 400251' 133 00 0 00 000010 0322
MOVE AC1,AC10 ; AC1,ASCPTR 400252' 200 01 0 00 000010
ILDB AC1,AC1 ; AC1,AC1 400253' 134 01 0 00 000001
MOVEM AC1,-1(SP) ; AC1,CHAR1 400254' 202 01 0 17 777777
IBP AC10 ; ASCPTR 400255' 133 00 0 00 000010 0323
MOVE AC1,AC10 ; AC1,ASCPTR 400256' 200 01 0 00 000010
ILDB AC1,AC1 ; AC1,AC1 400257' 134 01 0 00 000001
MOVEM AC1,0(SP) ; AC1,CHAR2 400260' 202 01 0 17 000000
IBP AC10 ; ASCPTR 400261' 133 00 0 00 000010 0324
MOVE AC14,AC10 ; CHAR3,ASCPTR 400262' 200 14 0 00 000010
ILDB AC14,AC14 ; CHAR3,CHAR3 400263' 134 14 0 00 000014
PUSH SP,-1(SP) ; SP,CHAR1 400264' 261 17 0 17 777777 0325
PUSHJ SP,RX50 ; SP,RX50 400265' 260 17 0 00 400170'
MOVE AC16,AC1 ; AC16,AC1 400266' 200 16 0 00 000001
IMULI AC16,50 ; AC16,50 400267' 221 16 0 00 000050
MOVE AC1,-1(SP) ; AC1,CHAR2 400270' 200 01 0 17 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 400271' 202 01 0 17 000000
PUSHJ SP,RX50 ; SP,RX50 400272' 260 17 0 00 400170'
ADD AC16,AC1 ; AC16,AC1 400273' 270 16 0 00 000001
IMULI AC16,50 ; AC16,50 400274' 221 16 0 00 000050
MOVEM AC14,0(SP) ; CHAR3,0(SP) 400275' 202 14 0 17 000000
PUSHJ SP,RX50 ; SP,RX50 400276' 260 17 0 00 400170'
MOVE AC13,AC16 ; TEMP,AC16 400277' 200 13 0 00 000016
ADD AC13,AC1 ; TEMP,AC1 400300' 270 13 0 00 000001
MOVE AC1,AC11 ; AC1,AC11 400301' 200 01 0 00 000011 0326
ADD AC1,AC0 ; AC1,R50_INDEX 400302' 270 01 0 00 000000
LDB AC2,C.5 ; AC2,[POINT 8,TEMP,35] <0,8> 400303' 135 02 0 00 400330'
MISC 25-Jan-1983 10:16:08 TOPS-20 Bliss-36 2A(142) Page 14
X2.0 1-Jan-1983 14:51:30 NETPKG:<VNP36>MISC.BLI.7 (6)
MOVEM AC2,0(AC1) ; AC2,0(AC1) 400304' 202 02 0 01 000000
ADDI AC0,1 ; R50_INDEX,1 400305' 271 00 0 00 000001 0327
MOVE AC1,AC11 ; AC1,AC11 400306' 200 01 0 00 000011 0328
ADD AC1,AC0 ; AC1,R50_INDEX 400307' 270 01 0 00 000000
LDB AC2,C.6 ; AC2,[POINT 8,TEMP,27] <8,8> 400310' 135 02 0 00 400331'
MOVEM AC2,0(AC1) ; AC2,0(AC1) 400311' 202 02 0 01 000000
ADDI AC0,1 ; R50_INDEX,1 400312' 271 00 0 00 000001 0329
ADJSP SP,-1 ; SP,-1 400313' 105 17 0 00 777777 0321
ADDI AC12,1 ; COUNTER,1 400314' 271 12 0 00 000001 0320
CAIG AC12,1 ; COUNTER,1 400315' 307 12 0 00 000001
JRST L.21 ; L.21 400316' 254 00 0 00 400251'
ADJSP SP,-2 ; SP,-2 400317' 105 17 0 00 777776 0273
POP SP,AC16 ; SP,AC16 400320' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 400321' 262 17 0 00 000014
POP SP,AC13 ; SP,AC13 400322' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 400323' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 400324' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 400325' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 400326' 262 17 0 00 000000
POPJ SP, ; SP, 400327' 263 17 0 00 000000
C.5: POINT 8,AC13,35 ; 8,TEMP,35 400330' 00 10 0 00 000013
C.6: POINT 8,AC13,27 ; 8,TEMP,27 400331' 10 10 0 00 000013
; Routine Size: 64 words
; 0333
; 0334 END
; 0335
; 0336 ELUDOM
END
; Low segment length: 1 word
; High segment length: 218 words
; Size: 218 code + 1 data words
; Run Time: 00:03.1
; Elapsed Time: 00:08.9
; Memory Used: 9 pages
; Compilation Complete