ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:10 2020
Source File: \v1erule.asm
LIBF ERULE-PROLOGUE
2 | *************************************************** V1E00020
3 | * * V1E00030
4 | * SUBROUTINE NAME- * V1E00040
5 | * FULL NAME- EXTENDED RULE. * V1E00050
6 | * CODE NAME- ERULE * V1E00060
7 | * PURPOSE- THIS SUBROUTINE SERVES AS A INTERFACE* V1E00070
8 | * FOR THE SCALE SUBROUTINES. THE INITIAL * V1E00080
9 | * COORDINATE IS COMPUTED AND STORED. COMPUTE * V1E00090
10 | * DELTA (X AND Y) AND INCREMENT THE INITIAL * V1E00100
11 | * COORDINATE BY DELTA (X AND Y) FOR THE NEW * V1E00110
12 | * COORDINATE OF PEN * V1E00120
13 | * METHOD-N/A * V1E00130
14 | * CAPABILITIES AND LIMITATIONS- N/A * V1E00140
15 | * SPECIAL FEATURES- N/A * V1E00150
16 | * ADDITIONAL INFORMATION- * V1E00160
17 | * CALLING SEQUENCE- * V1E00170
18 | * LIBF ERULE * V1E00180
19 | * ACCUMULATOR= Y * V1E00190
20 | * . * V1E00200
21 | * . * V1E00210
22 | * Y DC X-SCALE (REAL) * V1E00220
23 | * DC Y-SCALE(REAL) * V1E00230
24 | * DC X(0) (REAL) * V1E00240
25 | * DC Y(0) (REAL) * V1E00250
26 | * * V1E00260
27 | * LIBF EMOVE * V1E00270
28 | * DC X (REAL) * V1E00280
29 | * DC Y (REAL) * V1E00290
30 | * * V1E00300
31 | * LIBF * V1E00310
32 | * DC DELTA X (INTEGER) * V1E00320
33 | * DC DELTA Y (INTEGER) * V1E00330
34 | *************************************************** V1E00340
35 | * DC Y-SCALE (REAL) V1E00350
LIBF ERULE
37 | LIBR V1E00370
38 | EPR V1E00380
39 | ENT ERULE V1E00390
40 | ENT EMOVE V1E00400
41 | ENT EINC V1E00410
42 | * V1E00420
43 | * CONSTANTS V1E00430
44 | * V1E00440
0000 0081 4000 0000 45 | XS XFLC 1. X-SCALE V1E00450
0003 0081 4000 0000 46 | YS XFLC 1. Y-SCALE V1E00460
0006 0000 0000 0000 47 | X0 XFLC .0 X V1E00470
0009 0000 0000 0000 48 | Y0 XFLC .0 Y V1E00480
000C 0000 49 | XNMX DC *-* V1E00490
000D 000CR 50 | ADR DC XS+12 V1E00500
000E 0000 51 | DC *-* V1E00510
000F 0000 52 | XNMY DC *-* V1E00520
0010 001DR 53 | ADF DC XN+6 V1E00530
0011 000FR 54 | ADS DC XNMY V1E00540
0012 0000 55 | DX DC *-* DELTA-X V1E00550
0013 0000 56 | IXZ DC *-* INCREMENT X V1E00560
0014 0000 57 | DC *-* V1E00570
0015 0000 58 | DY DC *-* DELTA-Y V1E00580
0016 0000 59 | IYZ DC *-* INCREMENT Y V1E00590
0017 0000 0000 0000 60 | XN XFLC .0 NEW X V1E00600
001A 0000 0000 0000 61 | YN XFLC .0 NEW Y V1E00610
001D 0087 6400 0000 62 | C100 XFLC 100. V1E00620
0020 0080 4000 0000 63 | CP5 XFLC .5 ROUNDING FACTOR V1E00630
64 | * V1E00640
0023 D005 65 | ERULE STO XR2+1 SAVE PARAMETER ADDRESS V1E00650
0024 7001 66 | MDX *+1 V1E00660
0025 0000 67 | DC *-* V1E00670
0026 6911 68 | STX 1 EXIT+1 SAVE XR1 AND XR2 V1E00680
0027 6A12 69 | STX 2 EXIT+3 V1E00690
0028 6600 0000 70 | XR2 LDX L2 *-* SET FOR GET ROUTINE V1E00700
002A 61F4 71 | LDX 1 -12 V1E00710
002B C0E1 72 | LD ADR ADDR OF XNMX V1E00720
002C 4010 73 | BSI GET V1E00730
002D 69E5 74 | STX 1 IXZ SET UP INITIAL POINT V1E00740
002E 69E7 75 | STX 1 IYZ V1E00750
002F 054C*4000 76 | LIBF ELD SET PEN POSITION V1E00760
0030 0006R 77 | DC X0 V1E00770
0031 058A*3580 78 | LIBF ESTO V1E00780
0032 0017R 79 | DC XN V1E00790
0033 054C*4000 80 | LIBF ELD V1E00800
0034 0009R 81 | DC Y0 V1E00810
0035 058A*3580 82 | LIBF ESTO V1E00820
0036 001AR 83 | DC YN V1E00830
0037 6500 0000 84 | EXIT LDX L1 *-* RESTORE XR1 AND XR2 V1E00840
0039 6600 0000 85 | LDX L2 *-* V1E00850
003B 4C00 0000 86 | BSC L *-* RETURN V1E00860
003D 0000 87 | GET DC *-* SUBROUTINE TO PICK UP PARAM V1E00870
003E D007 88 | STO GET2 V1E00880
003F C200 89 | GET0 LD 2 0 V1E00890
0040 D003 90 | STO GET1 V1E00900
0041 D500 0012R 91 | STO L1 XNMX+6 V1E00910
0043 054C*4000 92 | LIBF ELD V1E00920
0044 0000 93 | GET1 DC *-* V1E00930
0045 058A*35A7 94 | LIBF ESTOX V1E00940
0046 0000 95 | GET2 DC *-* V1E00950
0047 7201 96 | MDX 2 1 NEXT PARAMETER V1E00960
0048 7103 97 | MDX 1 3 V1E00970
0049 70F5 98 | MDX GET0 V1E00980
004A 6AF1 99 | STX 2 EXIT+5 SET EXIT ADDRESS V1E00990
004B 4C80 003DR 100 | BSC I GET RETURN V1E01000
LIBF ERULE- EMOVE
102 | * COMPUTE AND ROUND DELTA X AND Y V1E01020
004D 6AEC 103 | EMOVE STX 2 EXIT+3 SAVE XR2 V1E01030
004E 6680 0000 104 | LDX I2 *-* V1E01040
0050 69E7 105 | STX 1 EXIT+1 SAVE XR1 V1E01050
0051 61FA 106 | LDX 1 -6 GET PARAMETERS V1E01060
0052 C0BD 107 | LD ADF V1E01070
0053 40E9 108 | BSI GET V1E01080
0054 6106 109 | LDX 1 6 COMPUTE DELTA (X AND Y) V1E01090
0055 C0BB 110 | LD ADS V1E01100
0056 D016 111 | STO FM2+1 V1E01110
0057 054C*49C0 112 | FM1 LIBF ELDX V1E01120
0058 0014R 113 | DC XN-3 V1E01130
0059 058A*40A7 114 | LIBF ESUBX V1E01140
005A 0003R 115 | DC X0-3 V1E01150
005B 0551*7A27 116 | LIBF EMPYX V1E01160
005C FFFDR 117 | DC XS-3 V1E01170
005D 0551*7A00 118 | LIBF EMPY V1E01180
005E 001DR 119 | DC C100 V1E01190
005F C37E 120 | LD 3 126 V1E01200
0060 4C28 0065R 121 | BSC L ROUND,+Z V1E01210
0062 0504*4100 122 | LIBF EADD V1E01220
0063 0020R 123 | DC CP5 V1E01230
0064 7002 124 | MDX *+2 V1E01240
0065 058A*4080 125 | ROUND LIBF ESUB V1E01250
0066 0020R 126 | DC CP5 V1E01260
0067 0918*99C0 127 | LIBF IFIX REAL TO INTEGER CONVERSION V1E01270
0068 9500 0010R 128 | S L1 IXZ-3 V1E01280
006A D500 000FR 129 | STO L1 DX-3 V1E01290
006C D480 0000 130 | FM2 STO I *-* V1E01300
006E 74FD 006DR 131 | MDX L FM2+1,-3 V1E01310
0070 1000 132 | NOP V1E01320
0071 71FD 133 | MDX 1 -3 V1E01330
0072 70E4 134 | MDX FM1 V1E01340
0073 700C 135 | MDX ADV V1E01350
LIBF ERULE- EINC
0074 69C3 137 | EINC STX 1 EXIT+1 SAVE XR1 V1E01370
0075 6580 0000 138 | LDX I1 *-* V1E01380
0077 6AC2 139 | STX 2 EXIT+3 SAVE XR2 V1E01390
0078 C580 0000 140 | LD I1 0 GET PARAMETERS V1E01400
007A D097 141 | STO DX V1E01410
007B C580 0001 142 | LD I1 1 V1E01420
007D D097 143 | STO DY V1E01430
007E 7102 144 | MDX 1 2 INCREMENT FOR RETURN ADDR V1E01440
007F 69BC 145 | STX 1 EXIT+5 SAVE EXIT V1E01450
0080 C092 146 | ADV LD IXZ INCREMENT IXZ AND IYZ V1E01460
0081 8090 147 | A DX V1E01470
0082 D090 148 | STO IXZ V1E01480
0083 C092 149 | LD IYZ V1E01490
0084 8090 150 | A DY V1E01500
0085 D090 151 | STO IYZ V1E01510
0086 70B0 152 | MDX EXIT TO RETURN V1E01520
0087 153 | END V1E01530
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
ADF 0010R 53 107
ADR 000DR 50 72
ADS 0011R 54 110
ADV 0080R 146 135
C100 001DR 62 119
CP5 0020R 63 123 126
DX 0012R 55 129 141 147
DY 0015R 58 143 150
EINC 0074R 137
EMOVE 004DR 103
ERULE 0023R 65
EXIT 0037R 84 68 69 99 103 105 137 139 145 152
FM1 0057R 112 134
FM2 006CR 130 111 131
GET 003DR 87 73 100 108
GET0 003FR 89 98
GET1 0044R 93 90
GET2 0046R 95 88
IXZ 0013R 56 74 128 146 148
IYZ 0016R 59 75 149 151
ROUND 0065R 125 121
X0 0006R 47 77 115
XN 0017R 60 53 79 113
XNMX 000CR 49 91
XNMY 000FR 52 54
XR2 0028R 70 65
XS 0000R 45 50 117
Y0 0009R 48 81
YN 001AR 61 83
YS 0003R 46