Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_28.ADF » P/+DIMON2

P/+DIMON2

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_28.ADF
Filename: P/+DIMON2
Read OK:
File size: 0CBE bytes
Load address: 2B206576
Exec address: 41584544
File contents
�.........*.......*.......*.......*.......*.......*.......*.......*.......*.<

DISC EXAMINE
~~~~~~~~~~~~
By Richard Dimond

This is another useful progragm from EU which I have converted to M/code. 
I have also made some changes to enable you to move back a sector as well
as forward.  Also to re-run to enter a new address without having to break
out of the program.

The opening screen is set as in my earlier programs and then the routine
'input' called for entering an address.  As I had no idea how to do this,
and could not make up one, I have used the routine from TRACKER which I
have also submitted.

After entering an address, the program goes to the mainloop lines 240 -
680.  This contains two nested loops, 'loop2' lines 290 - 600 and 'loop'
lines 450 - 560.

The mainloop first sets up OSWORD with A=&72 to read 1 sector at disc
address 'dadd' to address &3000.  The variable 'byte' is set to zero. 
This is the byte number to be printed at the left of the screen.

Loop2 then calls the routine 'title' to clear the screen and print the
title.  The disc address, track number and sector are then printed.

The routine 'daprt' uses the routine 'hexprt2' which is a modifcation of
'hexprt' I made to avoid printing the leading zeroes.

I made up the routine 'decprt' as a simpler routine for printing decimal
numbers as this program only used a single byte number to print up to 255. 
If the number is less than 10, the program jumps to 'one' to print a
single digit.  If it is greater than 199, 200 is deducted and a 2 printed,
the remainder is then stored in 'temp'.  Similarly for numbers between 100
& 199, 100 is deducted, the remainder stored and 1 printed.  The remainder
is then reloaded into A and then divided by 10 by subtracting 10 and
counting the number using X register in loop 'lp'.  This number is printed
after being transferred to A register followed the remainder in 'temp'.

The string 'head2' is then printed and count loaded with 16 to repeat
'loop' 16 times to print the lines of each half of the sector.

Lienes 460,470 print the byte numbers, the comparisons set X to number of
spaces needed to line up the numbers and the colon is printed after the
number.  Line 480 loops round 8 times to print a space and the hex value
of the bytes.  Then line 490 prints two spaces.  The loop 'llp2' prints
characters if printable or a '.' if not.

The cue to press a key is printed (line 570) and the program waits.  

The first time a key is pressed, since 'count2' is initially 2, 'loop'
will be repeated to print the second half of the sector.

When the sector has been printed, the options are printed (lines 610,620).
The AND&DF in line 640 allows the use of the lower case letters.  When the
program waits, carry is set if ESCAPE is pressed and this returns to
BASIC.

Line 650 increases 'dadd' and, if this goes to zero, 'dadd+1' is
increased.  The value of 'dadd' is decreased at line 660 and 'dadd+1' is
decreased when 'dadd' is decreased to 255.

If R is pressed the program jumps to 'st' and 'start' to enter a new
address.  Otherwise the mainloop is repeated.

**************************************************************************

