Trailing-Edge
-
PDP-10 Archives
-
TOPS-20_V6.1_DECnetSrc_7-23-85
-
mcb/utilities/cat5.lst
There are 2 other files named cat5.lst in the archive. Click here to see a list.
12-Apr-1985 07:09:05 TOPS-20 Bliss-36 4A(225) Page 1
30-Dec-1982 17:28:16 DNET61:<DECNET.UTILITIES>CAT5.BLI.1 (1)
; 0001 0
; 0002 0 MODULE CAT5 ( !Convert ASCII to RAD50
; 0003 0 IDENT = '001000',
; 0004 0 LANGUAGE (BLISS16, BLISS36) %BLISS36 (, ENTRY ($CAT5))
; 0005 0 ) =
; 0006 1 BEGIN
; 0007 1 !
; 0008 1 ! COPYRIGHT (c) 1980, 1981, 1982
; 0009 1 ! DIGITAL EQUIPMENT CORPORATION
; 0010 1 ! Maynard, Massachusetts
; 0011 1 !
; 0012 1 ! This software is furnished under a license and may be used
; 0013 1 ! and copied only in accordance with the terms of such license
; 0014 1 ! and with the inclusion of the above copyright notice. This
; 0015 1 ! software or any other copies thereof may not be provided or
; 0016 1 ! otherwise made available to any other person. No title to
; 0017 1 ! and ownership of the software is hereby transferred.
; 0018 1 !
; 0019 1 ! The information in this software is subject to change
; 0020 1 ! without notice and should not be construed as a commitment
; 0021 1 ! by DIGITAL EQUIPMENT CORPORATION.
; 0022 1 !
; 0023 1 ! DIGITAL assumes no responsibility for the use or reliability
; 0024 1 ! of its software on equipment which is not supplied by
; 0025 1 ! DIGITAL.
; 0026 1 !
; 0027 1
; 0028 1 !++
; 0029 1 ! FACILITY: SYSTEM LIBRARY
; 0030 1 !
; 0031 1 ! ABSTRACT:
; 0032 1 !
; 0033 1 !
; 0034 1 ! This module contains the routine to convert 3 or less characters
; 0035 1 ! to a RAD50 word.
; 0036 1 !
; 0037 1 !
; 0038 1 ! ENVIRONMENT: ANY
; 0039 1 !
; 0040 1 ! AUTHOR: ALAN D. PECKHAM, CREATION DATE: 26-sep-78
; 0041 1 !
; 0042 1 ! MODIFIED BY:
; 0043 1 !
; 0044 1 ! , : VERSION
; 0045 1 ! 01 -
; 0046 1 !--
; 0047 1
; 0048 1 !
; 0049 1 ! TABLE OF CONTENTS:
; 0050 1 !
; 0051 1
; 0052 1 FORWARD ROUTINE
CAT5 12-Apr-1985 07:09:05 TOPS-20 Bliss-36 4A(225) Page 2
001000 30-Dec-1982 17:28:16 DNET61:<DECNET.UTILITIES>CAT5.BLI.1 (1)
; 0053 1 $CAT5; !Convert ASCII to RAD50
; 0054 1
; 0055 1 !
; 0056 1 ! INCLUDE FILES:
; 0057 1 !
; 0058 1 !
; 0059 1 ! MACROS:
; 0060 1 !
; 0061 1 !
; 0062 1 ! EQUATED SYMBOLS:
; 0063 1 !
; 0064 1 !
; 0065 1 ! OWN STORAGE:
; 0066 1 !
; 0067 1 !
; 0068 1 ! EXTERNAL REFERENCES:
; 0069 1 !
; 0070 1
CAT5 12-Apr-1985 07:09:05 TOPS-20 Bliss-36 4A(225) Page 3
001000 30-Dec-1982 17:28:16 DNET61:<DECNET.UTILITIES>CAT5.BLI.1 (2)
; 0071 1 GLOBAL ROUTINE $CAT5 (BUF_PTR_ADR, FLAG) =
; 0072 1
; 0073 1 !++
; 0074 1 ! FUNCTIONAL DESCRIPTION:
; 0075 1 !
; 0076 1 !
; 0077 1 ! FORMAL PARAMETERS:
; 0078 1 !
; 0079 1 ! .BUF_PTR_ADR !Address of character sequence
; 0080 1 ! !pointer to buffer to extract
; 0081 1 ! !number from.
; 0082 1 ! .FLAG !If non-zero, the period is
; 0083 1 ! !accepted as a character.
; 0084 1 !
; 0085 1 ! IMPLICIT INPUTS:
; 0086 1 !
; 0087 1 ! NONE
; 0088 1 !
; 0089 1 ! IMPLICIT OUTPUTS:
; 0090 1 !
; 0091 1 ! The buffer pointer ..BUF_PTR_ADR is updated to point past
; 0092 1 ! the characters used in the conversion.
; 0093 1 !
; 0094 1 ! ROUTINE VALUE:
; 0095 1 !
; 0096 1 ! The RAD50 equivalent of the next 3 (or less) characters.
; 0097 1 !
; 0098 1 ! SIDE EFFECTS:
; 0099 1 !
; 0100 1 ! NONE
; 0101 1 !
; 0102 1 !--
; 0103 1
; 0104 2 BEGIN
; 0105 2
; 0106 2 LOCAL
; 0107 2 INDEX,
; 0108 2 CHAR,
; 0109 2 VALUE;
; 0110 2
; 0111 2 VALUE = 0;
; 0112 2
; 0113 2 INCR INDEX FROM 0 TO 2 DO
; 0114 3 BEGIN
; 0115 3 CHAR = CH$RCHAR_A (.BUF_PTR_ADR);
; 0116 4 VALUE = .VALUE*%O'50' + (SELECTONE .CHAR OF
; 0117 4 SET
; 0118 4 [%C' '] : %O'0';
; 0119 4 [%C'A' TO %C'Z'] : .CHAR - %C'A' + %O'1';
; 0120 4 [%C'$'] : %O'33';
; 0121 4 [%C'.'] : IF .FLAG NEQ 0 THEN %O'34' ELSE
; 0122 5 BEGIN
CAT5 12-Apr-1985 07:09:05 TOPS-20 Bliss-36 4A(225) Page 4
001000 30-Dec-1982 17:28:16 DNET61:<DECNET.UTILITIES>CAT5.BLI.1 (2)
; 0123 5 .BUF_PTR_ADR = CH$PLUS (..BUF_PTR_ADR, -1);
; 0124 5 0
; 0125 4 END;
; 0126 4 [%C'0' TO %C'9'] : .CHAR - %C'0' + %O'36';
; 0127 4 [OTHERWISE] :
; 0128 5 BEGIN
; 0129 5 .BUF_PTR_ADR = CH$PLUS (..BUF_PTR_ADR, -1);
; 0130 5 0
; 0131 4 END;
; 0132 3 TES);
; 0133 2 END;
; 0134 2
; 0135 2 .VALUE
; 0136 1 END; !End of $CAT5
TITLE CAT5
TWOSEG
ENTRY $CAT5
.REQUEST SYS:B362LB.REL
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'
$CAT5:: PUSH SP,AC16 ; SP,AC16 400000' 261 17 0 00 000016 0071
SETZ AC1, ; VALUE, 400001' 400 01 0 00 000000 0111
MOVE AC4,-3(SP) ; AC4,BUF_PTR_ADR 400002' 200 04 0 17 777775 0115
MOVEI AC5,2 ; INDEX,2 400003' 201 05 0 00 000002 0113
L.1: ILDB AC2,0(AC4) ; CHAR,0(AC4) 400004' 134 02 0 04 000000 0115
MOVE AC16,AC1 ; AC16,VALUE 400005' 200 16 0 00 000001 0116
IMULI AC16,50 ; AC16,50 400006' 221 16 0 00 000050
CAT5 12-Apr-1985 07:09:05 TOPS-20 Bliss-36 4A(225) Page 5
001000 30-Dec-1982 17:28:16 DNET61:<DECNET.UTILITIES>CAT5.BLI.1 (2)
CAIN AC2,40 ; CHAR,40 400007' 306 02 0 00 000040 0118
JRST L.6 ; L.6 400010' 254 00 0 00 400042'
CAIL AC2,101 ; CHAR,101 400011' 301 02 0 00 000101 0119
CAILE AC2,132 ; CHAR,132 400012' 303 02 0 00 000132
JRST L.2 ; L.2 400013' 254 00 0 00 400017'
MOVE AC3,AC2 ; AC3,CHAR 400014' 200 03 0 00 000002
SUBI AC3,100 ; AC3,100 400015' 275 03 0 00 000100
JRST L.7 ; L.7 400016' 254 00 0 00 400043' 0116
L.2: CAIE AC2,44 ; CHAR,44 400017' 302 02 0 00 000044 0120
JRST L.3 ; L.3 400020' 254 00 0 00 400023'
MOVEI AC3,33 ; AC3,33 400021' 201 03 0 00 000033 0116
JRST L.7 ; L.7 400022' 254 00 0 00 400043'
L.3: CAIE AC2,56 ; CHAR,56 400023' 302 02 0 00 000056 0121
JRST L.4 ; L.4 400024' 254 00 0 00 400031'
SKIPN -2(SP) ; FLAG 400025' 336 00 0 17 777776
JRST L.5 ; L.5 400026' 254 00 0 00 400037'
MOVEI AC3,34 ; AC3,34 400027' 201 03 0 00 000034
JRST L.7 ; L.7 400030' 254 00 0 00 400043'
L.4: CAIL AC2,60 ; CHAR,60 400031' 301 02 0 00 000060 0126
CAILE AC2,71 ; CHAR,71 400032' 303 02 0 00 000071
JRST L.5 ; L.5 400033' 254 00 0 00 400037'
MOVE AC3,AC2 ; AC3,CHAR 400034' 200 03 0 00 000002
SUBI AC3,22 ; AC3,22 400035' 275 03 0 00 000022
JRST L.7 ; L.7 400036' 254 00 0 00 400043' 0116
L.5: SETO AC3, ; AC3, 400037' 474 03 0 00 000000 0129
ADJBP AC3,0(AC4) ; AC3,0(AC4) 400040' 133 03 0 04 000000
MOVEM AC3,0(AC4) ; AC3,0(AC4) 400041' 202 03 0 04 000000
L.6: SETZ AC3, ; AC3, 400042' 400 03 0 00 000000 0116
L.7: MOVE AC1,AC16 ; VALUE,AC16 400043' 200 01 0 00 000016
ADD AC1,AC3 ; VALUE,AC3 400044' 270 01 0 00 000003
SOJGE AC5,L.1 ; INDEX,L.1 400045' 365 05 0 00 400004' 0113
POP SP,AC16 ; SP,AC16 400046' 262 17 0 00 000016 0071
POPJ SP, ; SP, 400047' 263 17 0 00 000000
; Routine Size: 40 words
; 0137 1
; 0138 1 END !End of module
; 0139 1
; 0140 0 ELUDOM
; Low segment length: 0 words
; High segment length: 40 words
CAT5 12-Apr-1985 07:09:05 TOPS-20 Bliss-36 4A(225) Page 6
001000
; Size: 40 code + 0 data words
; Run Time: 00:00.8
; Elapsed Time: 00:01.2
; Lines/CPU Min: 10157
; Lexemes/CPU-Min: 20459
; Memory Used: 6 pages
; Compilation Complete