V1FRULE

Table Of Contents
  • [00004] LIBF FRULE- PROLOGUE
  • [00039] LIBF FRULE
  • [00102] LIBF FRULE- FMOVE
  • [00139] LIBF FRULE- FINC
v1frule.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:11 2020
 
Source File: \v1frule.asm 
LIBF FRULE- PROLOGUE
 
                             2 | *************************************************** V1J00020
                             3 | *                                                 * V1J00030
                             4 | *   SUBROUTINE NAME-                              * V1J00040
                             5 | *      FULL NAME- STANDARD PRECISION RULE         * V1J00050
                             6 | *      CODE NAME- FRULE                           * V1J00060
                             7 | *   PURPOSE- THIS SUBROUTINE SERVES AS INTERFACE  * V1J00070
                             8 | *      FOR THE SCALE SUBROUTINES. THE INITIAL PEN * V1J00080
                             9 | *      COORDINATE IS COMPUTED AND STORED. COMPUTE * V1J00090
                            10 | *      DELTA(X AND Y) AND INCREMENT THE INITIAL   * V1J00100
                            11 | *      COORDINATE BY DELTA (X AND Y) TO GET THE   * V1J00110
                            12 | *      NEW COORDINATE.                            * V1J00120
                            13 | *   METHOD- N/A                                   * V1J00130
                            14 | *   CAPABILITIES AND LIMITATIONS- N/A             * V1J00140
                            15 | *   SPECIAL FEATURES- N/A                         * V1J00150
                            16 | *   ADDITIONAL INFORMATION-                       * V1J00160
                            17 | *      CALLING SEQUENCE-                          * V1J00170
                            18 | *         LIBF    FRULE                           * V1J00180
                            19 | *                 ACCUMULATOR=Y                   * V1J00190
                            20 | *                 .                               * V1J00200
                            21 | *                 .                               * V1J00210
                            22 | *   Y     DC      X-SCALE (REAL)                  * V1J00220
                            23 | *         DC      Y-SCALE (REAL)                  * V1J00230
                            24 | *         DC      X (REAL)                        * V1J00240
                            25 | *                 Y (REAL)                        * V1J00250
                            26 | *                                                 * V1J00260
                            27 | *         6IBF    FMOVE                           * V1J00270
                            28 | *         DC      X (REAL)                        * V1J00280
                            29 | *         DC      Y (REAL)                        * V1J00290
                            30 | *                                                 * V1J00300
                            31 | *         LIBF    FINC                            * V1J00310
                            32 | *         DC      DELTA X (INTEGER)               * V1J00320
                            33 | *         DC      DELTA Y (INTEGER)               * V1J00330
                            34 | *************************************************** V1J00340
LIBF FRULE
 
                            36 |       LIBR                                          V1J00360
                            37 |       SPR                                           V1J00370
                            38 |       ENT     FRULE                                 V1J00380
                            39 |       ENT     FMOVE                                 V1J00390
                            40 |       ENT     FINC                                  V1J00400
                            41 | *                                                   V1J00410
                            42 | *                       CONSTANTS                   V1J00420
                            43 | *                                                   V1J00430
0000 4000 0081              44 | XS    DEC     1.        X-SCALE                     V1J00440
0002 4000 0081              45 | YS    DEC     1.        Y-SCALE                     V1J00450
0004 0000 0000              46 | X0    DEC     .0        X                           V1J00460
0006 0000 0000              47 | Y0    DEC     .0        Y                           V1J00470
0008 0000                   48 | XNMX  DC      *-*                                   V1J00480
0009 0008R                  49 | ADR   DC      XS+8                                  V1J00490
000A 0000                   50 | XNMY  DC      *-*                                   V1J00500
000B 0014R                  51 | ADF   DC      XN+4                                  V1J00510
000C 0000                   52 | DX    DC      *-*       DELTA X                     V1J00520
000D 0000                   53 | IXZ   DC      *-*       INCREMENT X                 V1J00530
000E 0000                   54 | DY    DC      *-*       DELTA Y                     V1J00540
000F 0000                   55 | IYZ   DC      *-*       INCREMENT Y                 V1J00550
0010 0000 0000              56 | XN    DEC     .0        NEW X                       V1J00560
0012 0000 0000              57 | YN    DEC     .0        NEW Y                       V1J00570
0014 6400 0087              58 | C100  DEC     100.                                  V1J00580
0016 4000 0080              59 | CP5   DEC     .5        ROUNDING FACTOR             V1J00590
0018 000AR                  60 | ADS   DC      XNMY                                  V1J00600
                            61 | *                                                   V1J00610
0019 D005                   62 | FRULE STO     XR2+1     SAVE PARAMETER ADDRESS      V1J00620
001A 7001                   63 |       MDX     *+1                                   V1J00630
001B 0000                   64 |       DC      *-*                                   V1J00640
001C 690D                   65 |       STX   1 EXIT+1    SAVE XR1 AND XR2            V1J00650
001D 6A0E                   66 |       STX   2 EXIT+3                                V1J00660
001E 6600 0000              67 | XR2   LDX  L2 *-*       SET FOR GET SUBROUTINE      V1J00670
0020 61F8                   68 |       LDX   1 -8                                    V1J00680
0021 C0E7                   69 |       LD      ADR       ADDRESS OF XNMX             V1J00690
0022 400C                   70 |       BSI     GET       FETCH PARAMETERS            V1J00700
                            71 | *                                                 * V1J00710
0023 69E9                   72 |       STX   1 IXZ       SET UP INITIAL POINT        V1J00720
0024 69EA                   73 |       STX   1 IYZ                                   V1J00730
0025 C8DE                   74 |       LDD     X0        SET PEN POSITION            V1J00740
0026 D8E9                   75 |       STD     XN                                    V1J00750
0027 C8DE                   76 |       LDD     Y0                                    V1J00760
0028 D8E9                   77 |       STD     YN                                    V1J00770
0029 6500 0000              78 | EXIT  LDX  L1 *-*       RESTORE XR1 AND XR2         V1J00780
002B 6600 0000              79 |       LDX  L2 *-*                                   V1J00790
002D 4C00 0000              80 |       BSC  L  *-*       RETURN                      V1J00800
                            81 | *     SUBROUTINE TO PICKUP PARAMETERS             * V1J00810
                            82 | *                                                 * V1J00820
002F 0000                   83 | GET   DC      *-*       ENTRY                       V1J00830
0030 D007                   84 |       STO     GET2                                  V1J00840
0031 C200                   85 | GET0  LD    2 0                                     V1J00850
0032 D003                   86 |       STO     GET1                                  V1J00860
0033 D500 000CR             87 |       STO  L1 XNMX+4    STORE PARAMETER             V1J00870
0035 064C*4000              88 |       LIBF    FLD                                   V1J00880
0036 0000                   89 | GET1  DC      *-*                                   V1J00890
0037 068A*35A7              90 |       LIBF    FSTOX                                 V1J00900
0038 0000                   91 | GET2  DC      *-*                                   V1J00910
0039 7201                   92 |       MDX   2 1         SET FOR NEXT PARAMETER      V1J00920
003A 7102                   93 |       MDX   1 2                                     V1J00930
003B 70F5                   94 |       MDX     GET0      GET NEXT PARAMETER          V1J00940
003C 6AF1                   95 |       STX   2 EXIT+5    SET EXIT ADDRESS            V1J00950
003D 4C80 002FR             96 |       BSC  I  GET       RETURN                      V1J00960
LIBF FRULE- FMOVE
 
                            98 | * COMPUTE AND ROUND DELTA (X AND Y)               * V1J00980
                            99 | *                                                 * V1J00990
