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