Listing of file='TUTE4B.BAS;01' on disk='vmedia/asmtut_disk2-sector.ccvf'
100 REM ARITH GROUP TUTE4B 22/8/81 110 GOTO 146:REM 142 W/O MENU 120 Z= CALL (0):PLOT 3,0,31,11:RETURN 130 PLOT 3,62,31:POKE KB,0:Z= CALL (18) 131 IF PEEK (KB)= 0THEN 131 132 GOSUB 120:PRINT "/":GOTO 120 133 GOSUB 120:GOTO 120 140 FOR I= 1TO 1000:NEXT :RETURN 142 POKE 32941,191:POKE 32940,172:CLEAR 100:PLOT 27,4:PRINT "LOA SCROLL.PRG":PLOT 27,27 144 POKE 33283,173:POKE 33284,191 146 BL$= " ":KB= 33278:DU= 49113:POKE DU,255 148 PLOT 27,24,12,27,4:PRINT "LOA ARCH.DSP":PLOT 27,27 150 A$= "00000101":F$= "10 0 0 0":B$= "2C":C$= "05":D$= "2B":E$= "C2":H$= "0D":L$= "F0" 152 GOSUB 5000:GOSUB 5100:GOSUB 5200:GOSUB 5300:GOSUB 5400:GOSUB 5500:GOSUB 5600:GOSUB 5700 154 PLOT 3,45,4:PRINT BL$BL$:PLOT 3,45,6:PRINT BL$BL$:SP$= "BE 00":PC$= "00 0F" 156 GOSUB 5800:GOSUB 5900:PLOT 3,1,9:PRINT BL$" ":PLOT 3,45,9:PRINT BL$BL$:GOSUB 6300:GOSUB 133 158 FOR I= 20TO 12STEP - 2:Z= CALL (I):NEXT 160 PRINT "IN THIS TUTORIAL, WE WILL LOOK AT THE ARITHMETIC AND LOGICAL":GOSUB 120 162 PRINT "INSTRUCTIONS FOR THE 8080.":GOSUB 130:GOTO 210 200 BL$= " ":KB= 33278:DU= 49113:POKE DU,255 210 PRINT "THE FIRST ARITHMETIC OPERATION TO BE CONSIDERED IS ADD WHICH":GOSUB 120 220 PRINT "ADDS THE CONTENTS OF THE OPERAND REGISTER TO A.":GOSUB 120 230 PRINT "OPERANDS MAY BE B,C,D,E,H,L,M, AND A. (AS FOR MVI)":GOSUB 130 240 PRINT "THE FLAGS ARE SET TO INDICATE THE OUTCOME OF THIS OPERATION":GOSUB 120 250 PRINT "BUT THE CARRY DOES NOT TAKE PART IN IT.":GOSUB 120 260 PRINT "PRESS ENTER TO EXECUTE ADD B.":GOSUB 130 270 I$= "10000000":HI$= "80":P$= "ADD B ":GOSUB 6000:GOSUB 140 280 A$= "11110000":F$= "10 1 1 0":PC$= "00 10":GOSUB 5900:GOSUB 140:GOSUB 5000:GOSUB 140 290 GOSUB 5100:GOSUB 140:GOSUB 6300 300 PRINT "NOTE:":GOSUB 120 310 PRINT "B IS UNALTERED,":GOSUB 120 320 PRINT "THE FLAGS INDICATE THE OUTCOME,":GOSUB 120 330 PRINT "PC HAS INCREMENTED BY ONE. (SINGLE BYTE INSTR.)":GOSUB 130 340 PRINT "THE NEXT INSTRUCTION, ADI ADDS IMMEDIATE DATA TO A,":GOSUB 120 350 PRINT "THIS DATA BEING PROVIDED BY THE NEXT BYTE IN THE PROGRAM.":GOSUB 120 360 PRINT "PRESS ENTER TO EXECUTE ADI 1CH.":GOSUB 130 370 I$= "11000110":HI$= "C6":P$= "ADI ":GOSUB 6000:GOSUB 140 380 DD$= "00011100":GOSUB 6400:A$= "00001100":F$= "00 0 0 1":PC$= "00 12":GOSUB 5900:GOSUB 140 390 GOSUB 5000:GOSUB 140:GOSUB 5100:GOSUB 140:GOSUB 6300 400 PRINT "NOTE:":GOSUB 120 410 PRINT "PC BUMPED BY TWO (2 BYTE INSTR.)":GOSUB 120 420 PRINT "CARRY WAS SET AS A OVERFLOWED.":GOSUB 130 430 PRINT "THE NEXT INSTRUCTION, ADC, IS SIMILAR TO ADD EXCEPT THAT THE":GOSUB 120 440 PRINT "PREVIOUS SETTING OF THE CARRY IS ADDED AS WELL, MAKING IT":GOSUB 120 450 PRINT "USEFUL IN MULTI-BYTE ARITHMETIC.":GOSUB 120 460 PRINT "PRESS ENTER TO EXECUTE ADC B.":GOSUB 130 470 I$= "10001000":HI$= "88":P$= "ADC B ":GOSUB 6000:GOSUB 140 480 A$= "11111000":F$= "10 1 0 0":PC$= "00 13":GOSUB 5900:GOSUB 140:GOSUB 5000:GOSUB 140:GOSUB 5100 490 GOSUB 140:GOSUB 6300 500 PRINT "THE NEXT INSTRUCTION, ACI, INCLUDES THE CARRY BUT USES":GOSUB 120 510 PRINT "IMMEDIATE DATA PROVIDED IN THE NEXT BYTE.":GOSUB 130 520 PRINT "E.G. ACI 07H ADDS 7 TO A AND ADDS CARRY AS WELL.":GOSUB 130 530 PRINT "SUB IS SIMILAR TO ADD, EXCEPT THAT THE REGISTER IS SUBTRACTED":GOSUB 120 540 PRINT "FROM A.":GOSUB 130 550 PRINT "SUB USES TWO'S COMPLEMENT REPRESENTATION OF DATA AND LIKE ADD,":GOSUB 120 560 PRINT "DOES NOT USE THE CARRY, BUT FLAGS THE RESULT.":GOSUB 120 570 PRINT "PRESS ENTER TO EXECUTE SUB B.":GOSUB 130 580 I$= "10010000":HI$= "90":P$= "SUB B ":GOSUB 6000:GOSUB 140 590 A$= "00001101":F$= "00 1 0 0":PC$= "00 14":GOSUB 5900:GOSUB 140:GOSUB 5000:GOSUB 140 600 GOSUB 5100:GOSUB 140:GOSUB 6300 610 PRINT "SUI, SBB, & SBI ARE THE SUBTRACTION EQUVALENTS OF":GOSUB 120 620 PRINT "ADI, ADC, & ACI.":GOSUB 130 630 PRINT "INCREMENTS AND DECREMENTS IN THE 8080 ARE ALL BY ONE.":GOSUB 130 640 PRINT "INR AND DCR INCREMENT OR DECREMENT ONE OF THE REGISTERS,":GOSUB 120 650 PRINT "B,C,D,E,H,L,M, OR A.":GOSUB 120 660 PRINT "WITH THE RESULT MONITORED BY ALL THE FLAGS EXCEPT CARRY.":GOSUB 130 670 PRINT "THUS DCR M DECREMENTS THE BYTE POINTED BY HL BY ONE.":GOSUB 120 680 PRINT "PRESS ENTER TO EXECUTE INR B.":GOSUB 130 690 I$= "00000100":HI$= "04":P$= "INR B ":GOSUB 6000:GOSUB 140 700 B$= "2D":F$= "10 0 0 0":PC$= "00 15":GOSUB 5900:GOSUB 140:GOSUB 5200:GOSUB 140 710 GOSUB 5100:GOSUB 140:GOSUB 6300 720 PRINT "DOUBLE REGISTERS MAY BE SIMILARLY INCREMENTED AND DECREMENTED":GOSUB 120 730 PRINT "USING INX AND DCX.":GOSUB 120 740 PRINT "PERMITTED OPERANDS ARE B, D, H, & SP.":GOSUB 130 750 PRINT "NEITHER OPERATION AFFECTS THE FLAGS SO THAT SPECIAL CARE IS":GOSUB 120 760 PRINT "REQUIRED WHEN VALUES ARE IN THE VICINITY OF FFFF OR 0000 AS":GOSUB 120 770 PRINT "UNDERFLOW OR OVERFLOW MAY GO UNNOTICED.":GOSUB 120 780 PRINT "USUALLY, WHEN INCREMENTING OR DECREMENTING A POINTER WITH":GOSUB 120 790 PRINT "INX OR DCX, A SINGLE REGISTER COUNTER IS MONITORED TO CHECK":GOSUB 120 800 PRINT "FOR BOUNDARY CONDITIONS.":GOSUB 130 810 PRINT "THE FINAL ARITHMETIC INSTRUCTION IS UNIQUE IN THAT IT ALLOWS":GOSUB 120 820 PRINT "16 BIT ADDITION.":GOSUB 130 830 PRINT "DAD OR DOUBLE REGISTER ADD, ACCEPTS B, D, H OR SP AS OPERAND":GOSUB 120 840 PRINT "AND ADDS THESE REGISTER PAIRS TO H & L.":GOSUB 130 850 PRINT "DAD SETS THE CARRY ON IF THERE IS A CARRY OUT OF HL, BUT DOES":GOSUB 120 860 PRINT "NOT AFFECT ANY OTHER FLAGS.":GOSUB 130 870 PRINT "DOUBLE REGISTER SUBTRACTION MAY BE CARRIED OUT BY ADDING THE":GOSUB 120 880 PRINT "COMPLEMENT OF THE SUBTRAHEND.":GOSUB 120 890 PRINT "FOR EXAMPLE, ADDING FF80H IS THE SAME AS SUBTRACTING 0080H":GOSUB 130 900 PRINT "DAD H WILL DOUBLE THE VALUE IN HL UNLESS THE RESULT EXCEEDS":GOSUB 120 910 PRINT "FFFFH.":GOSUB 130 920 PRINT "PRESS ENTER TO EXECUTE DAD B.":GOSUB 130 930 I$= "00001001":HI$= "09":P$= "DAD B ":GOSUB 6000:GOSUB 140 940 H$= "3A":L$= "F5":PC$= "00 16":GOSUB 5900:GOSUB 140:GOSUB 5600:GOSUB 140:GOSUB 5700:GOSUB 140 950 GOSUB 6300 960 PRINT "NOTE THAT B WAS NOT AFFECTED AND THAT DAD IS A SINGLE BYTE":GOSUB 120 970 PRINT "INSTRUCTION.":GOSUB 130 980 PRINT "THE NEXT GROUP OF INSTRUCTIONS IS THE LOGICAL GROUP.":GOSUB 120 990 PRINT "THIS GROUP PERFORMS LOGICAL OR BOOLEAN OPERATIONS ON DATA":GOSUB 120 1000 PRINT "IN REGISTERS AND MEMORY AND ON CONDITION FLAGS.":GOSUB 130 1010 PRINT "LOGICAL AND, OR, AND EXCLUSIVE OR INSTRUCTIONS ENABLE YOU TO":GOSUB 120 1020 PRINT "SET SPECIFIC BITS IN A ON OR OFF.":GOSUB 130 1030 PRINT "YOU MAY OPERATE ON REGISTERS (B, C, D, E, H, L, M, OR A)":GOSUB 120 1040 PRINT "WITH ANA, ORA, OR XRA.":GOSUB 130 1050 PRINT "AND ON IMMEDIATE DATA (CONTAINED IN THE FOLLOWING BYTE)":GOSUB 120 1060 PRINT "WITH ANI, ORI, OR XRI.":GOSUB 130 1070 PRINT "XRA A IS A CONVENIENT WAY TO ZERO A AND SET THE FLAGS TO A":GOSUB 120 1075 PRINT "KNOWN CONDITION.":GOSUB 130 1080 PRINT "ANA A IS A CONVENIENT WAY TO MAKE THE FLAGS REFLECT THE":GOSUB 120 1090 PRINT "CONDITION OF A FOLLOWING AN OPERATION THAT DOES NOT SET FLAGS":GOSUB 120 1100 PRINT "SUCH AS DATA TRANSFER.":GOSUB 130 1110 PRINT "PRESS ENTER TO EXECUTE XRA A.":GOSUB 130 1120 I$= "10101111":HI$= "AF":P$= "XRA A ":GOSUB 6000:GOSUB 140 1130 A$= "00000000":F$= "01 0 1 0":PC$= "00 17":GOSUB 5900:GOSUB 140:GOSUB 5000:GOSUB 140:GOSUB 5100 1140 GOSUB 140:GOSUB 6300 1150 PRINT "PRESS ENTER TO EXECUTE MOV A,L.":GOSUB 130 1160 I$= "01111101":HI$= "7D":P$= "MOV A,L ":GOSUB 6000:GOSUB 140 1170 A$= "11110101":PC$= "00 18":GOSUB 5900:GOSUB 140:GOSUB 5000:GOSUB 140:GOSUB 6300 1180 PRINT "NOTE THAT THE FLAGS DO NOT REFLECT A.":GOSUB 120 1190 PRINT "PRESS ENTER TO EXECUTE ANA A.":GOSUB 130 1200 I$= "10100111":HI$= "A7":P$= "ANA A ":GOSUB 6000:GOSUB 140 1210 PC$= "00 19":F$= "10 0 1 0":GOSUB 5900:GOSUB 140:GOSUB 5100:GOSUB 140:GOSUB 6300 1220 PRINT "NOTE THE FLAGS NOW TELL US MORE ABOUT A.":GOSUB 130 1230 PRINT "ANI 07H (07H=111B) WILL RESET BITS 3-7 IN A AND TELL US":GOSUB 120 1240 PRINT "WHICH OF BITS 0-2 ARE SET.":GOSUB 120 1250 PRINT "IN LIKE MANNER, THE ACCUMULATOR MAY BE EXAMINED BITWISE AND":GOSUB 120 1260 PRINT "APPROPRIATE DECISIONS MADE.":GOSUB 130 1270 PRINT "THE COMPARE INSTRUCTIONS COMPARE THE CONTENTS OF AN 8 BIT":GOSUB 120 1280 PRINT "VALUE WITH A.":GOSUB 130 1290 PRINT "CMP COMPARES WITH ITS OPERAND REGISTER (BCDEHLMA)":GOSUB 120 1300 PRINT "WHILE CPI COMPARES WITH IMMEDIATE DATA IN THE NEXT BYTE.":GOSUB 130 1310 PRINT "E.G. CMP B , CPI FFH .":GOSUB 130 1320 PRINT "IN COMPARISONS, THE FLAGGED RESULT IS THE RESULT OF":GOSUB 120 1330 PRINT "SUBTRACTING THE OPERAND FROM A IN AN INTERNAL REGISTER WITHOUT":GOSUB 120 1340 PRINT "AFFECTING ANY REGISTERS.":GOSUB 130 1350 PRINT "THUS TO LOOK FOR VALUES WITHIN LIMITS, USE THE FOLLOWING":GOSUB 120 1360 PRINT "RULES:-":GOSUB 120 1370 PRINT "LET P = THE QUANTITY TO BE COMPARED TO A. (REGISTER OR IMMED.)":GOSUB 120 1380 PRINT " ZERO =1 IF A = P":GOSUB 120 1390 PRINT " ZERO =0 IF A <= P":GOSUB 120 1400 PRINT "CARRY =1 IF A < P":GOSUB 120 1410 PRINT "CARRY =0 IF A >= P":GOSUB 130 1420 PRINT "THE NEXT GROUP OF INSTRUCTIONS TO BE CONSIDERED ARE THE":GOSUB 120 1430 PRINT "ROTATE SERIES.":GOSUB 130 1440 PRINT "THESE INSTRUCTIONS TREAT THE CARRY BIT AS A NINTH BIT OF THE":GOSUB 120 1450 PRINT "THE ACCUMULATOR.":GOSUB 130 1460 PRINT "THE ONLY FLAG ALTERED BY THEIR OPERATION IS CARRY.":GOSUB 120 1470 PRINT "TO ILLUSTRATE THEIR OPERATION, WE WILL OPEN ANOTHER WINDOW":GOSUB 120 1480 PRINT "FOR CARRY TO THE LEFT OF THE ACCUMULATOR.":GOSUB 130 1490 PLOT 6,6,3,16,2:PRINT "0":PLOT 6,24,3,17,2:PRINT "---":GOSUB 6300 1500 PRINT "RLC OR ROTATE LEFT WITH CARRY SETS CARRY EQUAL TO BIT 7 OF A":GOSUB 120 1510 PRINT "AND THEN ROTATES THE CONTENTS OF A LEFT ONE BIT POSITION":GOSUB 120 1520 PRINT "WITH BIT 7 TRANSFERRING TO THE BIT 0 POSITION.":GOSUB 120 1530 PRINT "PRESS ENTER TO VIEW THIS GRAPHICALLY.":GOSUB 130 1540 PLOT 6,24,3,17,2:PRINT "<":PLOT 3,18,1:PRINT "m":PLOT 3,19,0:PRINT "-->------":PLOT 3,28,1:PRINT "m":PLOT 3,28,2:PRINT "<":GOSUB 6300 1550 PRINT "RRC OR ROTATE RIGHT WITH CARRY SETS CARRY EQUAL TO BIT 0 OF A":GOSUB 120 1560 PRINT "AND THEN ROTATES THE CONTENTS OF A RIGHT ONE BIT POSITION":GOSUB 120 1570 PRINT "WITH BIT 0 TRANSFERRING TO THE BIT 7 POSITION.":GOSUB 120 1580 PRINT "PRESS ENTER TO VIEW THIS GRAPHICALLY.":GOSUB 130 1590 PLOT 6,24,3,19,2:PRINT ">":PLOT 3,19,0:PRINT "--<------":PLOT 3,28,2:PRINT ">":GOSUB 6300 1600 PRINT "RAL OR ROTATE LEFT THROUGH CARRY TREATS THE CARRY AS BIT 8":GOSUB 120 1610 PRINT "OF A AND THEN ROTATES ALL NINE BITS LEFT ONE BIT POSITION.":GOSUB 120 1620 PRINT "PRESS ENTER TO VIEW THIS GRAPHICALLY.":GOSUB 130 1630 PLOT 6,6,3,19,2:PRINT "0":PLOT 6,24,3,16,2:PRINT " ":PLOT 3,18,1:PRINT " m" 1640 PLOT 3,19,0:PRINT " -->----":PLOT 3,28,2:PRINT "<":GOSUB 6300 1650 PRINT "RAR OR ROTATE RIGHT THROUGH CARRY TREATS THE CARRY AS BIT 8":GOSUB 120 1660 PRINT "OF A AND THEN ROTATES ALL NINE BITS RIGHT ONE BIT POSITION.":GOSUB 120 1670 PRINT "PRESS ENTER TO VIEW THIS GRAPHICALLY.":GOSUB 130 1680 PLOT 6,24,3,19,0:PRINT " --<----":PLOT 3,28,2:PRINT ">":GOSUB 6300 1690 PRINT "ROTATE INSTRUCTIONS ARE PARTICULARLY USEFUL FOR MULTIPLICATION":GOSUB 120 1700 PRINT "AND DIVISION AS A SHIFT TO THE RIGHT IN BINARY IS EQUIVALENT":GOSUB 120 1710 PRINT "TO DIVISION BY TWO AND A SHIFT TO THE LEFT, A MULTIPLICATION":GOSUB 120 1720 PRINT "BY TWO.":GOSUB 130 1730 PRINT "THE CHOICE OF A ROTATE THROUGH CARRY OR ONE WITH CARRY":GOSUB 120 1740 PRINT "DEPENDS ON THE NEED TO RETAIN OR DISCARD THE CARRY.":GOSUB 130 1750 PLOT 6,24,3,16,0:PRINT BL$BL$:PLOT 3,18,1:PRINT BL$" ":PLOT 3,19,2:PRINT " ":PLOT 3,28,2:PRINT " " 1760 PLOT 3,28,1:PRINT " ":PLOT 3,18,2:PRINT "A":GOSUB 6300 1770 PRINT "ANOTHER GROUP OF INSTRUCTIONS ARE THE COMPLEMENT AND CARRY SET":GOSUB 120 1780 PRINT "CMA SIMPLY COMPLEMENTS THE ACCUMULATOR.":GOSUB 120 1790 PRINT "I.E. ALL 0'S BECOME 1'S AND ALL 1'S BECOME 0'S.":GOSUB 120 1800 PRINT "NO FLAGS ARE AFFECTED.":GOSUB 130 1810 PRINT "CMC SIMPLY COMPLEMENTS THE CARRY.":GOSUB 120 1820 PRINT "WHILE STC SETS THE CARRY.":GOSUB 130 1830 PRINT "ANOTHER INSTRUCTION THAT AFFECTS THE ACCUMULATOR IS DAA":GOSUB 120 1840 PRINT "OR DECIMAL ADJUST THE ACCUMULATOR.":GOSUB 130 1850 PRINT "DAA IS PROVIDED TO FACILITATE OPERATIONS WITH BINARY CODED":GOSUB 120 1860 PRINT "DECIMAL ARITHMETIC IN WHICH BITS 0-3 OF A REPRESENT THE LEAST":GOSUB 120 1870 PRINT "SIGNIFICANT DECIMAL DIGIT AND BITS 4-7 THE MOST SIGNIFICANT ONE.":GOSUB 130 1880 PRINT "DAA IS NEVER USED IN ISOLATION BUT RATHER EXTENDS THE":GOSUB 120 1890 PRINT "INSTRUCTIONS ADD AND ADC WHEN USED WITH BCD SOURCE DATA.":GOSUB 130 1900 PRINT "AFTER TWO BCD DIGITS HAVE BEEN ADDED, DAA DOES THE FOLLOWING:":GOSUB 133 1910 PRINT "BITS 0-3 ARE CHECKED FOR BCD 0-9 AND FLAG AC IS CHECKED FOR 0.":GOSUB 120 1920 PRINT "IF BOTH CONDITIONS EXIST THEN 0-3 ARE UNCHANGED.":GOSUB 130 1930 PRINT "IF ONE OF THESE EXISTS THEN 6 IS ADDED TO A.":GOSUB 120 1940 PRINT "THEN BITS 4-7 ARE CHECKED FOR 0-9 AND FLAG C IS CHECKED FOR 0.":GOSUB 120 1950 PRINT "IF BOTH CONDITIONS ARE MET, THE PROCESS IS COMPLETE.":GOSUB 130 1960 PRINT "IF EITHER CONDITION IS NOT MET THEN 6 IS ADDED TO THE DIGIT":GOSUB 120 1970 PRINT "REPRESENTED BY BITS 4-7 AND FLAG C IS SET IF OVERFLOW OCCURS":GOSUB 120 1980 PRINT "FROM A AS A RESULT.":GOSUB 130 1990 PRINT "FLAGS Z, S, & P ARE ALSO AFFECTED BY DAA.":GOSUB 120 2000 PRINT "DAA IS RARELY USED.":GOSUB 130 2010 PRINT "LOGICAL INSTRUCTIONS AND ANY OTHERS THAT AFFECT THE FLAGS":GOSUB 120 2020 PRINT "ARE OFTEN USED TO POINT THE WAY FOR DECISION MAKING AND":GOSUB 120 2030 PRINT "CONSEQUENT BRANCHING OF PROGRAM FLOW.":GOSUB 133 2040 PRINT "IN THE NEXT TUTORIAL, WE WILL LOOK AT BRANCHING INSTRUCTIONS":GOSUB 120 2050 PRINT "AND PARTICULARLY CONDITIONAL BRANCHING.":GOSUB 130 2060 FOR I= 12TO 20:Z= CALL (I):NEXT 2070 INPUT "DO YOU WANT TO PROCEED TO THE BRANCHING GROUP? Y/N ";YN$:GOSUB 133 2080 IF YN$< > "Y"THEN PLOT 1 2090 LOAD "TUTE4C":RUN 200 2100 END 5000 PLOT 6,6,3,20,2:PRINT A$:RETURN 5100 PLOT 6,6,3,30,2:PRINT F$:RETURN 5200 PLOT 6,6,3,23,4:PRINT B$:RETURN 5300 PLOT 6,6,3,33,4:PRINT C$:RETURN 5400 PLOT 6,6,3,23,6:PRINT D$:RETURN 5500 PLOT 6,6,3,33,6:PRINT E$:RETURN 5600 PLOT 6,6,3,23,8:PRINT H$:RETURN 5700 PLOT 6,6,3,33,8:PRINT L$:RETURN 5800 PLOT 6,6,3,50,4:PRINT SP$:RETURN 5900 PLOT 6,6,3,50,6:PRINT PC$:RETURN 6000 PLOT 6,34,3,2,4:PRINT I$:PLOT 3,12,4:PRINT HI$:PLOT 6,2,3,2,7:PRINT P$:RETURN 6100 PLOT 6,2,3,5,9:PRINT DD$:RETURN 6200 PLOT 6,2,3,45,9:PRINT AD$:RETURN 6300 PLOT 6,2,3,0,31:RETURN 6400 GOSUB 6100:GOSUB 140:I$= DD$:DD$= BL$:GOSUB 6100:RETURN