ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:11 2020 Source File: \w1hxcv.asm 4 OF 8 CODE TO 0-63 CONVERSION 2 | *************************************************** W1D00020 3 | * TITLE - HXCV * W1D00030 4 | * STATUS - CHANGE LEVEL 0 * W1D00040 5 | * FUNCTION/OPERATION - HXCV CONVERTS A 4-OF-8 * W1D00050 6 | * CHARACTER TO AN ACTUAL VALUE BETWEEN ZERO AND * W1D00060 7 | * 63. * W1D00070 8 | * ENTRY POINTS - .HXCV. CALL ENTRANCE, LIBF HXCV * W1D00080 9 | * INPUT - 4-OF-8 CHARACTER IS IN THE ACCUMULATOR, * W1D00090 10 | * LEFT-JUSTIFIED. * W1D00100 11 | * OUTPUT - THE VALUE BETWEEN 0 AND 63 IS IN THE * W1D00110 12 | * ACCUMULATOR, RIGHT-JUSTIFIED * W1D00120 13 | * EXTERNAL ROUTINES - NONE * W1D00130 14 | * EXITS-NORMAL - .LEAVE. RETURN TO LIBF+1 * W1D00140 15 | * -ERROR - NONE * W1D00150 16 | * TABLES/WORK AREAS - .RELTB. IS A TABLE OF * W1D00160 17 | * VALUES WHICH ARE USED TO CALCULATE THE ACTUAL * W1D00170 18 | * 0 TO 63 VALUE OF THE 4-OF-8 CHARACTER. * W1D00180 19 | * ATTRIBUTES - REUSABLE * W1D00190 20 | * NOTES - THE VALUE CALCULATED BY .HXCV. IS USED * W1D00200 21 | * AS A DISPLACEMENT TO LOCATE AN ENTRY IN THE * W1D00210 22 | * .HOLCA. TABLE OR THE .STRTB. TABLE. * W1D00220 23 | *************************************************** W1D00230 4 OF 8 CODE TO 0-63 CONVERSION 25 | LIBR W1D00250 26 | ENT HXCV W1D00260 0000 7002 27 | HXCV MDX *+2 W1D00270 0001 4C80 0000 28 | LEAVE BSC I *-* W1D00280 0003 D014 29 | CNVRT STO SV1 SAVE 4 OF 8 CHAR W1D00290 0004 62F0 30 | LDX 2 -16 SET TO GO THRU LOOP TWICE W1D00300 0005 180C 31 | LOOP2 SRA 12 ISOLATE SINGLE HEX CHAR W1D00310 0006 1881 32 | SRT 1 SAVE EVEN ODD INDICATOR W1D00320 0007 8012 33 | A BASE GET ACTUAL TABLE ADDRESS W1D00330 0008 D001 34 | STO *+1 W1D00340 0009 C600 0000 35 | LD L2 *-* GET WORD CONTAINING REL W1D00350 000B 18D0 36 | RTE 16 ADDRS IN HOLL TABLE W1D00360 000C 4828 37 | BSC +Z IF SKP- REL ADR IS LFT 8 W1D00370 000D 1088 38 | SLT 8 REL ADDR IS IN RIGHT 8 BIT W1D00380 000E 18D0 39 | RTE 16 W1D00390 000F 1808 40 | SRA 8 W1D00400 0010 7208 41 | MDX 2 8 W1D00410 0011 7002 42 | MDX SAVIT BR TO SAVE FIRST HEX CHAR W1D00420 0012 8006 43 | A SV2 COMPUTE ACTUAL ADDRESS W1D00430 0013 70ED 44 | MDX LEAVE W1D00440 0014 D004 45 | SAVIT STO SV2 HOLD TEMPORARILY W1D00450 0015 C002 46 | LD SV1 GET SECOND HEX CHAR FOR W1D00460 0016 1004 47 | SLA 4 REL ADDRESS W1D00470 0017 70ED 48 | MDX LOOP2 BR TO GET SECOND HEX CHAR W1D00480 0018 0000 49 | SV1 DC TEMP FOR 4-OF-8 CHARACTER W1D00490 0019 0000 50 | SV2 DC TABLE POINTER TEMPORARY W1D00500 001A 002BR 51 | BASE DC RELTB+16 BASE ADDRESS OF TABLE END W1D00510 001B 0304 52 | RELTB DC /0304 A W1D00520 001C 080C 53 | DC /080C *D W1D00530 001D 1216 54 | DC /1216 * D C W1D00540 001E 1C22 55 | DC /1C22 * R A W1D00550 001F 262A 56 | DC /262A * E L W1D00560 0020 3036 57 | DC /3036 * S C W1D00570 0021 3A40 58 | DC /3A40 * S U W1D00580 0022 4448 59 | DC /4448 * L W1D00590 0023 0000 60 | DC /0000 * A W1D00600 0024 0100 61 | DC /0100 * T W1D00610 0025 0201 62 | DC /0201 * I W1D00620 0026 0200 63 | DC /0200 * O T W1D00630 0027 0303 64 | DC /0303 * N A W1D00640 0028 0401 65 | DC /0401 * B W1D00650 0029 0502 66 | DC /0502 * L W1D00660 002A 0300 67 | DC /0300 * E W1D00670 002B 68 | END W1D00680 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced BASE 001AR 51 33 CNVRT 0003R 29 HXCV 0000R 27 LEAVE 0001R 28 44 LOOP2 0005R 31 48 RELTB 001BR 52 51 SAVIT 0014R 45 42 SV1 0018R 49 29 46 SV2 0019R 50 43 45