ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:10 2020 Source File: \v1egrid.asm CALL EGRID 2 | *************************************************** V1C00020 3 | * * V1C00030 4 | * SUBROUTINE NAME- * V1C00040 5 | * FULL NAME- EXTENDED PRECISION GRID LINE * V1C00050 6 | * FUNCTION. * V1C00060 7 | * CODE NAME- EGRID * V1C00070 8 | * PURPOSE- DRAWS A GRID LINE (WITH TICK MARKS) * V1C00080 9 | * PARALLEL TO THE X AXIS OR THE Y AXIS. * V1C00090 10 | * METHOD- N/A * V1C00100 11 | * CAPABILITIES AND LIMITATIONS- SEE IBM * V1C00110 12 | * 1130/1800 PLOTTER SUBROUTINES MANUAL * V1C00120 13 | * (FORM C26-3755). * V1C00130 14 | * SPECIAL FEATURES- N/A * V1C00140 15 | * ADDITIONAL INFORMATION- N/A * V1C00150 16 | * * V1C00160 17 | *************************************************** V1C00170 CALL EGRID 19 | * V1C00190 20 | * THE CALL TO THE EGRID SUBROUTINE V1C00200 21 | * IS AS FOLLOWS V1C00210 22 | * V1C00220 23 | * CALL EGRID V1C00230 24 | * DC CONTROL (INTEGER) V1C00240 25 | * DC X (REAL) V1C00250 26 | * DC Y (REAL) V1C00260 27 | * DC DELTA (REAL) V1C00270 28 | * DC NUMBER (INTEGER) V1C00280 29 | * V1C00290 30 | EPR V1C00300 31 | ENT EGRID V1C00310 0000 0000 0000 0000 32 | INC XFLC .0 TICK MARK INCREMENT (REAL) V1C00320 0003 0000 0000 0000 33 | Y XFLC .0 X AXIS POSITION (REAL) V1C00330 0006 0000 0000 0000 34 | X XFLC .0 Y AXIS POSITION (REAL) V1C00340 35 | * V1C00350 36 | * THE FOLLOWING 5 WORDS ARE SET-UP TO CONTAIN THE V1C00360 37 | * ADDRESSES OF THE REQUIRED PARAMETERS V1C00370 38 | * V1C00380 0009 0000 39 | CNTL DC *-* V1C00390 000A 0000 40 | DC *-* X (REAL) V1C00400 000B 0000 41 | DC *-* Y (REAL) V1C00410 000C 0000 42 | DC *-* DELTA (REAL) V1C00420 000D 0000 43 | DC *-* NUMBER (INTEGER) V1C00430 000E 0003R 44 | YADD DC Y ADDRESS OF Y AXIS ARGUMENT V1C00440 000F 0006R 45 | XADD DC X ADDRESS OF X AXIS ARGUMENT V1C00450 0010 0001 46 | PENUP DC 1 PEN UP CONTROL V1C00460 0011 0002 47 | PENDN DC 2 PEN DOWN CONTROL V1C00470 0012 0000 48 | NOMOV DC 0 PEN NO MOVE CONTROL V1C00480 0012R 49 | PLUS EQU NOMOV ADDRESS OF ZERO VALUE V1C00490 0013 0000 50 | NO DC *-* NO. OF TICK MARKS V1C00500 0010R 51 | H0001 EQU PENUP ADDRESS OF VALUE OF ONE V1C00510 0014 0003 52 | H0003 DC 3 MASK TO REMOVE BITS 0-13 V1C00520 0015 0000 53 | EGRID DC *-* ENTRY POINT TO EGRID V1C00530 0016 6952 54 | STX 1 EXIT+1 SAVE XR1 AND XR2 V1C00540 0017 6A53 55 | STX 2 EXIT+3 V1C00550 0018 6580 0015R 56 | LDX I1 EGRID GET ADDRESSES OF PARAMETERS V1C00560 001A 62FB 57 | LDX 2 -5 XR2 IS LOOP COUNTER V1C00570 001B C100 58 | GD1 LD 1 0 V1C00580 001C 7101 59 | MDX 1 1 V1C00590 001D D600 000ER 60 | STO L2 CNTL+5 PLACE PARAMETER ADDR IN TBL V1C00600 001F 7201 61 | MDX 2 1 DECREMENT LOOP COUNTER V1C00610 0020 70FA 62 | MDX GD1 LOOP TILL 5TH ADDR MOVED V1C00620 0021 694B 63 | STX 1 EXIT+5 SAVE EXIT ADDRESS V1C00630 0022 C0E9 64 | LD CNTL+3 V1C00640 0023 D001 65 | STO *+1 ADDR OF INCREMENT PARAMETER V1C00650 0024 054C*4000 66 | LIBF ELD LOAD INCR TO REAL NO. ACC V1C00660 0025 0000 67 | DC *-* DELTA V1C00670 0026 C480 0009R 68 | LD I CNTL V1C00680 0028 E0EB 69 | AND H0003 V1C00690 0029 D0EB 70 | STO EGRID GRID DIRECTION, BITS 14-15 V1C00700 002A 90E5 71 | S H0001 V1C00710 002B 4830 72 | BSC Z- SKIP IF GRID DIRECTION NEG V1C00720 002C 2255*9000 73 | LIBF SNR REVERSE SIGN OF INCREMENT V1C00730 002D 058A*3580 74 | LIBF ESTO STORE INCR FROM REAL ACC V1C00740 002E 0000R 75 | DC INC GRID LINE INCREMENT V1C00750 002F C0E5 76 | LD EGRID DETERMINE AXIS OF GRID LINE V1C00760 0030 1010 77 | SLA 16 V1C00770 0031 C0DD 78 | LD XADD V1C00780 0032 4802 79 | BSC C SKIP IF ON X DIRECTION V1C00790 0033 C0DA 80 | LD YADD V1C00800 0034 D01E 81 | STO DELTA INITLZ PEN MOVEMENT WITH V1C00810 0035 D021 82 | STO DELTA+4 ADDR OF X OR Y PARAMETER V1C00820 0036 C480 000DR 83 | LD I CNTL+4 GET NO,X AND Y V1C00830 0038 D0DA 84 | STO NO LENGTH OF GRID LINE V1C00840 0039 C0D0 85 | LD CNTL+1 V1C00850 003A D001 86 | STO *+1 V1C00860 003B 054C*4000 87 | LIBF ELD X VALUE TO REAL NO. ACC V1C00870 003C 0000 88 | DC *-* ADDR OF X VALUE V1C00880 003D 058A*3580 89 | LIBF ESTO REAL ACC TO WORK AREA V1C00890 003E 0006R 90 | DC X X VALUE WORK AREA V1C00900 003F C0CB 91 | LD CNTL+2 V1C00910 0040 D001 92 | STO *+1 V1C00920 0041 054C*4000 93 | LIBF ELD Y VALUE TO REAL NO. ACC V1C00930 0042 0000 94 | DC *-* ADDR OF Y VALUE V1C00940 0043 058A*3580 95 | LIBF ESTO REAL ACC TO WORK AREA V1C00950 0044 0003R 96 | DC Y Y VALUE WORK AREA V1C00960 0045 055D*35A3 97 | CALL EPLOT RAISE PEN AND MOVE TO X,Y V1C00970 0047 0010R 98 | DC PENUP RAISE PEN CONTROL V1C00980 0048 0006R 99 | DC X X POSITION V1C00990 0049 0003R 100 | DC Y Y POSITION V1C01000 004A 055D*35A3 101 | CALL EPLOT LOWER PEN V1C01010 004C 0011R 102 | DC PENDN LOWER PEN CONTROL V1C01020 004D 0006R 103 | DC X X POSITION V1C01030 004E 0003R 104 | DC Y Y POSITION V1C01040 004F 1758*9563 105 | CALL POINT DRAW TICK MARK V1C01050 0051 0012R 106 | DC PLUS 'PLUS' TICK MARK CONTROL V1C01060 0052 054C*4000 107 | LOOP LIBF ELD COMPUTE MOVEMENT V1C01070 0053 0000 108 | DELTA DC *-* X OR Y POSITION TO REAL ACC V1C01080 0054 0504*4100 109 | LIBF EADD ADD GRID LINE INCREMENT V1C01090 0055 0000R 110 | DC INC INCREMENT ARGUMENT ADDRESS V1C01100 0056 058A*3580 111 | LIBF ESTO EXECUTE EXTENDED PREC STORE V1C01110 0057 0000 112 | DC *-* NEW X OR Y POSITION V1C01120 0058 055D*35A3 113 | CALL EPLOT MOVE PEN ALONG AXIS V1C01130 005A 0012R 114 | DC NOMOV LEAVE PEN IN DOWN POSITION V1C01140 005B 0006R 115 | DC X X POSITION V1C01150 005C 0003R 116 | DC Y Y POSITION V1C01160 005D 1758*9563 117 | CALL POINT DRAW TICK MARK V1C01170 005F 0012R 118 | DC PLUS 'PLUS' TICK MARK CONTROL V1C01180 0060 74FF 0013R 119 | MDX L NO,-1 DECREMENT TICK MARK COUNTER V1C01190 0062 70EF 120 | MDX LOOP CONT TILL GRID LINE DONE V1C01200 0063 055D*35A3 121 | CALL EPLOT RAISE PEN V1C01210 0065 0010R 122 | DC PENUP RAISE PEN CONTROL V1C01220 0066 0006R 123 | DC X X POSITION V1C01230 0067 0003R 124 | DC Y Y POSITION V1C01240 0068 6500 0000 125 | EXIT LDX L1 *-* RESTORE XR1 AND XR2 V1C01250 006A 6600 0000 126 | LDX L2 *-* V1C01260 006C 4C00 0000 127 | BSC L *-* RETURN TO CALLING PROGRAM V1C01270 006E 128 | END V1C01280 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced CNTL 0009R 39 60 64 68 83 85 91 DELTA 0053R 108 81 82 EGRID 0015R 53 56 70 76 EXIT 0068R 125 54 55 63 GD1 001BR 58 62 H0001 0010R 51 71 H0003 0014R 52 69 INC 0000R 32 75 110 LOOP 0052R 107 120 NO 0013R 50 84 119 NOMOV 0012R 48 49 114 PENDN 0011R 47 102 PENUP 0010R 46 51 98 122 PLUS 0012R 49 106 118 X 0006R 34 45 90 99 103 115 123 XADD 000FR 45 78 Y 0003R 33 44 96 100 104 116 124 YADD 000ER 44 80