ibm:ibm1130-lib:dmsr2v12:t5holez_lst
T5HOLEZ
Table Of Contents |
---|
|
- t5holez.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020 Source File: \t5holez.asm HOLEZ 2 | LIBR T5D00030 3 | ENT HOLEZ T5D00040 4 | *************************************************** T5D00050 5 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * T5D00060 6 | * * T5D00070 7 | *FUNCTION/OPERATION- * T5D00080 8 | * THIS SUBROUTINE IS USED BY FORTRAN I/O * T5D00090 9 | * SUBROUTINES TO CONVERT FROM EBC TO HOLLERITH * T5D00100 10 | * CODE OR VICE-VERSA. THIS IS DONE BY A TABLE * T5D00110 11 | * LOOKUP METHOD * T5D00120 12 | * * T5D00130 13 | *ENTRY POINTS- * T5D00140 14 | * * HOLEZ-ENTERED BY A LIBF HOLEZ * T5D00150 15 | * * T5D00160 16 | *INPUT- * T5D00170 17 | * * XR1 CONTAINS THE I/O BUFFER ADDRESS * T5D00180 18 | * * XR2 CONTAINS THE CHARACTER COUNT * T5D00190 19 | * * ACC CONTAINS A 0 OR 2. 0 MEANS A READ * T5D00200 20 | * CONVERSION FROM HOLL TO EBC. 2 MEANS A PUNCH* T5D00210 21 | * CONVERSION FROM EBC TO HOLLERITH AND IS USED* T5D00220 22 | * BY THE PROGRAM. * T5D00230 23 | * * T5D00240 24 | *OUTPUT-THE I/O BUFFER IN CONVERTED FORMAT * T5D00250 25 | * * T5D00260 26 | *EXTERNAL REFERENCES- * T5D00270 27 | * * GETAD-A ROUTINE TO GET EFFECTIVE ADDR OF TBL* T5D00280 28 | * * HOLTB-HOLLERITH TO EBC TABLE * T5D00290 29 | * * EBCTB-EBC TO HOLLERITH TABLE * T5D00300 30 | * * T5D00310 31 | *EXITS- * T5D00320 32 | * NORMAL- * T5D00330 33 | * * HOLEZ+1-RETURNS TO CALLING SUBROUTINE * T5D00340 34 | * ERROR - * T5D00345 35 | * * IF INVALID CHARACTERS APPEAR IN THE INPUT* T5D00350 36 | * * RECORD THE ROUTINE WILL CONVERT THEM TO * T5D00355 37 | * * EBC BLANKS * T5D00360 38 | * * T5D00365 39 | *TABLES/WORK AREAS-N/A * T5D00370 40 | * * T5D00380 41 | *ATTRIBUTES-RELOCATABLE * T5D00390 42 | * * T5D00400 43 | *NOTES-N/A * T5D00410 44 | * * T5D00420 45 | *************************************************** T5D00430 HOLEZ 47 | * T5D00450 48 | * INITALIZATION PHASE T5D00460 49 | * T5D00470 0000 7002 50 | HOLEZ MDX *+2 ENTRY T5D00480 0001 4C80 0000 51 | BSC I *-* EXIT T5D00490 0003 D02D 52 | STO HZ903 SAVE READ/PUNCH INDICATOR T5D00500 0004 6A2B 53 | STX 2 HZ902 SAVE COUNT TO CONVERT T5D00510 0005 C82C 54 | LDD HZ903+1 SET UP TABLE ENTRIES T5D00520 0006 7400 0031R 55 | MDX L HZ903,0 CHECK FOR READ OR PUNCH T5D00530 0008 18D0 56 | RTE 16 PUNCH, CONVERT EBC TO HOLL T5D00540 0009 D82A 57 | STD HZ903+3 SAVE CONVERSION TBL ORDER T5D00550 000A 0716*3044 58 | LIBF GETAD GET ADDRESS OF TABLE T5D00560 000B D005 59 | STO HZ100+1 SAVE ADDRESS OF TABLE T5D00570 000C C028 60 | LD HZ903+4 GET ADDRESS OF OTHER T5D00580 000D 0716*3044 61 | LIBF GETAD *TABLE T5D00590 000E D01A 62 | STO HZ300+1 SAVE ADDRESS OF OTHER TBL T5D00600 63 | * T5D00610 64 | * SCAN TABLES AND CONVERT DATA T5D00620 65 | * T5D00630 000F 62CB 66 | LDX 2 -53 SET TABLE SIZE T5D00640 0010 C600 0000 67 | HZ100 LD L2 *-* GET CHAR FROM TABLE T5D00650 0012 7400 0031R 68 | MDX L HZ903,0 TEST IF READ OR WRITE T5D00660 0014 1808 69 | SRA 8 SHIFT CHAR IF EBC WRITE T5D00670 0015 F100 70 | EOR 1 0 COMPARE TO BUFFER CHAR T5D00680 0016 4C18 0028R 71 | BSC L HZ300,+- BRANCH IF EQUAL T5D00690 0018 7201 72 | MDX 2 1 INCREMENT TABLE COUNTER T5D00700 0019 70F6 73 | MDX HZ100 CHECK NXT CHAR IN TBL T5D00710 001A C014 74 | LD HZ901 NO MATCH, LD ASTERISK T5D00720 001B 7400 0031R 75 | MDX L HZ903,0 TEST IF WRITE INSTRUCTION T5D00730 001D 1810 76 | SRA 16 IF READ, SET CHAR TO 0 T5D00740 77 | * T5D00750 78 | * SAVE CHARACTER, PROCESS NEXT ONE T5D00760 79 | * T5D00770 001E D100 80 | HZ200 STO 1 0 SAVE CHARACTER IN BUFR T5D00780 001F 7101 81 | MDX 1 1 INCR BUFFER POINTER T5D00790 0020 74FF 0030R 82 | MDX L HZ902,-1 DECR COUNT OF CHARS BY ONE T5D00800 0022 70EC 83 | MDX HZ100-1 CNT NOT DONE, CONVERT NEXT T5D00810 84 | * ALL CHARACTERS CONVERTED. IF PUNCH T5D00820 85 | * OUTPUT REQUIRED INSERT STOP CHARACTER T5D00830 86 | * AND SAVE IN BUFFER. STOP CHAR =/4 T5D00840 87 | * T5D00850 0023 C00D 88 | LD HZ903 LD READ/PUNCH INDR. T5D00860 89 | *************************************************** T5D00870 90 | * NOTE---PUNCH INDR MUST =2 BECAUSE OF T5D00880 91 | * FOLLOWING CODING T5D00890 92 | * T5D00900 93 | *************************************************** T5D00910 0024 1002 94 | SLA 2 MULT BY 2 T5D00920 0025 E9FF 95 | OR 1 -1 ADD TO LAST WD OF BUFFER T5D00930 0026 D1FF 96 | STO 1 -1 SAVE IN BUFFER T5D00940 0027 70D9 97 | MDX HOLEZ+1 EXIT FROM ROUTINE T5D00950 98 | * T5D00960 99 | * MATCH FOUND, GET CHAR FROM OTHER TBL T5D00970 100 | * AND PUT IN BUFFER T5D00980 101 | * T5D00990 0028 C600 0000 102 | HZ300 LD L2 *-* GET CHAR FROM TABLE T5D01000 002A 7400 0031R 103 | MDX L HZ903,0 TEST FOR PUNCH O/P T5D01010 002C 70F1 104 | MDX HZ200 PUNCH, GO SAVE O/P T5D01020 002D 1808 105 | SRA 8 READ-SHIFT EBC CHAR T5D01030 002E 70EF 106 | MDX HZ200 GO STORE SHIFTED CHAR T5D01040 107 | * T5D01050 108 | * CONSTANTS T5D01060 109 | * T5D01070 002F 005C 110 | HZ901 DC /005C EBCDIC ASTERISK 212 T5D01080 0030 111 | BSS E 0 T5D01090 0030 0000 112 | HZ902 DC 0 COUNT OF CHARS T5D01100 0031 0000 113 | HZ903 DC 0 READ/PUNCH INDR T5D01110 0032 0859*38C2 114 | LIBF HOLTB HOLL CONVERSION TABLE T5D01120 0033 0508*38C2 115 | LIBF EBCTB EBC CONVERSION TABLE T5D01130 0034 0000 116 | DC 0 TABLE TO BE CONVERTED FROM T5D01140 0035 0000 117 | DC 0 TABLE TO BE CONVERTED TO T5D01150 0036 118 | END T5D01160 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced HOLEZ 0000R 50 97 HZ100 0010R 67 59 73 83 HZ200 001ER 80 104 106 HZ300 0028R 102 62 71 HZ901 002FR 110 74 HZ902 0030R 112 53 82 HZ903 0031R 113 52 54 55 57 60 68 75 88 103
ibm/ibm1130-lib/dmsr2v12/t5holez_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator