Compucolor.org – Virtual Media

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