003F 6AEC                  100 | FMOVE STX   2 EXIT+3    SAVE XR2                    V1J01000
0040 6680 0000             101 |       LDX  I2 *-*                                   V1J01010
0042 69E7                  102 |       STX   1 EXIT+1    SAVE XR1                    V1J01020
0043 61FC                  103 |       LDX   1 -4        GET PARAMETERS              V1J01030
0044 C0C6                  104 |       LD      ADF                                   V1J01040
0045 40E9                  105 |       BSI     GET                                   V1J01050
0046 6104                  106 |       LDX   1 4         COMPUTE DELTA (X AND Y)     V1J01060
0047 C0D0                  107 |       LD      ADS                                   V1J01070
0048 D016                  108 |       STO     FM2+1                                 V1J01080
0049 064C*49C0             109 | FM1   LIBF    FLDX                                  V1J01090
004A 000ER                 110 |       DC      XN-2                                  V1J01100
004B 068A*40A7             111 |       LIBF    FSUBX                                 V1J01110
004C 0002R                 112 |       DC      X0-2                                  V1J01120
004D 0651*7A27             113 |       LIBF    FMPYX                                 V1J01130
004E FFFER                 114 |       DC      XS-2                                  V1J01140
004F 0651*7A00             115 |       LIBF    FMPY                                  V1J01150
0050 0014R                 116 |       DC      C100                                  V1J01160
0051 C37E                  117 |       LD    3 126                                   V1J01170
0052 4C28 0057R            118 |       BSC  L  ROUND,+Z                              V1J01180
0054 0604*4100             119 |       LIBF    FADD                                  V1J01190
0055 0016R                 120 |       DC      CP5                                   V1J01200
0056 7002                  121 |       MDX     *+2                                   V1J01210
0057 068A*4080             122 | ROUND LIBF    FSUB                                  V1J01220
0058 0016R                 123 |       DC      CP5                                   V1J01230
0059 0918*99C0             124 |       LIBF    IFIX      REAL TO INTEGER CONVERSION  V1J01240
005A 9500 000BR            125 |       S    L1 IXZ-2                                 V1J01250
005C D500 000AR            126 |       STO  L1 DX-2                                  V1J01260
005E D480 0000             127 | FM2   STO  I  *-*                                   V1J01270
0060 74FE 005FR            128 |       MDX  L  FM2+1,-2                              V1J01280
0062 1000                  129 |       NOP                                           V1J01290
0063 71FE                  130 |       MDX   1 -2                                    V1J01300
0064 70E4                  131 |       MDX     FM1                                   V1J01310
0065 700C                  132 |       MDX     ADV                                   V1J01320
LIBF FRULE- FINC
 
0066 69C3                  134 | FINC  STX   1 EXIT+1    SAVE XR1                    V1J01340
0067 6580 0000             135 |       LDX  I1 *-*                                   V1J01350
0069 6AC2                  136 |       STX   2 EXIT+3    SAVE XR2                    V1J01360
006A C580 0000             137 |       LD   I1 0         GET PARAMETERS              V1J01370
006C D09F                  138 |       STO     DX                                    V1J01380
006D C580 0001             139 |       LD   I1 1                                     V1J01390
006F D09E                  140 |       STO     DY                                    V1J01400
0070 7102                  141 |       MDX   1 2         INCREMENT FOR RETURN ADDR   V1J01410
0071 69BC                  142 |       STX   1 EXIT+5    SAVE EXIT                   V1J01420
0072 C09A                  143 | ADV   LD      IXZ       INCREMENT IXZ AND IYZ       V1J01430
0073 8098                  144 |       A       DX                                    V1J01440
0074 D098                  145 |       STO     IXZ                                   V1J01450
0075 C099                  146 |       LD      IYZ                                   V1J01460
0076 8097                  147 |       A       DY                                    V1J01470
0077 D097                  148 |       STO     IYZ                                   V1J01480
0078 70B0                  149 |       MDX     EXIT      TO RETURN                   V1J01490
0079                       150 |       END                                           V1J01500
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
ADF   000BR   51  104
ADR   0009R   49   69
ADS   0018R   60  107
ADV   0072R  143  132
C100  0014R   58  116
CP5   0016R   59  120  123
DX    000CR   52  126  138  144
DY    000ER   54  140  147
EXIT  0029R   78   65   66   95  100  102  134  136  142  149
FINC  0066R  134
FM1   0049R  109  131
FM2   005ER  127  108  128
FMOVE 003FR  100
FRULE 0019R   62
GET   002FR   83   70   96  105
GET0  0031R   85   94
GET1  0036R   89   86
GET2  0038R   91   84
IXZ   000DR   53   72  125  143  145
IYZ   000FR   55   73  146  148
ROUND 0057R  122  118
X0    0004R   46   74  112
XN    0010R   56   51   75  110
XNMX  0008R   48   87
XNMY  000AR   50   60
XR2   001ER   67   62
XS    0000R   44   49  114
Y0    0006R   47   76
YN    0012R   57   77
YS    0002R   45