00000000  81 2e 2e 2e 2e 2e 2e 2e  2e 2e 2a 2e 2e 2e 2e 2e  |..........*.....|
00000010  2e 2e 2a 2e 2e 2e 2e 2e  2e 2e 2a 2e 2e 2e 2e 2e  |..*.......*.....|
*
00000040  2e 2e 2a 2e 2e 2e 2e 2e  2e 2e 2a 2e 3c 0d 0d 44  |..*.......*.<..D|
00000050  49 53 43 20 45 58 41 4d  49 4e 45 0d 7e 7e 7e 7e  |ISC EXAMINE.~~~~|
00000060  7e 7e 7e 7e 7e 7e 7e 7e  0d 42 79 20 52 69 63 68  |~~~~~~~~.By Rich|
00000070  61 72 64 20 44 69 6d 6f  6e 64 0d 0d 54 68 69 73  |ard Dimond..This|
00000080  1a 20 69 73 20 61 6e 6f  74 68 65 72 20 75 73 65  |. is another use|
00000090  66 75 6c 20 70 72 6f 67  72 61 67 6d 20 66 72 6f  |ful progragm fro|
000000a0  6d 20 45 55 20 77 68 69  63 68 20 49 20 68 61 76  |m EU which I hav|
000000b0  65 20 63 6f 6e 76 65 72  74 65 64 20 74 6f 20 4d  |e converted to M|
000000c0  2f 63 6f 64 65 2e 20 0d  49 20 68 61 76 65 1a 20  |/code. .I have. |
000000d0  61 6c 73 6f 20 6d 61 64  65 20 73 6f 6d 65 20 63  |also made some c|
000000e0  68 61 6e 67 65 73 20 74  6f 20 65 6e 61 62 6c 65  |hanges to enable|
000000f0  20 79 6f 75 20 74 6f 20  6d 6f 76 65 20 62 61 63  | you to move bac|
00000100  6b 20 61 20 73 65 63 74  6f 72 20 61 73 20 77 65  |k a sector as we|
00000110  6c 6c 0d 61 73 20 66 6f  72 77 61 72 64 2e 20 20  |ll.as forward.  |
00000120  41 6c 73 6f 20 74 6f 20  72 65 2d 72 75 6e 20 74  |Also to re-run t|
00000130  6f 20 65 6e 74 65 72 20  61 20 6e 65 77 20 61 64  |o enter a new ad|
00000140  64 72 65 73 73 20 77 69  74 68 6f 75 74 20 68 61  |dress without ha|
00000150  76 69 6e 67 20 74 6f 20  62 72 65 61 6b 0d 6f 75  |ving to break.ou|
00000160  74 20 6f 66 20 74 68 65  20 70 72 6f 67 72 61 6d  |t of the program|
00000170  2e 0d 0d 54 68 65 20 6f  70 65 6e 69 6e 67 20 73  |...The opening s|
00000180  63 72 65 65 6e 20 69 73  20 73 65 74 1a 20 61 73  |creen is set. as|
00000190  1a 20 69 6e 20 6d 79 20  65 61 72 6c 69 65 72 20  |. in my earlier |
000001a0  70 72 6f 67 72 61 6d 73  20 61 6e 64 20 74 68 65  |programs and the|
000001b0  6e 20 74 68 65 20 72 6f  75 74 69 6e 65 0d 27 69  |n the routine.'i|
000001c0  6e 70 75 74 27 20 63 61  6c 6c 65 64 20 66 6f 72  |nput' called for|
000001d0  20 65 6e 74 65 72 69 6e  67 20 61 6e 20 61 64 64  | entering an add|
000001e0  72 65 73 73 2e 20 20 41  73 1a 20 49 20 68 61 64  |ress.  As. I had|
000001f0  20 6e 6f 20 69 64 65 61  20 68 6f 77 20 74 6f 20  | no idea how to |
00000200  64 6f 20 74 68 69 73 2c  0d 61 6e 64 20 63 6f 75  |do this,.and cou|
00000210  6c 64 20 6e 6f 74 20 6d  61 6b 65 20 75 70 20 6f  |ld not make up o|
00000220  6e 65 2c 20 49 20 68 61  76 65 1a 20 75 73 65 64  |ne, I have. used|
00000230  1a 20 74 68 65 1a 20 72  6f 75 74 69 6e 65 20 66  |. the. routine f|
00000240  72 6f 6d 20 54 52 41 43  4b 45 52 20 77 68 69 63  |rom TRACKER whic|
00000250  68 20 49 0d 68 61 76 65  20 61 6c 73 6f 20 73 75  |h I.have also su|
00000260  62 6d 69 74 74 65 64 2e  0d 0d 41 66 74 65 72 1a  |bmitted...After.|
00000270  20 65 6e 74 65 72 69 6e  67 20 61 6e 20 61 64 64  | entering an add|
00000280  72 65 73 73 2c 20 74 68  65 20 70 72 6f 67 72 61  |ress, the progra|
00000290  6d 20 67 6f 65 73 20 74  6f 20 74 68 65 20 6d 61  |m goes to the ma|
000002a0  69 6e 6c 6f 6f 70 20 6c  69 6e 65 73 1a 20 32 34  |inloop lines. 24|
000002b0  30 1a 20 2d 0d 36 38 30  2e 20 20 54 68 69 73 1a  |0. -.680.  This.|
000002c0  20 63 6f 6e 74 61 69 6e  73 1a 20 74 77 6f 20 6e  | contains. two n|
000002d0  65 73 74 65 64 20 6c 6f  6f 70 73 2c 20 27 6c 6f  |ested loops, 'lo|
000002e0  6f 70 32 27 20 6c 69 6e  65 73 20 32 39 30 20 2d  |op2' lines 290 -|
000002f0  20 36 30 30 20 61 6e 64  20 27 6c 6f 6f 70 27 0d  | 600 and 'loop'.|
00000300  6c 69 6e 65 73 20 34 35  30 20 2d 20 35 36 30 2e  |lines 450 - 560.|
00000310  0d 0d 54 68 65 20 6d 61  69 6e 6c 6f 6f 70 20 66  |..The mainloop f|
00000320  69 72 73 74 20 73 65 74  73 1a 20 75 70 1a 20 4f  |irst sets. up. O|
00000330  53 57 4f 52 44 1a 20 77  69 74 68 1a 20 41 3d 26  |SWORD. with. A=&|
00000340  37 32 1a 20 74 6f 20 72  65 61 64 20 31 20 73 65  |72. to read 1 se|
00000350  63 74 6f 72 20 61 74 20  64 69 73 63 0d 61 64 64  |ctor at disc.add|
00000360  72 65 73 73 1a 20 27 64  61 64 64 27 1a 20 74 6f  |ress. 'dadd'. to|
00000370  20 61 64 64 72 65 73 73  20 26 33 30 30 30 2e 20  | address &3000. |
00000380  20 54 68 65 20 76 61 72  69 61 62 6c 65 20 27 62  | The variable 'b|
00000390  79 74 65 27 20 69 73 1a  20 73 65 74 1a 20 74 6f  |yte' is. set. to|
000003a0  1a 20 7a 65 72 6f 2e 20  0d 54 68 69 73 20 69 73  |. zero. .This is|
000003b0  20 74 68 65 20 62 79 74  65 20 6e 75 6d 62 65 72  | the byte number|
000003c0  20 74 6f 20 62 65 20 70  72 69 6e 74 65 64 20 61  | to be printed a|
000003d0  74 20 74 68 65 20 6c 65  66 74 20 6f 66 20 74 68  |t the left of th|
000003e0  65 20 73 63 72 65 65 6e  2e 0d 0d 4c 6f 6f 70 32  |e screen...Loop2|
000003f0  20 74 68 65 6e 20 63 61  6c 6c 73 1a 20 74 68 65  | then calls. the|
00000400  1a 20 72 6f 75 74 69 6e  65 1a 20 27 74 69 74 6c  |. routine. 'titl|
00000410  65 27 1a 20 74 6f 20 63  6c 65 61 72 20 74 68 65  |e'. to clear the|
00000420  20 73 63 72 65 65 6e 20  61 6e 64 20 70 72 69 6e  | screen and prin|
00000430  74 20 74 68 65 0d 74 69  74 6c 65 2e 20 20 54 68  |t the.title.  Th|
00000440  65 20 64 69 73 63 20 61  64 64 72 65 73 73 2c 20  |e disc address, |
00000450  74 72 61 63 6b 20 6e 75  6d 62 65 72 20 61 6e 64  |track number and|
00000460  20 73 65 63 74 6f 72 20  61 72 65 20 74 68 65 6e  | sector are then|
00000470  20 70 72 69 6e 74 65 64  2e 0d 0d 54 68 65 20 72  | printed...The r|
00000480  6f 75 74 69 6e 65 20 27  64 61 70 72 74 27 20 75  |outine 'daprt' u|
00000490  73 65 73 20 74 68 65 20  72 6f 75 74 69 6e 65 20  |ses the routine |
000004a0  27 68 65 78 70 72 74 32  27 1a 20 77 68 69 63 68  |'hexprt2'. which|
000004b0  1a 20 69 73 20 61 20 6d  6f 64 69 66 63 61 74 69  |. is a modifcati|
000004c0  6f 6e 20 6f 66 0d 27 68  65 78 70 72 74 27 20 49  |on of.'hexprt' I|
000004d0  20 6d 61 64 65 20 74 6f  20 61 76 6f 69 64 20 70  | made to avoid p|
000004e0  72 69 6e 74 69 6e 67 20  74 68 65 20 6c 65 61 64  |rinting the lead|
000004f0  69 6e 67 20 7a 65 72 6f  65 73 2e 0d 0d 49 20 6d  |ing zeroes...I m|
00000500  61 64 65 20 75 70 20 74  68 65 20 72 6f 75 74 69  |ade up the routi|
00000510  6e 65 1a 20 27 64 65 63  70 72 74 27 1a 20 61 73  |ne. 'decprt'. as|
00000520  20 61 20 73 69 6d 70 6c  65 72 20 72 6f 75 74 69  | a simpler routi|
00000530  6e 65 20 66 6f 72 20 70  72 69 6e 74 69 6e 67 20  |ne for printing |
00000540  64 65 63 69 6d 61 6c 0d  6e 75 6d 62 65 72 73 20  |decimal.numbers |
00000550  61 73 20 74 68 69 73 20  70 72 6f 67 72 61 6d 20  |as this program |
00000560  6f 6e 6c 79 20 75 73 65  64 20 61 20 73 69 6e 67  |only used a sing|
00000570  6c 65 20 62 79 74 65 20  6e 75 6d 62 65 72 20 74  |le byte number t|
00000580  6f 20 70 72 69 6e 74 20  75 70 20 74 6f 20 32 35  |o print up to 25|
00000590  35 2e 20 0d 49 66 20 74  68 65 20 6e 75 6d 62 65  |5. .If the numbe|
000005a0  72 20 69 73 20 6c 65 73  73 20 74 68 61 6e 20 31  |r is less than 1|
000005b0  30 2c 1a 20 74 68 65 1a  20 70 72 6f 67 72 61 6d  |0,. the. program|
000005c0  1a 20 6a 75 6d 70 73 1a  20 74 6f 1a 20 27 6f 6e  |. jumps. to. 'on|
000005d0  65 27 1a 20 74 6f 20 70  72 69 6e 74 20 61 0d 73  |e'. to print a.s|
000005e0  69 6e 67 6c 65 20 64 69  67 69 74 2e 20 20 49 66  |ingle digit.  If|
000005f0  20 69 74 20 69 73 20 67  72 65 61 74 65 72 20 74  | it is greater t|
00000600  68 61 6e 20 31 39 39 2c  20 32 30 30 20 69 73 20  |han 199, 200 is |
00000610  64 65 64 75 63 74 65 64  20 61 6e 64 20 61 20 32  |deducted and a 2|
00000620  20 70 72 69 6e 74 65 64  2c 0d 74 68 65 20 72 65  | printed,.the re|
00000630  6d 61 69 6e 64 65 72 20  69 73 20 74 68 65 6e 20  |mainder is then |
00000640  73 74 6f 72 65 64 20 69  6e 20 27 74 65 6d 70 27  |stored in 'temp'|
00000650  2e 20 20 53 69 6d 69 6c  61 72 6c 79 20 66 6f 72  |.  Similarly for|
00000660  20 6e 75 6d 62 65 72 73  20 62 65 74 77 65 65 6e  | numbers between|
00000670  20 31 30 30 0d 26 20 31  39 39 2c 20 31 30 30 20  | 100.& 199, 100 |
00000680  69 73 20 64 65 64 75 63  74 65 64 2c 20 74 68 65  |is deducted, the|
00000690  20 72 65 6d 61 69 6e 64  65 72 20 73 74 6f 72 65  | remainder store|
000006a0  64 20 61 6e 64 20 31 20  70 72 69 6e 74 65 64 2e  |d and 1 printed.|
000006b0  20 20 54 68 65 20 72 65  6d 61 69 6e 64 65 72 0d  |  The remainder.|
000006c0  69 73 20 74 68 65 6e 20  72 65 6c 6f 61 64 65 64  |is then reloaded|
000006d0  20 69 6e 74 6f 20 41 1a  20 61 6e 64 1a 20 74 68  | into A. and. th|
000006e0  65 6e 1a 20 64 69 76 69  64 65 64 1a 20 62 79 1a  |en. divided. by.|
000006f0  20 31 30 1a 20 62 79 20  73 75 62 74 72 61 63 74  | 10. by subtract|
00000700  69 6e 67 20 31 30 20 61  6e 64 0d 63 6f 75 6e 74  |ing 10 and.count|
00000710  69 6e 67 20 74 68 65 20  6e 75 6d 62 65 72 20 75  |ing the number u|
00000720  73 69 6e 67 20 58 20 72  65 67 69 73 74 65 72 20  |sing X register |
00000730  69 6e 20 6c 6f 6f 70 20  27 6c 70 27 2e 20 20 54  |in loop 'lp'.  T|
00000740  68 69 73 20 6e 75 6d 62  65 72 20 69 73 20 70 72  |his number is pr|
00000750  69 6e 74 65 64 0d 61 66  74 65 72 20 62 65 69 6e  |inted.after bein|
00000760  67 20 74 72 61 6e 73 66  65 72 72 65 64 20 74 6f  |g transferred to|
00000770  20 41 20 72 65 67 69 73  74 65 72 20 66 6f 6c 6c  | A register foll|
00000780  6f 77 65 64 20 74 68 65  20 72 65 6d 61 69 6e 64  |owed the remaind|
00000790  65 72 20 69 6e 20 27 74  65 6d 70 27 2e 0d 0d 54  |er in 'temp'...T|
000007a0  68 65 1a 20 73 74 72 69  6e 67 1a 20 27 68 65 61  |he. string. 'hea|
000007b0  64 32 27 20 69 73 20 74  68 65 6e 20 70 72 69 6e  |d2' is then prin|
000007c0  74 65 64 20 61 6e 64 20  63 6f 75 6e 74 20 6c 6f  |ted and count lo|
000007d0  61 64 65 64 20 77 69 74  68 1a 20 31 36 1a 20 74  |aded with. 16. t|
000007e0  6f 1a 20 72 65 70 65 61  74 0d 27 6c 6f 6f 70 27  |o. repeat.'loop'|
000007f0  20 31 36 20 74 69 6d 65  73 20 74 6f 20 70 72 69  | 16 times to pri|
00000800  6e 74 20 74 68 65 20 6c  69 6e 65 73 20 6f 66 20  |nt the lines of |
00000810  65 61 63 68 20 68 61 6c  66 20 6f 66 20 74 68 65  |each half of the|
00000820  20 73 65 63 74 6f 72 2e  0d 0d 4c 69 65 6e 65 73  | sector...Lienes|
00000830  20 34 36 30 2c 34 37 30  20 70 72 69 6e 74 1a 20  | 460,470 print. |
00000840  74 68 65 20 62 79 74 65  20 6e 75 6d 62 65 72 73  |the byte numbers|
00000850  2c 20 74 68 65 20 63 6f  6d 70 61 72 69 73 6f 6e  |, the comparison|
00000860  73 20 73 65 74 20 58 20  74 6f 20 6e 75 6d 62 65  |s set X to numbe|
00000870  72 20 6f 66 0d 73 70 61  63 65 73 20 6e 65 65 64  |r of.spaces need|
00000880  65 64 20 74 6f 20 6c 69  6e 65 1a 20 75 70 1a 20  |ed to line. up. |
00000890  74 68 65 1a 20 6e 75 6d  62 65 72 73 20 61 6e 64  |the. numbers and|
000008a0  20 74 68 65 20 63 6f 6c  6f 6e 20 69 73 20 70 72  | the colon is pr|
000008b0  69 6e 74 65 64 20 61 66  74 65 72 20 74 68 65 0d  |inted after the.|
000008c0  6e 75 6d 62 65 72 2e 20  20 4c 69 6e 65 20 34 38  |number.  Line 48|
000008d0  30 20 6c 6f 6f 70 73 20  72 6f 75 6e 64 20 38 20  |0 loops round 8 |
000008e0  74 69 6d 65 73 1a 20 74  6f 1a 20 70 72 69 6e 74  |times. to. print|
000008f0  20 61 20 73 70 61 63 65  20 61 6e 64 20 74 68 65  | a space and the|
00000900  20 68 65 78 20 76 61 6c  75 65 0d 6f 66 20 74 68  | hex value.of th|
00000910  65 20 62 79 74 65 73 2e  20 20 54 68 65 6e 20 6c  |e bytes.  Then l|
00000920  69 6e 65 1a 20 34 39 30  1a 20 70 72 69 6e 74 73  |ine. 490. prints|
00000930  1a 20 74 77 6f 1a 20 73  70 61 63 65 73 2e 20 20  |. two. spaces.  |
00000940  54 68 65 20 6c 6f 6f 70  20 27 6c 6c 70 32 27 20  |The loop 'llp2' |
00000950  70 72 69 6e 74 73 0d 63  68 61 72 61 63 74 65 72  |prints.character|
00000960  73 20 69 66 20 70 72 69  6e 74 61 62 6c 65 20 6f  |s if printable o|
00000970  72 20 61 20 27 2e 27 20  69 66 20 6e 6f 74 2e 0d  |r a '.' if not..|
00000980  0d 54 68 65 20 63 75 65  20 74 6f 20 70 72 65 73  |.The cue to pres|
00000990  73 20 61 20 6b 65 79 20  69 73 20 70 72 69 6e 74  |s a key is print|
000009a0  65 64 20 28 6c 69 6e 65  20 35 37 30 29 20 61 6e  |ed (line 570) an|
000009b0  64 20 74 68 65 20 70 72  6f 67 72 61 6d 20 77 61  |d the program wa|
000009c0  69 74 73 2e 20 20 0d 0d  54 68 65 20 66 69 72 73  |its.  ..The firs|
000009d0  74 20 74 69 6d 65 20 61  20 6b 65 79 1a 20 69 73  |t time a key. is|
000009e0  1a 20 70 72 65 73 73 65  64 2c 1a 20 73 69 6e 63  |. pressed,. sinc|
000009f0  65 1a 20 27 63 6f 75 6e  74 32 27 20 69 73 20 69  |e. 'count2' is i|
00000a00  6e 69 74 69 61 6c 6c 79  20 32 2c 20 27 6c 6f 6f  |nitially 2, 'loo|
00000a10  70 27 0d 77 69 6c 6c 20  62 65 20 72 65 70 65 61  |p'.will be repea|
00000a20  74 65 64 20 74 6f 20 70  72 69 6e 74 20 74 68 65  |ted to print the|
00000a30  20 73 65 63 6f 6e 64 20  68 61 6c 66 20 6f 66 20  | second half of |
00000a40  74 68 65 20 73 65 63 74  6f 72 2e 0d 0d 57 68 65  |the sector...Whe|
00000a50  6e 20 74 68 65 20 73 65  63 74 6f 72 20 68 61 73  |n the sector has|
00000a60  20 62 65 65 6e 20 70 72  69 6e 74 65 64 2c 20 74  | been printed, t|
00000a70  68 65 20 6f 70 74 69 6f  6e 73 20 61 72 65 20 70  |he options are p|
00000a80  72 69 6e 74 65 64 20 28  6c 69 6e 65 73 20 36 31  |rinted (lines 61|
00000a90  30 2c 36 32 30 29 2e 0d  54 68 65 20 41 4e 44 26  |0,620)..The AND&|
00000aa0  44 46 20 69 6e 20 6c 69  6e 65 20 36 34 30 20 61  |DF in line 640 a|
00000ab0  6c 6c 6f 77 73 20 74 68  65 20 75 73 65 20 6f 66  |llows the use of|
00000ac0  20 74 68 65 20 6c 6f 77  65 72 20 63 61 73 65 20  | the lower case |
00000ad0  6c 65 74 74 65 72 73 2e  20 20 57 68 65 6e 20 74  |letters.  When t|
00000ae0  68 65 0d 70 72 6f 67 72  61 6d 20 77 61 69 74 73  |he.program waits|
00000af0  2c 20 63 61 72 72 79 20  69 73 20 73 65 74 1a 20  |, carry is set. |
00000b00  69 66 1a 20 45 53 43 41  50 45 1a 20 69 73 1a 20  |if. ESCAPE. is. |
00000b10  70 72 65 73 73 65 64 1a  20 61 6e 64 1a 20 74 68  |pressed. and. th|
00000b20  69 73 20 72 65 74 75 72  6e 73 20 74 6f 0d 42 41  |is returns to.BA|
00000b30  53 49 43 2e 0d 0d 4c 69  6e 65 1a 20 36 35 30 1a  |SIC...Line. 650.|
00000b40  20 69 6e 63 72 65 61 73  65 73 1a 20 27 64 61 64  | increases. 'dad|
00000b50  64 27 1a 20 61 6e 64 2c  1a 20 69 66 1a 20 74 68  |d'. and,. if. th|
00000b60  69 73 1a 20 67 6f 65 73  1a 20 74 6f 1a 20 7a 65  |is. goes. to. ze|
00000b70  72 6f 2c 20 27 64 61 64  64 2b 31 27 1a 20 69 73  |ro, 'dadd+1'. is|
00000b80  0d 69 6e 63 72 65 61 73  65 64 2e 20 20 54 68 65  |.increased.  The|
00000b90  20 76 61 6c 75 65 20 6f  66 20 27 64 61 64 64 27  | value of 'dadd'|
00000ba0  20 69 73 20 64 65 63 72  65 61 73 65 64 20 61 74  | is decreased at|
00000bb0  20 6c 69 6e 65 20 36 36  30 20 61 6e 64 1a 20 27  | line 660 and. '|
00000bc0  64 61 64 64 2b 31 27 1a  20 69 73 0d 64 65 63 72  |dadd+1'. is.decr|
00000bd0  65 61 73 65 64 20 77 68  65 6e 20 27 64 61 64 64  |eased when 'dadd|
00000be0  27 20 69 73 20 64 65 63  72 65 61 73 65 64 20 74  |' is decreased t|
00000bf0  6f 20 32 35 35 2e 0d 0d  49 66 1a 20 52 1a 20 69  |o 255...If. R. i|
00000c00  73 1a 20 70 72 65 73 73  65 64 1a 20 74 68 65 1a  |s. pressed. the.|
00000c10  20 70 72 6f 67 72 61 6d  1a 20 6a 75 6d 70 73 20  | program. jumps |
00000c20  74 6f 20 27 73 74 27 20  61 6e 64 20 27 73 74 61  |to 'st' and 'sta|
00000c30  72 74 27 20 74 6f 20 65  6e 74 65 72 20 61 20 6e  |rt' to enter a n|
00000c40  65 77 0d 61 64 64 72 65  73 73 2e 20 20 4f 74 68  |ew.address.  Oth|
00000c50  65 72 77 69 73 65 20 74  68 65 20 6d 61 69 6e 6c  |erwise the mainl|
00000c60  6f 6f 70 20 69 73 20 72  65 70 65 61 74 65 64 2e  |oop is repeated.|
00000c70  0d 0d 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |..**************|
00000c80  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000cb0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 0d 0d        |************..|
00000cbe
P/+DIMON2.m0
P/+DIMON2.m1
P/+DIMON2.m2
P/+DIMON2.m4
P/+DIMON2.m5