ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:11 2020 Source File: \v1xyplt.asm LIBF XYPLT 2 | *************************************************** V1P00020 3 | * SUBROUTINE NAME- * V1P00030 4 | * FULL NAME- N/A * V1P00040 5 | * CODE NAME- XYPLT. * V1P00050 6 | * PURPOSE- THIS SUBROUTINE CALCULATES THE * V1P00060 7 | * OPTIMUM PEN MOVEMENT AND CALLS PLOTI TO * V1P00070 8 | * MOVE THE PEN. * V1P00080 9 | * METHOD-N/A * V1P00090 10 | * CAPABILITIES AND LIMITATIONS- N/A * V1P00100 11 | * SPECIAL FEATURES- N/A * V1P00110 12 | * ADDITIONAL INFORMATION- * V1P00120 13 | * CALLING SEQUENCE * V1P00130 14 | * LIBF XYPLT * V1P00140 15 | * DC X (INTEGER) * V1P00150 16 | * DC Y (INTEGER) * V1P00160 17 | *************************************************** V1P00170 LIBF XYPLT 19 | LIBR V1P00190 20 | ENT XYPLT V1P00200 0000 6945 21 | XYPLT STX 1 RTN+1 GET PARAMETERS V1P00210 0001 6580 0000 22 | LDX I1 *-* V1P00220 0003 C580 0000 23 | LD I1 0 V1P00230 0005 D04A 24 | STO X V1P00240 0006 C580 0001 25 | LD I1 1 V1P00250 0008 D049 26 | STO Y V1P00260 0009 7102 27 | MDX 1 2 V1P00270 000A 693D 28 | STX 1 RTN+3 SAVE RETURN ADDRESS V1P00280 000B E844 29 | OR X V1P00290 000C 4C18 0045R 30 | BSC L RTN,+- X .OR. Y = 0, YES BRANCH V1P00300 000E C047 31 | LD TABLE V1P00310 000F D02C 32 | STO T T = TABLE(0) V1P00320 0010 C03F 33 | LD X V1P00330 0011 4C28 0015R 34 | BSC L *+2,+Z X .LT. 0, YES BRANCH V1P00340 0013 7401 003CR 35 | MDX L T,1 T = T + 1 V1P00350 0015 4033 36 | BSI IABS V1P00360 0016 D039 37 | STO X X = IABS(X) V1P00370 0017 C03A 38 | LD Y V1P00380 0018 4C28 001CR 39 | BSC L *+2,+Z Y .LT. 0, YES BRANCH V1P00390 001A 7402 003CR 40 | MDX L T,2 T = T + 2 V1P00400 001C 402C 41 | BSI IABS V1P00410 001D D034 42 | STO Y Y = IABS(Y) V1P00420 001E 9031 43 | S X V1P00430 001F 4C08 0029R 44 | BSC L S10,+ X .GE. Y, YES BRANCH V1P00440 0021 7404 003CR 45 | MDX L T,4 T = T + 4 V1P00450 0023 C02C 46 | LD X 2-7 V1P00460 0024 1890 47 | SRT 16 2-7 V1P00470 0025 C02C 48 | LD Y 2-7 V1P00480 0026 D029 49 | STO X 2-7 V1P00481 0027 1090 50 | SLT 16 2-7 V1P00482 0028 D029 51 | STO Y Y = X AND X = Y 2-7 V1P00483 0029 C026 52 | S10 LD X V1P00490 002A D01E 53 | STO COUNT COUNT = X V1P00500 002B 1890 54 | SRT 16 2-7 V1P00510 002C D823 55 | STD X MAKE X DOUBLE WORD 2-7 V1P00520 002D C024 56 | LD Y 2-7 V1P00530 002E 8023 57 | A Y 2-7 V1P00531 002F 1890 58 | SRT 16 MAKE Y DOUBLE WORD 2-7 V1P00532 0030 D821 59 | STD Y Y = Y + ! 2-7 V1P00533 0031 981E 60 | SD X 2-7 V1P00540 0032 D821 61 | S20 STD DELTA DELTA = Y - X 2-7 V1P00550 0033 6100 62 | LDX 1 0 XR1 = 0 V1P00560 0034 4C28 003BR 63 | BSC L S50,+Z V1P00570 0036 6108 64 | LDX 1 8 XR1 = 8 V1P00580 0037 C81C 65 | LDD DELTA 2-7 V1P00590 0038 9817 66 | SD X 2-7 V1P00600 0039 9816 67 | SD X 2-7 V1P00610 003A D819 68 | STD DELTA DELTA DELTA - X - X 2-7 V1P00620 003B C500 0000 69 | S50 LD L1 *-* GET PLOTI PARAMETER V1P00630 003CR 70 | T EQU *-1 V1P00640 003D D001 71 | STO *+1 V1P00650 003E 174D*68C9 72 | LIBF PLOTI MOVE PEN V1P00660 003F 0000 73 | DC *-* V1P00670 0040 C013 74 | LD DELTA 2-7 V1P00680 0041 8810 75 | AD Y DELTA = DELTA + Y + Y 2-7 V1P00690 0042 74FF 0049R 76 | MDX L COUNT,-1 COUNT PEN MOVEMENTS V1P00700 0044 70ED 77 | MDX S20 V1P00710 0045 6500 0000 78 | RTN LDX L1 *-* RESTORE XR1 V1P00720 0047 4C00 0000 79 | BSC L *-* RETURN V1P00730 0049R 80 | COUNT EQU * V1P00740 0049 0000 81 | IABS DC *-* V1P00750 004A 4C90 0049R 82 | BSC I IABS,- RETURN IF POSITIVE V1P00760 004C D007 83 | STO DELTA V1P00770 004D 1010 84 | SLA 16 V1P00780 004E 9005 85 | S DELTA V1P00790 004F 70FA 86 | MDX IABS+1 V1P00800 87 | * V1P00810 88 | * CONSTANTS AND WORK AREA V1P00820 89 | * V1P00830 0050 90 | BSS E 0 V1P00840 0050 0000 91 | X DC *-* V1P00850 0051 0000 92 | DC *-* 2-7 V1P00855 0052 0000 93 | Y DC *-* V1P00860 0053 0000 94 | DC *-* 2-7 V1P00865 0054 0000 95 | DELTA DC *-* V1P00870 0055 0000 96 | DC *-* 2-7 V1P00875 0056 0057R 97 | TABLE DC * V1P00880 0057 0007 98 | DC 7 V1P00890 0058 0003 99 | DC 3 V1P00900 0059 0007 100 | DC 7 V1P00910 005A 0003 101 | DC 3 V1P00920 005B 0005 102 | DC 5 V1P00930 005C 0005 103 | DC 5 V1P00940 005D 0001 104 | DC 1 V1P00950 005E 0001 105 | DC 1 V1P00960 005F 0006 106 | DC 6 V1P00970 0060 0004 107 | DC 4 V1P00980 0061 0008 108 | DC 8 V1P00990 0062 0002 109 | DC 2 V1P01000 0063 0006 110 | DC 6 V1P01010 0064 0004 111 | DC 4 V1P01020 0065 0008 112 | DC 8 V1P01030 0066 0002 113 | DC 2 V1P01040 0067 114 | END V1P01050 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced COUNT 0049R 80 53 76 DELTA 0054R 95 61 65 68 74 83 85 IABS 0049R 81 36 41 82 86 RTN 0045R 78 21 28 30 S10 0029R 52 44 S20 0032R 61 77 S50 003BR 69 63 T 003CR 70 32 35 40 45 TABLE 0056R 97 31 X 0050R 91 24 29 33 37 43 46 49 52 55 60 66 67 XYPLT 0000R 21 Y 0052R 93 26 38 42 48 51 56 57 59 75