Home » Archimedes archive » Acorn User » AU 1997-05 B.adf » Regulars » StarInfo/Clifford/!Macros/MacroCode/s/MvMouseSrc

StarInfo/Clifford/!Macros/MacroCode/s/MvMouseSrc

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 1997-05 B.adf » Regulars
Filename: StarInfo/Clifford/!Macros/MacroCode/s/MvMouseSrc
Read OK:
File size: 0999 bytes
Load address: 0000
Exec address: 0000
File contents
   10DIM code% &1000
   20
   30FOR pass%=%1000 TO %1010 STEP 2
   40P%=code%:L%=code%+&1000
   50[   opt     pass%
   60    equs    "MCDE"
   70    equd    name - code%
   80    equd    description - code%
   90    equd    0
  100    equd    0
  110    equd    key_code - code%
  120
  130.name
  140    equs    "MoveMouse"
  150    equb    0
  160
  170.description
  180    equs    "Move mouse"
  190    equb    9
  200    equs    "0.01 (11 Jan 1997)"
  210    equb    0
  220    align
  230
  240.key_code
  250    stmfd   r13!, {r14}
  260    mov     r7, #0 ; x change
  270    mov     r8, #0 ; y change
  280    ldrb    r1, [r0], #1
  290    cmp     r1, #0
  300    ldmeqfd r13!, {pc}^
  310    cmp     r1, #ASC("U")
  320    cmpne   r1, #ASC("u")
  330    moveq   r8, #1
  340    cmp     r1, #ASC("D")
  350    cmpne   r1, #ASC("d")
  360    mvneq   r8, #0
  370    cmp     r1, #ASC("L")
  380    cmpne   r1, #ASC("l")
  390    mvneq   r7, #0
  400    cmp     r1, #ASC("R")
  410    cmpne   r1, #ASC("r")
  420    moveq   r7, #1
  430.check_for_number
  440    ldrb    r1, [r0], #1
  450    cmp     r1, #ASC(" ")
  460    cmpne   r1, #0
  470    bne     check_for_number
  480    cmp     r1, #0
  490    beq     move_mouse
  500.skip_spaces
  510    ldrb    r1, [r0], #1
  520    cmp     r1, #ASC(" ")
  530    beq     skip_spaces
  540    cmp     r1, #0
  550    beq     move_mouse
  560    sub     r0, r0, #1
  570    adr     r1, string_buffer
  580    mov     r2, #8
  590    swi     "OS_GSTrans"
  600    bcs     move_mouse
  620    mov     r0, #10
  630    swi     "XOS_ReadUnsigned"
  640    bvs     move_mouse
  641    mul     r7, r2, r7
  642    mul     r8, r2, r8
  650.move_mouse
  660    adr     r1, data_block
  670    mov     r0, #4
  680    strb    r0, [r1, #0]
  690    mov     r0, #21
  700    swi     "OS_Word"
  710    mov     r2, #3
  720    strb    r2, [r1, #0]
  730    ldrb    r2, [r1, #1]
  740    ldrb    r3, [r1, #2]
  750    add     r2, r2, r3, lsl #8
  760    add     r2, r2, r7
  770    strb    r2, [r1, #1]
  780    mov     r2, r2, lsr #8
  790    strb    r2, [r1, #2]
  800    ldrb    r2, [r1, #3]
  810    ldrb    r3, [r1, #4]
  820    add     r2, r2, r3, lsl #8
  830    add     r2, r2, r8
  840    strb    r2, [r1, #3]
  850    mov     r2, r2, lsr #8
  860    strb    r2, [r1, #4]
  870    swi     "OS_Word"
  880    ldmfd   r13!, {pc}^
  890
  900.data_block
  910    equb    0
  920    equb    0 ; LSB of x
  930    equb    0 ; MSB of x
  940    equb    0 ; LSB of y
  950    equb    0 ; MSB of y
  960    align
  970.string_buffer
  980    equd    0
  990    equd    0
 1000]
 1010NEXT
 1020
 1030SYS "OS_File", 10, "MoveMouse", &ffd, , code%, P%
 1040END

� code% &1000

� pass%=%1000 � %1010 � 2
(P%=code%:L%=code%+&1000
2[   opt     pass%
<    equs    "MCDE"
F    equd    name - code%
P#    equd    description - code%
Z    equd    0
d    equd    0
n     equd    key_code - code%
x
�	.name
�    equs    "MoveMouse"
�    equb    0
�
�.description
�    equs    "Move mouse"
�    equb    9
�$    equs    "0.01 (11 Jan 1997)"
�    equb    0
�
    align
�
�
.key_code
�    stmfd   r13!, {r14}
!    mov     r7, #0 ; x change
!    mov     r8, #0 ; y change
    ldrb    r1, [r0], #1
"    cmp     r1, #0
,    ldmeqfd r13!, {pc}^
6    cmp     r1, #�("U")
@    cmpne   r1, #�("u")
J    moveq   r8, #1
T    cmp     r1, #�("D")
^    cmpne   r1, #�("d")
h    mvneq   r8, #0
r    cmp     r1, #�("L")
|    cmpne   r1, #�("l")
�    mvneq   r7, #0
�    cmp     r1, #�("R")
�    cmpne   r1, #�("r")
�    moveq   r7, #1
�.check_for_number
�    ldrb    r1, [r0], #1
�    cmp     r1, #�(" ")
�    cmpne   r1, #0
�     bne     check_for_number
�    cmp     r1, #0
�    beq     move_mouse
�.skip_spaces
�    ldrb    r1, [r0], #1
    cmp     r1, #�(" ")
    beq     skip_spaces
    cmp     r1, #0
&    beq     move_mouse
0    sub     r0, r0, #1
:!    adr     r1, string_buffer
D    mov     r2, #8
N    swi     "OS_GSTrans"
X    bcs     move_mouse
l    mov     r0, #10
v"    swi     "XOS_ReadUnsigned"
�    bvs     move_mouse
�    mul     r7, r2, r7
�    mul     r8, r2, r8
�.move_mouse
�    adr     r1, data_block
�    mov     r0, #4
�    strb    r0, [r1, #0]
�    mov     r0, #21
�    swi     "OS_Word"
�    mov     r2, #3
�    strb    r2, [r1, #0]
�    ldrb    r2, [r1, #1]
�    ldrb    r3, [r1, #2]
�"    add     r2, r2, r3, lsl #8
�    add     r2, r2, r7
    strb    r2, [r1, #1]
    mov     r2, r2, lsr #8
    strb    r2, [r1, #2]
     ldrb    r2, [r1, #3]
*    ldrb    r3, [r1, #4]
4"    add     r2, r2, r3, lsl #8
>    add     r2, r2, r8
H    strb    r2, [r1, #3]
R    mov     r2, r2, lsr #8
\    strb    r2, [r1, #4]
f    swi     "OS_Word"
p    ldmfd   r13!, {pc}^
z
�.data_block
�    equb    0
�    equb    0 ; LSB of x
�    equb    0 ; MSB of x
�    equb    0 ; LSB of y
�    equb    0 ; MSB of y
�
    align
�.string_buffer
�    equd    0
�    equd    0
�]
��
�
4ș "OS_File", 10, "MoveMouse", &ffd, , code%, P%
�
�
00000000  0d 00 0a 11 de 20 63 6f  64 65 25 20 26 31 30 30  |..... code% &100|
00000010  30 0d 00 14 04 0d 00 1e  1d e3 20 70 61 73 73 25  |0......... pass%|
00000020  3d 25 31 30 30 30 20 b8  20 25 31 30 31 30 20 88  |=%1000 . %1010 .|
00000030  20 32 0d 00 28 1b 50 25  3d 63 6f 64 65 25 3a 4c  | 2..(.P%=code%:L|
00000040  25 3d 63 6f 64 65 25 2b  26 31 30 30 30 0d 00 32  |%=code%+&1000..2|
00000050  15 5b 20 20 20 6f 70 74  20 20 20 20 20 70 61 73  |.[   opt     pas|
00000060  73 25 0d 00 3c 16 20 20  20 20 65 71 75 73 20 20  |s%..<.    equs  |
00000070  20 20 22 4d 43 44 45 22  0d 00 46 1c 20 20 20 20  |  "MCDE"..F.    |
00000080  65 71 75 64 20 20 20 20  6e 61 6d 65 20 2d 20 63  |equd    name - c|
00000090  6f 64 65 25 0d 00 50 23  20 20 20 20 65 71 75 64  |ode%..P#    equd|
000000a0  20 20 20 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |    description |
000000b0  2d 20 63 6f 64 65 25 0d  00 5a 11 20 20 20 20 65  |- code%..Z.    e|
000000c0  71 75 64 20 20 20 20 30  0d 00 64 11 20 20 20 20  |qud    0..d.    |
000000d0  65 71 75 64 20 20 20 20  30 0d 00 6e 20 20 20 20  |equd    0..n    |
000000e0  20 65 71 75 64 20 20 20  20 6b 65 79 5f 63 6f 64  | equd    key_cod|
000000f0  65 20 2d 20 63 6f 64 65  25 0d 00 78 04 0d 00 82  |e - code%..x....|
00000100  09 2e 6e 61 6d 65 0d 00  8c 1b 20 20 20 20 65 71  |..name....    eq|
00000110  75 73 20 20 20 20 22 4d  6f 76 65 4d 6f 75 73 65  |us    "MoveMouse|
00000120  22 0d 00 96 11 20 20 20  20 65 71 75 62 20 20 20  |"....    equb   |
00000130  20 30 0d 00 a0 04 0d 00  aa 10 2e 64 65 73 63 72  | 0.........descr|
00000140  69 70 74 69 6f 6e 0d 00  b4 1c 20 20 20 20 65 71  |iption....    eq|
00000150  75 73 20 20 20 20 22 4d  6f 76 65 20 6d 6f 75 73  |us    "Move mous|
00000160  65 22 0d 00 be 11 20 20  20 20 65 71 75 62 20 20  |e"....    equb  |
00000170  20 20 39 0d 00 c8 24 20  20 20 20 65 71 75 73 20  |  9...$    equs |
00000180  20 20 20 22 30 2e 30 31  20 28 31 31 20 4a 61 6e  |   "0.01 (11 Jan|
00000190  20 31 39 39 37 29 22 0d  00 d2 11 20 20 20 20 65  | 1997)"....    e|
000001a0  71 75 62 20 20 20 20 30  0d 00 dc 0d 20 20 20 20  |qub    0....    |
000001b0  61 6c 69 67 6e 0d 00 e6  04 0d 00 f0 0d 2e 6b 65  |align.........ke|
000001c0  79 5f 63 6f 64 65 0d 00  fa 1b 20 20 20 20 73 74  |y_code....    st|
000001d0  6d 66 64 20 20 20 72 31  33 21 2c 20 7b 72 31 34  |mfd   r13!, {r14|
000001e0  7d 0d 01 04 21 20 20 20  20 6d 6f 76 20 20 20 20  |}...!    mov    |
000001f0  20 72 37 2c 20 23 30 20  3b 20 78 20 63 68 61 6e  | r7, #0 ; x chan|
00000200  67 65 0d 01 0e 21 20 20  20 20 6d 6f 76 20 20 20  |ge...!    mov   |
00000210  20 20 72 38 2c 20 23 30  20 3b 20 79 20 63 68 61  |  r8, #0 ; y cha|
00000220  6e 67 65 0d 01 18 1c 20  20 20 20 6c 64 72 62 20  |nge....    ldrb |
00000230  20 20 20 72 31 2c 20 5b  72 30 5d 2c 20 23 31 0d  |   r1, [r0], #1.|
00000240  01 22 16 20 20 20 20 63  6d 70 20 20 20 20 20 72  |.".    cmp     r|
00000250  31 2c 20 23 30 0d 01 2c  1b 20 20 20 20 6c 64 6d  |1, #0..,.    ldm|
00000260  65 71 66 64 20 72 31 33  21 2c 20 7b 70 63 7d 5e  |eqfd r13!, {pc}^|
00000270  0d 01 36 1b 20 20 20 20  63 6d 70 20 20 20 20 20  |..6.    cmp     |
00000280  72 31 2c 20 23 97 28 22  55 22 29 0d 01 40 1b 20  |r1, #.("U")..@. |
00000290  20 20 20 63 6d 70 6e 65  20 20 20 72 31 2c 20 23  |   cmpne   r1, #|
000002a0  97 28 22 75 22 29 0d 01  4a 16 20 20 20 20 6d 6f  |.("u")..J.    mo|
000002b0  76 65 71 20 20 20 72 38  2c 20 23 31 0d 01 54 1b  |veq   r8, #1..T.|
000002c0  20 20 20 20 63 6d 70 20  20 20 20 20 72 31 2c 20  |    cmp     r1, |
000002d0  23 97 28 22 44 22 29 0d  01 5e 1b 20 20 20 20 63  |#.("D")..^.    c|
000002e0  6d 70 6e 65 20 20 20 72  31 2c 20 23 97 28 22 64  |mpne   r1, #.("d|
000002f0  22 29 0d 01 68 16 20 20  20 20 6d 76 6e 65 71 20  |")..h.    mvneq |
00000300  20 20 72 38 2c 20 23 30  0d 01 72 1b 20 20 20 20  |  r8, #0..r.    |
00000310  63 6d 70 20 20 20 20 20  72 31 2c 20 23 97 28 22  |cmp     r1, #.("|
00000320  4c 22 29 0d 01 7c 1b 20  20 20 20 63 6d 70 6e 65  |L")..|.    cmpne|
00000330  20 20 20 72 31 2c 20 23  97 28 22 6c 22 29 0d 01  |   r1, #.("l")..|
00000340  86 16 20 20 20 20 6d 76  6e 65 71 20 20 20 72 37  |..    mvneq   r7|
00000350  2c 20 23 30 0d 01 90 1b  20 20 20 20 63 6d 70 20  |, #0....    cmp |
00000360  20 20 20 20 72 31 2c 20  23 97 28 22 52 22 29 0d  |    r1, #.("R").|
00000370  01 9a 1b 20 20 20 20 63  6d 70 6e 65 20 20 20 72  |...    cmpne   r|
00000380  31 2c 20 23 97 28 22 72  22 29 0d 01 a4 16 20 20  |1, #.("r")....  |
00000390  20 20 6d 6f 76 65 71 20  20 20 72 37 2c 20 23 31  |  moveq   r7, #1|
000003a0  0d 01 ae 15 2e 63 68 65  63 6b 5f 66 6f 72 5f 6e  |.....check_for_n|
000003b0  75 6d 62 65 72 0d 01 b8  1c 20 20 20 20 6c 64 72  |umber....    ldr|
000003c0  62 20 20 20 20 72 31 2c  20 5b 72 30 5d 2c 20 23  |b    r1, [r0], #|
000003d0  31 0d 01 c2 1b 20 20 20  20 63 6d 70 20 20 20 20  |1....    cmp    |
000003e0  20 72 31 2c 20 23 97 28  22 20 22 29 0d 01 cc 16  | r1, #.(" ")....|
000003f0  20 20 20 20 63 6d 70 6e  65 20 20 20 72 31 2c 20  |    cmpne   r1, |
00000400  23 30 0d 01 d6 20 20 20  20 20 62 6e 65 20 20 20  |#0...     bne   |
00000410  20 20 63 68 65 63 6b 5f  66 6f 72 5f 6e 75 6d 62  |  check_for_numb|
00000420  65 72 0d 01 e0 16 20 20  20 20 63 6d 70 20 20 20  |er....    cmp   |
00000430  20 20 72 31 2c 20 23 30  0d 01 ea 1a 20 20 20 20  |  r1, #0....    |
00000440  62 65 71 20 20 20 20 20  6d 6f 76 65 5f 6d 6f 75  |beq     move_mou|
00000450  73 65 0d 01 f4 10 2e 73  6b 69 70 5f 73 70 61 63  |se.....skip_spac|
00000460  65 73 0d 01 fe 1c 20 20  20 20 6c 64 72 62 20 20  |es....    ldrb  |
00000470  20 20 72 31 2c 20 5b 72  30 5d 2c 20 23 31 0d 02  |  r1, [r0], #1..|
00000480  08 1b 20 20 20 20 63 6d  70 20 20 20 20 20 72 31  |..    cmp     r1|
00000490  2c 20 23 97 28 22 20 22  29 0d 02 12 1b 20 20 20  |, #.(" ")....   |
000004a0  20 62 65 71 20 20 20 20  20 73 6b 69 70 5f 73 70  | beq     skip_sp|
000004b0  61 63 65 73 0d 02 1c 16  20 20 20 20 63 6d 70 20  |aces....    cmp |
000004c0  20 20 20 20 72 31 2c 20  23 30 0d 02 26 1a 20 20  |    r1, #0..&.  |
000004d0  20 20 62 65 71 20 20 20  20 20 6d 6f 76 65 5f 6d  |  beq     move_m|
000004e0  6f 75 73 65 0d 02 30 1a  20 20 20 20 73 75 62 20  |ouse..0.    sub |
000004f0  20 20 20 20 72 30 2c 20  72 30 2c 20 23 31 0d 02  |    r0, r0, #1..|
00000500  3a 21 20 20 20 20 61 64  72 20 20 20 20 20 72 31  |:!    adr     r1|
00000510  2c 20 73 74 72 69 6e 67  5f 62 75 66 66 65 72 0d  |, string_buffer.|
00000520  02 44 16 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |.D.    mov     r|
00000530  32 2c 20 23 38 0d 02 4e  1c 20 20 20 20 73 77 69  |2, #8..N.    swi|
00000540  20 20 20 20 20 22 4f 53  5f 47 53 54 72 61 6e 73  |     "OS_GSTrans|
00000550  22 0d 02 58 1a 20 20 20  20 62 63 73 20 20 20 20  |"..X.    bcs    |
00000560  20 6d 6f 76 65 5f 6d 6f  75 73 65 0d 02 6c 17 20  | move_mouse..l. |
00000570  20 20 20 6d 6f 76 20 20  20 20 20 72 30 2c 20 23  |   mov     r0, #|
00000580  31 30 0d 02 76 22 20 20  20 20 73 77 69 20 20 20  |10..v"    swi   |
00000590  20 20 22 58 4f 53 5f 52  65 61 64 55 6e 73 69 67  |  "XOS_ReadUnsig|
000005a0  6e 65 64 22 0d 02 80 1a  20 20 20 20 62 76 73 20  |ned"....    bvs |
000005b0  20 20 20 20 6d 6f 76 65  5f 6d 6f 75 73 65 0d 02  |    move_mouse..|
000005c0  81 1a 20 20 20 20 6d 75  6c 20 20 20 20 20 72 37  |..    mul     r7|
000005d0  2c 20 72 32 2c 20 72 37  0d 02 82 1a 20 20 20 20  |, r2, r7....    |
000005e0  6d 75 6c 20 20 20 20 20  72 38 2c 20 72 32 2c 20  |mul     r8, r2, |
000005f0  72 38 0d 02 8a 0f 2e 6d  6f 76 65 5f 6d 6f 75 73  |r8.....move_mous|
00000600  65 0d 02 94 1e 20 20 20  20 61 64 72 20 20 20 20  |e....    adr    |
00000610  20 72 31 2c 20 64 61 74  61 5f 62 6c 6f 63 6b 0d  | r1, data_block.|
00000620  02 9e 16 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |...    mov     r|
00000630  30 2c 20 23 34 0d 02 a8  1c 20 20 20 20 73 74 72  |0, #4....    str|
00000640  62 20 20 20 20 72 30 2c  20 5b 72 31 2c 20 23 30  |b    r0, [r1, #0|
00000650  5d 0d 02 b2 17 20 20 20  20 6d 6f 76 20 20 20 20  |]....    mov    |
00000660  20 72 30 2c 20 23 32 31  0d 02 bc 19 20 20 20 20  | r0, #21....    |
00000670  73 77 69 20 20 20 20 20  22 4f 53 5f 57 6f 72 64  |swi     "OS_Word|
00000680  22 0d 02 c6 16 20 20 20  20 6d 6f 76 20 20 20 20  |"....    mov    |
00000690  20 72 32 2c 20 23 33 0d  02 d0 1c 20 20 20 20 73  | r2, #3....    s|
000006a0  74 72 62 20 20 20 20 72  32 2c 20 5b 72 31 2c 20  |trb    r2, [r1, |
000006b0  23 30 5d 0d 02 da 1c 20  20 20 20 6c 64 72 62 20  |#0]....    ldrb |
000006c0  20 20 20 72 32 2c 20 5b  72 31 2c 20 23 31 5d 0d  |   r2, [r1, #1].|
000006d0  02 e4 1c 20 20 20 20 6c  64 72 62 20 20 20 20 72  |...    ldrb    r|
000006e0  33 2c 20 5b 72 31 2c 20  23 32 5d 0d 02 ee 22 20  |3, [r1, #2]..." |
000006f0  20 20 20 61 64 64 20 20  20 20 20 72 32 2c 20 72  |   add     r2, r|
00000700  32 2c 20 72 33 2c 20 6c  73 6c 20 23 38 0d 02 f8  |2, r3, lsl #8...|
00000710  1a 20 20 20 20 61 64 64  20 20 20 20 20 72 32 2c  |.    add     r2,|
00000720  20 72 32 2c 20 72 37 0d  03 02 1c 20 20 20 20 73  | r2, r7....    s|
00000730  74 72 62 20 20 20 20 72  32 2c 20 5b 72 31 2c 20  |trb    r2, [r1, |
00000740  23 31 5d 0d 03 0c 1e 20  20 20 20 6d 6f 76 20 20  |#1]....    mov  |
00000750  20 20 20 72 32 2c 20 72  32 2c 20 6c 73 72 20 23  |   r2, r2, lsr #|
00000760  38 0d 03 16 1c 20 20 20  20 73 74 72 62 20 20 20  |8....    strb   |
00000770  20 72 32 2c 20 5b 72 31  2c 20 23 32 5d 0d 03 20  | r2, [r1, #2].. |
00000780  1c 20 20 20 20 6c 64 72  62 20 20 20 20 72 32 2c  |.    ldrb    r2,|
00000790  20 5b 72 31 2c 20 23 33  5d 0d 03 2a 1c 20 20 20  | [r1, #3]..*.   |
000007a0  20 6c 64 72 62 20 20 20  20 72 33 2c 20 5b 72 31  | ldrb    r3, [r1|
000007b0  2c 20 23 34 5d 0d 03 34  22 20 20 20 20 61 64 64  |, #4]..4"    add|
000007c0  20 20 20 20 20 72 32 2c  20 72 32 2c 20 72 33 2c  |     r2, r2, r3,|
000007d0  20 6c 73 6c 20 23 38 0d  03 3e 1a 20 20 20 20 61  | lsl #8..>.    a|
000007e0  64 64 20 20 20 20 20 72  32 2c 20 72 32 2c 20 72  |dd     r2, r2, r|
000007f0  38 0d 03 48 1c 20 20 20  20 73 74 72 62 20 20 20  |8..H.    strb   |
00000800  20 72 32 2c 20 5b 72 31  2c 20 23 33 5d 0d 03 52  | r2, [r1, #3]..R|
00000810  1e 20 20 20 20 6d 6f 76  20 20 20 20 20 72 32 2c  |.    mov     r2,|
00000820  20 72 32 2c 20 6c 73 72  20 23 38 0d 03 5c 1c 20  | r2, lsr #8..\. |
00000830  20 20 20 73 74 72 62 20  20 20 20 72 32 2c 20 5b  |   strb    r2, [|
00000840  72 31 2c 20 23 34 5d 0d  03 66 19 20 20 20 20 73  |r1, #4]..f.    s|
00000850  77 69 20 20 20 20 20 22  4f 53 5f 57 6f 72 64 22  |wi     "OS_Word"|
00000860  0d 03 70 1b 20 20 20 20  6c 64 6d 66 64 20 20 20  |..p.    ldmfd   |
00000870  72 31 33 21 2c 20 7b 70  63 7d 5e 0d 03 7a 04 0d  |r13!, {pc}^..z..|
00000880  03 84 0f 2e 64 61 74 61  5f 62 6c 6f 63 6b 0d 03  |....data_block..|
00000890  8e 11 20 20 20 20 65 71  75 62 20 20 20 20 30 0d  |..    equb    0.|
000008a0  03 98 1c 20 20 20 20 65  71 75 62 20 20 20 20 30  |...    equb    0|
000008b0  20 3b 20 4c 53 42 20 6f  66 20 78 0d 03 a2 1c 20  | ; LSB of x.... |
000008c0  20 20 20 65 71 75 62 20  20 20 20 30 20 3b 20 4d  |   equb    0 ; M|
000008d0  53 42 20 6f 66 20 78 0d  03 ac 1c 20 20 20 20 65  |SB of x....    e|
000008e0  71 75 62 20 20 20 20 30  20 3b 20 4c 53 42 20 6f  |qub    0 ; LSB o|
000008f0  66 20 79 0d 03 b6 1c 20  20 20 20 65 71 75 62 20  |f y....    equb |
00000900  20 20 20 30 20 3b 20 4d  53 42 20 6f 66 20 79 0d  |   0 ; MSB of y.|
00000910  03 c0 0d 20 20 20 20 61  6c 69 67 6e 0d 03 ca 12  |...    align....|
00000920  2e 73 74 72 69 6e 67 5f  62 75 66 66 65 72 0d 03  |.string_buffer..|
00000930  d4 11 20 20 20 20 65 71  75 64 20 20 20 20 30 0d  |..    equd    0.|
00000940  03 de 11 20 20 20 20 65  71 75 64 20 20 20 20 30  |...    equd    0|
00000950  0d 03 e8 05 5d 0d 03 f2  05 ed 0d 03 fc 04 0d 04  |....]...........|
00000960  06 34 c8 99 20 22 4f 53  5f 46 69 6c 65 22 2c 20  |.4.. "OS_File", |
00000970  31 30 2c 20 22 4d 6f 76  65 4d 6f 75 73 65 22 2c  |10, "MoveMouse",|
00000980  20 26 66 66 64 2c 20 2c  20 63 6f 64 65 25 2c 20  | &ffd, , code%, |
00000990  50 25 0d 04 10 05 e0 0d  ff                       |P%.......|
00000999