W1HXCV

Table Of Contents
  • [00004] 4 OF 8 CODE TO 0-63 CONVERSION
w1hxcv.lst
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