Home » Archimedes archive » Acorn User » AU 1993-04.adf » !ArmCode/!Help

!ArmCode/!Help

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 » Archimedes archive » Acorn User » AU 1993-04.adf
Filename: !ArmCode/!Help
Read OK:
File size: 02AB bytes
Load address: FFFFFF44
Exec address: 6D0E0ACB
File contents
Assembly Line
By Dave Lawrence

Run this application to open a Filer window containing five Basic programs.

Basic1 uses recursion to display a 'Persian carpet', and Arm1 is an assembly language version of the program.

Basic2 again uses recursion, but this time the program sorts a set of integers into increasing order using the quicksort algorithm. Arm2 is an assembly language version of quicksort.

Debug is an assembly macro which can be appended to your Basic source programs. It provides a function called FNdebug which can be called from assembly language to display the values of Arm registers at any time. Full details are provided in the magazine.

� BBC Acorn User 1993
00000000  41 73 73 65 6d 62 6c 79  20 4c 69 6e 65 0a 42 79  |Assembly Line.By|
00000010  20 44 61 76 65 20 4c 61  77 72 65 6e 63 65 0a 0a  | Dave Lawrence..|
00000020  52 75 6e 20 74 68 69 73  20 61 70 70 6c 69 63 61  |Run this applica|
00000030  74 69 6f 6e 20 74 6f 20  6f 70 65 6e 20 61 20 46  |tion to open a F|
00000040  69 6c 65 72 20 77 69 6e  64 6f 77 20 63 6f 6e 74  |iler window cont|
00000050  61 69 6e 69 6e 67 20 66  69 76 65 20 42 61 73 69  |aining five Basi|
00000060  63 20 70 72 6f 67 72 61  6d 73 2e 0a 0a 42 61 73  |c programs...Bas|
00000070  69 63 31 20 75 73 65 73  20 72 65 63 75 72 73 69  |ic1 uses recursi|
00000080  6f 6e 20 74 6f 20 64 69  73 70 6c 61 79 20 61 20  |on to display a |
00000090  27 50 65 72 73 69 61 6e  20 63 61 72 70 65 74 27  |'Persian carpet'|
000000a0  2c 20 61 6e 64 20 41 72  6d 31 20 69 73 20 61 6e  |, and Arm1 is an|
000000b0  20 61 73 73 65 6d 62 6c  79 20 6c 61 6e 67 75 61  | assembly langua|
000000c0  67 65 20 76 65 72 73 69  6f 6e 20 6f 66 20 74 68  |ge version of th|
000000d0  65 20 70 72 6f 67 72 61  6d 2e 0a 0a 42 61 73 69  |e program...Basi|
000000e0  63 32 20 61 67 61 69 6e  20 75 73 65 73 20 72 65  |c2 again uses re|
000000f0  63 75 72 73 69 6f 6e 2c  20 62 75 74 20 74 68 69  |cursion, but thi|
00000100  73 20 74 69 6d 65 20 74  68 65 20 70 72 6f 67 72  |s time the progr|
00000110  61 6d 20 73 6f 72 74 73  20 61 20 73 65 74 20 6f  |am sorts a set o|
00000120  66 20 69 6e 74 65 67 65  72 73 20 69 6e 74 6f 20  |f integers into |
00000130  69 6e 63 72 65 61 73 69  6e 67 20 6f 72 64 65 72  |increasing order|
00000140  20 75 73 69 6e 67 20 74  68 65 20 71 75 69 63 6b  | using the quick|
00000150  73 6f 72 74 20 61 6c 67  6f 72 69 74 68 6d 2e 20  |sort algorithm. |
00000160  41 72 6d 32 20 69 73 20  61 6e 20 61 73 73 65 6d  |Arm2 is an assem|
00000170  62 6c 79 20 6c 61 6e 67  75 61 67 65 20 76 65 72  |bly language ver|
00000180  73 69 6f 6e 20 6f 66 20  71 75 69 63 6b 73 6f 72  |sion of quicksor|
00000190  74 2e 0a 0a 44 65 62 75  67 20 69 73 20 61 6e 20  |t...Debug is an |
000001a0  61 73 73 65 6d 62 6c 79  20 6d 61 63 72 6f 20 77  |assembly macro w|
000001b0  68 69 63 68 20 63 61 6e  20 62 65 20 61 70 70 65  |hich can be appe|
000001c0  6e 64 65 64 20 74 6f 20  79 6f 75 72 20 42 61 73  |nded to your Bas|
000001d0  69 63 20 73 6f 75 72 63  65 20 70 72 6f 67 72 61  |ic source progra|
000001e0  6d 73 2e 20 49 74 20 70  72 6f 76 69 64 65 73 20  |ms. It provides |
000001f0  61 20 66 75 6e 63 74 69  6f 6e 20 63 61 6c 6c 65  |a function calle|
00000200  64 20 46 4e 64 65 62 75  67 20 77 68 69 63 68 20  |d FNdebug which |
00000210  63 61 6e 20 62 65 20 63  61 6c 6c 65 64 20 66 72  |can be called fr|
00000220  6f 6d 20 61 73 73 65 6d  62 6c 79 20 6c 61 6e 67  |om assembly lang|
00000230  75 61 67 65 20 74 6f 20  64 69 73 70 6c 61 79 20  |uage to display |
00000240  74 68 65 20 76 61 6c 75  65 73 20 6f 66 20 41 72  |the values of Ar|
00000250  6d 20 72 65 67 69 73 74  65 72 73 20 61 74 20 61  |m registers at a|
00000260  6e 79 20 74 69 6d 65 2e  20 46 75 6c 6c 20 64 65  |ny time. Full de|
00000270  74 61 69 6c 73 20 61 72  65 20 70 72 6f 76 69 64  |tails are provid|
00000280  65 64 20 69 6e 20 74 68  65 20 6d 61 67 61 7a 69  |ed in the magazi|
00000290  6e 65 2e 0a 0a a9 20 42  42 43 20 41 63 6f 72 6e  |ne.... BBC Acorn|
000002a0  20 55 73 65 72 20 31 39  39 33 0a                 | User 1993.|
000002ab