Home » Archimedes archive » Acorn User » AU 1994-11.adf » !StarInfo_StarInfo » Borcherds/NumScr>f12/NumScrSrc
Borcherds/NumScr>f12/NumScrSrc
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 1994-11.adf » !StarInfo_StarInfo |
Filename: | Borcherds/NumScr>f12/NumScrSrc |
Read OK: | ✔ |
File size: | 15DA bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > NumScr>f12 20DIM code 2000 30 40FORp=4 TO 6 STEP 2 50O%=code 60P%=0 70[OPT p 80EQUD start 90EQUD 0 ;init 100EQUD finish 110EQUD 0 ;serv 120EQUD title 130EQUD help 140EQUD table 150EQUD 0 160EQUD 0 170EQUD 0 180EQUD 0 190 200.start 210MOV R0,#&10 ; EventV 220ADR R1,EventV 230MOV R2,#0 240SWI "XOS_AddToVector" 250 260MOV R0,#14 270MOV R1,#11 280SWI "XOS_Byte" 290 300MOV R0,#202 310MOV R1,#0 320MOV R2,#255 330SWI "XOS_Byte" 340AND R1,R1,#%110 350EOR R1,R1,#%110 360STR R1,status 370 380SWI "XOS_Exit" 390 400.finish 410STMFD R13!,{R14} 420 430MOV R0,#13 440MOV R1,#11 450SWI "OS_Byte" 460 470MOV R0,#&10 ; EventV 480ADR R1,EventV 490MOV R2,#0 500SWI "XOS_Release" 510LDMFD R13!,{PC} 520 530.EventV 540CMP R0,#11 ; key pressed/released 550MOVNES PC,R14 560CMP R2,#&58 570CMPNE R2,#&4C 580BEQ shift 590 600CMP R2,#&61 610CMPNE R2,#&3B 620BEQ ctrl 630 640CMP R2,#&60 650CMPNE R2,#&5E 660BEQ alt 670 680CMP R1,#1 690MOVNES PC,R14 730 740CMP R2,#&22 ; numlock 750BEQ numlock 760CMP R2,#&0E ; scroll lock 770BEQ scrolllock 780MOVS PC,R14 790 800.scrolllock 810STMFD R13!,{R0-R2,R14} 820 830LDR R0,alt_data 840CMP R0,#0 850LDRNE R0,status 860EORNE R0,R0,#%10 870STRNE R0,status 880LDMNEFD R13!,{R0-R2,PC}^ 890 900LDRB R0,shift_data 910CMP R0,#0 920BEQ f12_noshift 930LDRB R0,ctrl_data 940CMP R0,#0 950MOVEQ R2,#220 960MOVNE R2,#252 ; ctrl-shift-f12 970.exit 980MOV R0,#138 990MOV R1,#0 1000 1010MOV R9,PC 1020ORR R8,R9,#3 ; SVC Mode 1030TEQP R8,#0 1040MOV R0,R0 1050STMFD R13!,{R14} 1060 1070SWI "XOS_Byte" 1080MOV R2,#%11111101 1090LDRB R1,status 1100AND R1,R1,#%10 1120 1130MOV R0,#202 1140SWI "XOS_Byte" 1150MOV R0,#118 1160SWI "XOS_Byte" 1170 1180LDMFD R13!,{R14} 1190TEQP R9,#0 1200MOV R0,R0 1210 1220LDMFD R13!,{R0-R2,PC} 1221 1260.f12_noshift 1270LDR R0,ctrl_data 1280CMP R0,#0 1290MOVNE R2,#236 1300MOVEQ R2,#204 1310B exit 1320 1330.numlock 1340STMFD R13!,{R0-R2,R14} 1350 1360LDR R0,alt_data 1370CMP R0,#0 1380LDRNE R0,status 1390EORNE R0,R0,#%100 1400STRNE R0,status 1410LDMNEFD R13!,{R0-R2,PC}^ 1420 1430LDRB R0,shift_data 1440CMP R0,#0 1450BEQ f11_noshift 1460LDRB R0,ctrl_data 1470CMP R0,#0 1480MOVEQ R2,#219 1490MOVNE R2,#251 1500.exit2 1510MOV R0,#138 1520MOV R1,#0 1530 1540MOV R9,PC 1550ORR R8,R9,#3 ; SVC Mode 1560TEQP R8,#0 1570MOV R0,R0 1580STMFD R13!,{R14} 1590 1600SWI "XOS_Byte" 1610MOV R2,#%11111011 1620LDRB R1,status 1630AND R1,R1,#%100 1650 1660MOV R0,#202 1670SWI "XOS_Byte" 1680MOV R0,#118 1690SWI "XOS_Byte" 1700 1710LDMFD R13!,{R14} 1720TEQP R9,#0 1730MOV R0,R0 1740 1750LDMFD R13!,{R0-R2,PC} 1780 1790.f11_noshift 1800LDR R0,ctrl_data 1810CMP R0,#0 1820MOVNE R2,#235 1830MOVEQ R2,#203 1840B exit2 1850 1860.shift 1870LDRB R0,shift_data 1880CMP R1,#0 1890ADDNE R0,R0,#1 1900SUBEQS R0,R0,#1 1910MOVMI R0,#0 1920STRB R0,shift_data 1930MOV R0,#11 1940MOVS PC,R14 1950 1960.ctrl 1970LDRB R0,ctrl_data 1980CMP R1,#0 1990ADDNE R0,R0,#1 2000SUBEQS R0,R0,#1 2010MOVMI R0,#0 2020STRB R0,ctrl_data 2030MOV R0,#11 2040MOVS PC,R14 2050 2060.alt 2070LDRB R0,alt_data 2080CMP R1,#0 2090ADDNE R0,R0,#1 2100SUBEQS R0,R0,#1 2110MOVMI R0,#0 2120STRB R0,alt_data 2130MOVS PC,R14 2140 2150.shift_data 2160EQUD 0 2170.ctrl_data 2180EQUD 0 2190.alt_data 2200EQUD 0 2210.status 2220EQUD 0 2230 2240.numlockon 2250STMFD R13!,{R0-R2,R14} 2260LDR R1,status 2270ORR R1,R1,#%100 2280STR R1,status 2290MOV R1,#0 2300MOV R2,#%11111011 2310MOV R0,#202 2320SWI "XOS_Byte" 2330MOV R0,#118 2340SWI "XOS_Byte" 2350LDMFD R13!,{R0-R2,PC} 2360 2370.numlockoff 2380STMFD R13!,{R0-R2,R14} 2390LDR R1,status 2400BIC R1,R1,#%100 2410STR R1,status 2420MOV R1,#%100 2430MOV R2,#%11111011 2440MOV R0,#202 2450SWI "XOS_Byte" 2460MOV R0,#118 2470SWI "XOS_Byte" 2480LDMFD R13!,{R0-R2,PC} 2490 2500.scrolllockon 2510STMFD R13!,{R0-R2,R14} 2520LDR R1,status 2530BIC R1,R1,#%10 2540STR R1,status 2550MOV R1,#%10 2560MOV R2,#%11111101 2570MOV R0,#202 2580SWI "XOS_Byte" 2590MOV R0,#118 2600SWI "XOS_Byte" 2610LDMFD R13!,{R0-R2,PC} 2620 2630.scrolllockoff 2640STMFD R13!,{R0-R2,R14} 2650LDR R1,status 2660ORR R1,R1,#%10 2670STR R1,status 2680MOV R1,#%0 2690MOV R2,#%11111101 2700MOV R0,#202 2710SWI "XOS_Byte" 2720MOV R0,#118 2730SWI "XOS_Byte" 2740LDMFD R13!,{R0-R2,PC} 2750 2760.title 2770EQUS "NumScr>f12" 2780EQUB0 2790ALIGN 2800 2810.help 2820EQUS "NumScr>f12"+CHR$9+"1.00 (29 Jun 1994)" 2830EQUB 0 2840ALIGN 2850 2860.table 2870EQUS "NumScr>f12" : EQUB 0 2880ALIGN 2890EQUD 0 2900EQUD 0 2910EQUD 0 2920EQUD helptext 2930EQUS "NumLockOn" : EQUB 0 : ALIGN 2940EQUD numlockon 2950EQUD 0 2960EQUD numlockonsyn 2970EQUD numlockonhelp 2980EQUS "NumLockOff" : EQUB 0 : ALIGN 2990EQUD numlockoff 3000EQUD 0 3010EQUD numlockoffsyn 3020EQUD numlockoffhelp 3030EQUS "ScrollLockOn" : EQUB 0 : ALIGN 3040EQUD scrolllockon 3050EQUD 0 3060EQUD scrolllockonsyn 3070EQUD scrolllockonhelp 3080EQUS "ScrollLockOff" : EQUB 0 : ALIGN 3090EQUD scrolllockoff 3100EQUD 0 3110EQUD scrolllockoffsyn 3120EQUD scrolllockoffhelp 3130 3140EQUD 0 3150.numlockonsyn 3160EQUS "Syntax: *NumLockOn" : EQUB 0 3170.numlockonhelp 3180EQUS "*NumLockOn turns on the Num Lock light" : EQUB 0 3190.numlockoffsyn 3200EQUS "Syntax: *NumLockOff" : EQUB 0 3210.numlockoffhelp 3220EQUS "*NumLockOff turns off the Num Lock light" : EQUB 0 3230 3240.scrolllockonsyn 3250EQUS "Syntax: *ScrollLockOn" : EQUB 0 3260.scrolllockonhelp 3270EQUS "*ScrollLockOn turns on the Scroll Lock light" : EQUB 0 3271.scrolllockoffsyn 3272EQUS "Syntax: *ScrollLockOff" : EQUB 0 3273.scrolllockoffhelp 3274EQUS "*ScrollLockOff turns off the Scroll Lock light" : EQUB 0 3340 3350.helptext 3360EQUS "This module turns Num Lock and Scroll lock into F11 and F12 respectively, including all ctrl/shift combinations. Their original behaviour can be obtained while holding down Alt. It is intended for use on an A4 portable." 3370EQUB 0 3380ALIGN 3390] 3400 3410NEXT 3420 3430OSCLI"SAVE NumScr>f12 "+STR$~code+" "+STR$~(O%) 3440OSCLI"SETTYPE NumScr>f12 MODULE" 3450END
� > NumScr>f12 � code 2000 (�p=4 � 6 � 2 2O%=code <P%=0 F [OPT p PEQUD start ZEQUD 0 ;init dEQUD finish nEQUD 0 ;serv xEQUD title � EQUD help �EQUD table � EQUD 0 � EQUD 0 � EQUD 0 � EQUD 0 � � .start �MOV R0,#&10 ; EventV �ADR R1,EventV � MOV R2,#0 �SWI "XOS_AddToVector" � MOV R0,#14 MOV R1,#11 SWI "XOS_Byte" " ,MOV R0,#202 6 MOV R1,#0 @MOV R2,#255 JSWI "XOS_Byte" T� R1,R1,#%110 ^� R1,R1,#%110 hSTR R1,status r |SWI "XOS_Exit" � �.finish �STMFD R13!,{R14} � �MOV R0,#13 �MOV R1,#11 �SWI "OS_Byte" � �MOV R0,#&10 ; EventV �ADR R1,EventV � MOV R2,#0 �SWI "XOS_Release" �LDMFD R13!,{PC} .EventV %CMP R0,#11 ; key pressed/released &MOVNES PC,R14 0CMP R2,#&58 :CMPNE R2,#&4C D BEQ shift N XCMP R2,#&61 bCMPNE R2,#&3B lBEQ ctrl v �CMP R2,#&60 �CMPNE R2,#&5E �BEQ alt � � CMP R1,#1 �MOVNES PC,R14 � �CMP R2,#&22 ; numlock �BEQ numlock �CMP R2,#&0E ; scroll lock BEQ scrolllock MOVS PC,R14 .scrolllock *STMFD R13!,{R0-R2,R14} 4 >LDR R0,alt_data H CMP R0,#0 RLDRNE R0,status \�NE R0,R0,#%10 fSTRNE R0,status pLDMNEFD R13!,{R0-R2,PC}^ z �LDRB R0,shift_data � CMP R0,#0 �BEQ f12_noshift �LDRB R0,ctrl_data � CMP R0,#0 ��Q R2,#220 �"MOVNE R2,#252 ; ctrl-shift-f12 � .exit �MOV R0,#138 � MOV R1,#0 � � MOV R9,PC ��R R8,R9,#3 ; SVC Mode TEQP R8,#0 MOV R0,R0 STMFD R13!,{R14} $ .SWI "XOS_Byte" 8MOV R2,#%11111101 BLDRB R1,status L� R1,R1,#%10 ` jMOV R0,#202 tSWI "XOS_Byte" ~MOV R0,#118 �SWI "XOS_Byte" � �LDMFD R13!,{R14} �TEQP R9,#0 � MOV R0,R0 � �LDMFD R13!,{R0-R2,PC} � �.f12_noshift �LDR R0,ctrl_data CMP R0,#0 MOVNE R2,#236 �Q R2,#204 B exit ( 2.numlock <STMFD R13!,{R0-R2,R14} F PLDR R0,alt_data Z CMP R0,#0 dLDRNE R0,status n�NE R0,R0,#%100 xSTRNE R0,status �LDMNEFD R13!,{R0-R2,PC}^ � �LDRB R0,shift_data � CMP R0,#0 �BEQ f11_noshift �LDRB R0,ctrl_data � CMP R0,#0 ��Q R2,#219 �MOVNE R2,#251 � .exit2 �MOV R0,#138 � MOV R1,#0 � MOV R9,PC �R R8,R9,#3 ; SVC Mode TEQP R8,#0 " MOV R0,R0 ,STMFD R13!,{R14} 6 @SWI "XOS_Byte" JMOV R2,#%11111011 TLDRB R1,status ^� R1,R1,#%100 r |MOV R0,#202 �SWI "XOS_Byte" �MOV R0,#118 �SWI "XOS_Byte" � �LDMFD R13!,{R14} �TEQP R9,#0 � MOV R0,R0 � �LDMFD R13!,{R0-R2,PC} � �.f11_noshift LDR R0,ctrl_data CMP R0,#0 MOVNE R2,#235 &�Q R2,#203 0B exit2 : D .shift NLDRB R0,shift_data X CMP R1,#0 bADDNE R0,R0,#1 lSUBEQS R0,R0,#1 vMOVMI R0,#0 �STRB R0,shift_data �MOV R0,#11 �MOVS PC,R14 � � .ctrl �LDRB R0,ctrl_data � CMP R1,#0 �ADDNE R0,R0,#1 �SUBEQS R0,R0,#1 �MOVMI R0,#0 �STRB R0,ctrl_data �MOV R0,#11 �MOVS PC,R14 .alt LDRB R0,alt_data CMP R1,#0 *ADDNE R0,R0,#1 4SUBEQS R0,R0,#1 >MOVMI R0,#0 HSTRB R0,alt_data RMOVS PC,R14 \ f.shift_data p EQUD 0 z.ctrl_data � EQUD 0 � .alt_data � EQUD 0 �.status � EQUD 0 � �.numlockon �STMFD R13!,{R0-R2,R14} �LDR R1,status ��R R1,R1,#%100 �STR R1,status � MOV R1,#0 �MOV R2,#%11111011 MOV R0,#202 SWI "XOS_Byte" MOV R0,#118 $SWI "XOS_Byte" .LDMFD R13!,{R0-R2,PC} 8 B.numlockoff LSTMFD R13!,{R0-R2,R14} VLDR R1,status `BIC R1,R1,#%100 jSTR R1,status tMOV R1,#%100 ~MOV R2,#%11111011 �MOV R0,#202 �SWI "XOS_Byte" �MOV R0,#118 �SWI "XOS_Byte" �LDMFD R13!,{R0-R2,PC} � �.scrolllockon �STMFD R13!,{R0-R2,R14} �LDR R1,status �BIC R1,R1,#%10 �STR R1,status �MOV R1,#%10 MOV R2,#%11111101 MOV R0,#202 SWI "XOS_Byte" MOV R0,#118 (SWI "XOS_Byte" 2LDMFD R13!,{R0-R2,PC} < F.scrolllockoff PSTMFD R13!,{R0-R2,R14} ZLDR R1,status d�R R1,R1,#%10 nSTR R1,status xMOV R1,#%0 �MOV R2,#%11111101 �MOV R0,#202 �SWI "XOS_Byte" �MOV R0,#118 �SWI "XOS_Byte" �LDMFD R13!,{R0-R2,PC} � � .title �EQUS "NumScr>f12" � EQUB0 � ALIGN � � .help -EQUS "NumScr>f12"+�9+"1.00 (29 Jun 1994)" EQUB 0 ALIGN " , .table 6EQUS "NumScr>f12" : EQUB 0 @ ALIGN J EQUD 0 T EQUD 0 ^ EQUD 0 hEQUD helptext r%EQUS "NumLockOn" : EQUB 0 : ALIGN |EQUD numlockon � EQUD 0 �EQUD numlockonsyn �EQUD numlockonhelp �&EQUS "NumLockOff" : EQUB 0 : ALIGN �EQUD numlockoff � EQUD 0 �EQUD numlockoffsyn �EQUD numlockoffhelp �(EQUS "ScrollLockOn" : EQUB 0 : ALIGN �EQUD scrolllockon � EQUD 0 �EQUD scrolllockonsyn �EQUD scrolllockonhelp )EQUS "ScrollLockOff" : EQUB 0 : ALIGN EQUD scrolllockoff EQUD 0 &EQUD scrolllockoffsyn 0EQUD scrolllockoffhelp : D EQUD 0 N.numlockonsyn X&EQUS "Syntax: *NumLockOn" : EQUB 0 b.numlockonhelp l:EQUS "*NumLockOn turns on the Num Lock light" : EQUB 0 v.numlockoffsyn �'EQUS "Syntax: *NumLockOff" : EQUB 0 �.numlockoffhelp �<EQUS "*NumLockOff turns off the Num Lock light" : EQUB 0 � �.scrolllockonsyn �)EQUS "Syntax: *ScrollLockOn" : EQUB 0 �.scrolllockonhelp �@EQUS "*ScrollLockOn turns on the Scroll Lock light" : EQUB 0 �.scrolllockoffsyn �*EQUS "Syntax: *ScrollLockOff" : EQUB 0 �.scrolllockoffhelp �BEQUS "*ScrollLockOff turns off the Scroll Lock light" : EQUB 0 .helptext �EQUS "This module turns Num Lock and Scroll lock into F11 and F12 respectively, including all ctrl/shift combinations. Their original behaviour can be obtained while holding down Alt. It is intended for use on an A4 portable." * EQUB 0 4 ALIGN >] H R� \ f)�"SAVE NumScr>f12 "+�~code+" "+�~(O%) p �"SETTYPE NumScr>f12 MODULE" z� �
00000000 0d 00 0a 12 f4 20 3e 20 4e 75 6d 53 63 72 3e 66 |..... > NumScr>f| 00000010 31 32 0d 00 14 0f de 20 63 6f 64 65 20 32 30 30 |12..... code 200| 00000020 30 0d 00 1e 04 0d 00 28 10 e3 70 3d 34 20 b8 20 |0......(..p=4 . | 00000030 36 20 88 20 32 0d 00 32 0b 4f 25 3d 63 6f 64 65 |6 . 2..2.O%=code| 00000040 0d 00 3c 08 50 25 3d 30 0d 00 46 0a 5b 4f 50 54 |..<.P%=0..F.[OPT| 00000050 20 70 0d 00 50 0e 45 51 55 44 20 73 74 61 72 74 | p..P.EQUD start| 00000060 0d 00 5a 10 45 51 55 44 20 30 20 3b 69 6e 69 74 |..Z.EQUD 0 ;init| 00000070 0d 00 64 0f 45 51 55 44 20 66 69 6e 69 73 68 0d |..d.EQUD finish.| 00000080 00 6e 10 45 51 55 44 20 30 20 3b 73 65 72 76 0d |.n.EQUD 0 ;serv.| 00000090 00 78 0e 45 51 55 44 20 74 69 74 6c 65 0d 00 82 |.x.EQUD title...| 000000a0 0d 45 51 55 44 20 68 65 6c 70 0d 00 8c 0e 45 51 |.EQUD help....EQ| 000000b0 55 44 20 74 61 62 6c 65 0d 00 96 0a 45 51 55 44 |UD table....EQUD| 000000c0 20 30 0d 00 a0 0a 45 51 55 44 20 30 0d 00 aa 0a | 0....EQUD 0....| 000000d0 45 51 55 44 20 30 0d 00 b4 0a 45 51 55 44 20 30 |EQUD 0....EQUD 0| 000000e0 0d 00 be 04 0d 00 c8 0a 2e 73 74 61 72 74 0d 00 |.........start..| 000000f0 d2 18 4d 4f 56 20 52 30 2c 23 26 31 30 20 3b 20 |..MOV R0,#&10 ; | 00000100 45 76 65 6e 74 56 0d 00 dc 11 41 44 52 20 52 31 |EventV....ADR R1| 00000110 2c 45 76 65 6e 74 56 0d 00 e6 0d 4d 4f 56 20 52 |,EventV....MOV R| 00000120 32 2c 23 30 0d 00 f0 19 53 57 49 20 22 58 4f 53 |2,#0....SWI "XOS| 00000130 5f 41 64 64 54 6f 56 65 63 74 6f 72 22 0d 00 fa |_AddToVector"...| 00000140 04 0d 01 04 0e 4d 4f 56 20 52 30 2c 23 31 34 0d |.....MOV R0,#14.| 00000150 01 0e 0e 4d 4f 56 20 52 31 2c 23 31 31 0d 01 18 |...MOV R1,#11...| 00000160 12 53 57 49 20 22 58 4f 53 5f 42 79 74 65 22 0d |.SWI "XOS_Byte".| 00000170 01 22 04 0d 01 2c 0f 4d 4f 56 20 52 30 2c 23 32 |."...,.MOV R0,#2| 00000180 30 32 0d 01 36 0d 4d 4f 56 20 52 31 2c 23 30 0d |02..6.MOV R1,#0.| 00000190 01 40 0f 4d 4f 56 20 52 32 2c 23 32 35 35 0d 01 |.@.MOV R2,#255..| 000001a0 4a 12 53 57 49 20 22 58 4f 53 5f 42 79 74 65 22 |J.SWI "XOS_Byte"| 000001b0 0d 01 54 11 80 20 52 31 2c 52 31 2c 23 25 31 31 |..T.. R1,R1,#%11| 000001c0 30 0d 01 5e 11 82 20 52 31 2c 52 31 2c 23 25 31 |0..^.. R1,R1,#%1| 000001d0 31 30 0d 01 68 11 53 54 52 20 52 31 2c 73 74 61 |10..h.STR R1,sta| 000001e0 74 75 73 0d 01 72 04 0d 01 7c 12 53 57 49 20 22 |tus..r...|.SWI "| 000001f0 58 4f 53 5f 45 78 69 74 22 0d 01 86 04 0d 01 90 |XOS_Exit".......| 00000200 0b 2e 66 69 6e 69 73 68 0d 01 9a 14 53 54 4d 46 |..finish....STMF| 00000210 44 20 52 31 33 21 2c 7b 52 31 34 7d 0d 01 a4 04 |D R13!,{R14}....| 00000220 0d 01 ae 0e 4d 4f 56 20 52 30 2c 23 31 33 0d 01 |....MOV R0,#13..| 00000230 b8 0e 4d 4f 56 20 52 31 2c 23 31 31 0d 01 c2 11 |..MOV R1,#11....| 00000240 53 57 49 20 22 4f 53 5f 42 79 74 65 22 0d 01 cc |SWI "OS_Byte"...| 00000250 04 0d 01 d6 18 4d 4f 56 20 52 30 2c 23 26 31 30 |.....MOV R0,#&10| 00000260 20 3b 20 45 76 65 6e 74 56 0d 01 e0 11 41 44 52 | ; EventV....ADR| 00000270 20 52 31 2c 45 76 65 6e 74 56 0d 01 ea 0d 4d 4f | R1,EventV....MO| 00000280 56 20 52 32 2c 23 30 0d 01 f4 15 53 57 49 20 22 |V R2,#0....SWI "| 00000290 58 4f 53 5f 52 65 6c 65 61 73 65 22 0d 01 fe 13 |XOS_Release"....| 000002a0 4c 44 4d 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d |LDMFD R13!,{PC}.| 000002b0 02 08 04 0d 02 12 0b 2e 45 76 65 6e 74 56 0d 02 |........EventV..| 000002c0 1c 25 43 4d 50 20 52 30 2c 23 31 31 20 3b 20 6b |.%CMP R0,#11 ; k| 000002d0 65 79 20 70 72 65 73 73 65 64 2f 72 65 6c 65 61 |ey pressed/relea| 000002e0 73 65 64 0d 02 26 11 4d 4f 56 4e 45 53 20 50 43 |sed..&.MOVNES PC| 000002f0 2c 52 31 34 0d 02 30 0f 43 4d 50 20 52 32 2c 23 |,R14..0.CMP R2,#| 00000300 26 35 38 0d 02 3a 11 43 4d 50 4e 45 20 52 32 2c |&58..:.CMPNE R2,| 00000310 23 26 34 43 0d 02 44 0d 42 45 51 20 73 68 69 66 |#&4C..D.BEQ shif| 00000320 74 0d 02 4e 04 0d 02 58 0f 43 4d 50 20 52 32 2c |t..N...X.CMP R2,| 00000330 23 26 36 31 0d 02 62 11 43 4d 50 4e 45 20 52 32 |#&61..b.CMPNE R2| 00000340 2c 23 26 33 42 0d 02 6c 0c 42 45 51 20 63 74 72 |,#&3B..l.BEQ ctr| 00000350 6c 0d 02 76 04 0d 02 80 0f 43 4d 50 20 52 32 2c |l..v.....CMP R2,| 00000360 23 26 36 30 0d 02 8a 11 43 4d 50 4e 45 20 52 32 |#&60....CMPNE R2| 00000370 2c 23 26 35 45 0d 02 94 0b 42 45 51 20 61 6c 74 |,#&5E....BEQ alt| 00000380 0d 02 9e 04 0d 02 a8 0d 43 4d 50 20 52 31 2c 23 |........CMP R1,#| 00000390 31 0d 02 b2 11 4d 4f 56 4e 45 53 20 50 43 2c 52 |1....MOVNES PC,R| 000003a0 31 34 0d 02 da 04 0d 02 e4 19 43 4d 50 20 52 32 |14........CMP R2| 000003b0 2c 23 26 32 32 20 3b 20 6e 75 6d 6c 6f 63 6b 0d |,#&22 ; numlock.| 000003c0 02 ee 0f 42 45 51 20 6e 75 6d 6c 6f 63 6b 0d 02 |...BEQ numlock..| 000003d0 f8 1d 43 4d 50 20 52 32 2c 23 26 30 45 20 3b 20 |..CMP R2,#&0E ; | 000003e0 73 63 72 6f 6c 6c 20 6c 6f 63 6b 0d 03 02 12 42 |scroll lock....B| 000003f0 45 51 20 73 63 72 6f 6c 6c 6c 6f 63 6b 0d 03 0c |EQ scrolllock...| 00000400 0f 4d 4f 56 53 20 50 43 2c 52 31 34 0d 03 16 04 |.MOVS PC,R14....| 00000410 0d 03 20 0f 2e 73 63 72 6f 6c 6c 6c 6f 63 6b 0d |.. ..scrolllock.| 00000420 03 2a 1a 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 |.*.STMFD R13!,{R| 00000430 30 2d 52 32 2c 52 31 34 7d 0d 03 34 04 0d 03 3e |0-R2,R14}..4...>| 00000440 13 4c 44 52 20 52 30 2c 61 6c 74 5f 64 61 74 61 |.LDR R0,alt_data| 00000450 0d 03 48 0d 43 4d 50 20 52 30 2c 23 30 0d 03 52 |..H.CMP R0,#0..R| 00000460 13 4c 44 52 4e 45 20 52 30 2c 73 74 61 74 75 73 |.LDRNE R0,status| 00000470 0d 03 5c 12 82 4e 45 20 52 30 2c 52 30 2c 23 25 |..\..NE R0,R0,#%| 00000480 31 30 0d 03 66 13 53 54 52 4e 45 20 52 30 2c 73 |10..f.STRNE R0,s| 00000490 74 61 74 75 73 0d 03 70 1c 4c 44 4d 4e 45 46 44 |tatus..p.LDMNEFD| 000004a0 20 52 31 33 21 2c 7b 52 30 2d 52 32 2c 50 43 7d | R13!,{R0-R2,PC}| 000004b0 5e 0d 03 7a 04 0d 03 84 16 4c 44 52 42 20 52 30 |^..z.....LDRB R0| 000004c0 2c 73 68 69 66 74 5f 64 61 74 61 0d 03 8e 0d 43 |,shift_data....C| 000004d0 4d 50 20 52 30 2c 23 30 0d 03 98 13 42 45 51 20 |MP R0,#0....BEQ | 000004e0 66 31 32 5f 6e 6f 73 68 69 66 74 0d 03 a2 15 4c |f12_noshift....L| 000004f0 44 52 42 20 52 30 2c 63 74 72 6c 5f 64 61 74 61 |DRB R0,ctrl_data| 00000500 0d 03 ac 0d 43 4d 50 20 52 30 2c 23 30 0d 03 b6 |....CMP R0,#0...| 00000510 0e ec 51 20 52 32 2c 23 32 32 30 0d 03 c0 22 4d |..Q R2,#220..."M| 00000520 4f 56 4e 45 20 52 32 2c 23 32 35 32 20 3b 20 63 |OVNE R2,#252 ; c| 00000530 74 72 6c 2d 73 68 69 66 74 2d 66 31 32 0d 03 ca |trl-shift-f12...| 00000540 09 2e 65 78 69 74 0d 03 d4 0f 4d 4f 56 20 52 30 |..exit....MOV R0| 00000550 2c 23 31 33 38 0d 03 de 0d 4d 4f 56 20 52 31 2c |,#138....MOV R1,| 00000560 23 30 0d 03 e8 04 0d 03 f2 0d 4d 4f 56 20 52 39 |#0........MOV R9| 00000570 2c 50 43 0d 03 fc 1a 84 52 20 52 38 2c 52 39 2c |,PC.....R R8,R9,| 00000580 23 33 20 3b 20 53 56 43 20 4d 6f 64 65 0d 04 06 |#3 ; SVC Mode...| 00000590 0e 54 45 51 50 20 52 38 2c 23 30 0d 04 10 0d 4d |.TEQP R8,#0....M| 000005a0 4f 56 20 52 30 2c 52 30 0d 04 1a 14 53 54 4d 46 |OV R0,R0....STMF| 000005b0 44 20 52 31 33 21 2c 7b 52 31 34 7d 0d 04 24 04 |D R13!,{R14}..$.| 000005c0 0d 04 2e 12 53 57 49 20 22 58 4f 53 5f 42 79 74 |....SWI "XOS_Byt| 000005d0 65 22 0d 04 38 15 4d 4f 56 20 52 32 2c 23 25 31 |e"..8.MOV R2,#%1| 000005e0 31 31 31 31 31 30 31 0d 04 42 12 4c 44 52 42 20 |1111101..B.LDRB | 000005f0 52 31 2c 73 74 61 74 75 73 0d 04 4c 10 80 20 52 |R1,status..L.. R| 00000600 31 2c 52 31 2c 23 25 31 30 0d 04 60 04 0d 04 6a |1,R1,#%10..`...j| 00000610 0f 4d 4f 56 20 52 30 2c 23 32 30 32 0d 04 74 12 |.MOV R0,#202..t.| 00000620 53 57 49 20 22 58 4f 53 5f 42 79 74 65 22 0d 04 |SWI "XOS_Byte"..| 00000630 7e 0f 4d 4f 56 20 52 30 2c 23 31 31 38 0d 04 88 |~.MOV R0,#118...| 00000640 12 53 57 49 20 22 58 4f 53 5f 42 79 74 65 22 0d |.SWI "XOS_Byte".| 00000650 04 92 04 0d 04 9c 14 4c 44 4d 46 44 20 52 31 33 |.......LDMFD R13| 00000660 21 2c 7b 52 31 34 7d 0d 04 a6 0e 54 45 51 50 20 |!,{R14}....TEQP | 00000670 52 39 2c 23 30 0d 04 b0 0d 4d 4f 56 20 52 30 2c |R9,#0....MOV R0,| 00000680 52 30 0d 04 ba 04 0d 04 c4 19 4c 44 4d 46 44 20 |R0........LDMFD | 00000690 52 31 33 21 2c 7b 52 30 2d 52 32 2c 50 43 7d 0d |R13!,{R0-R2,PC}.| 000006a0 04 c5 04 0d 04 ec 10 2e 66 31 32 5f 6e 6f 73 68 |........f12_nosh| 000006b0 69 66 74 0d 04 f6 14 4c 44 52 20 52 30 2c 63 74 |ift....LDR R0,ct| 000006c0 72 6c 5f 64 61 74 61 0d 05 00 0d 43 4d 50 20 52 |rl_data....CMP R| 000006d0 30 2c 23 30 0d 05 0a 11 4d 4f 56 4e 45 20 52 32 |0,#0....MOVNE R2| 000006e0 2c 23 32 33 36 0d 05 14 0e ec 51 20 52 32 2c 23 |,#236.....Q R2,#| 000006f0 32 30 34 0d 05 1e 0a 42 20 65 78 69 74 0d 05 28 |204....B exit..(| 00000700 04 0d 05 32 0c 2e 6e 75 6d 6c 6f 63 6b 0d 05 3c |...2..numlock..<| 00000710 1a 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d |.STMFD R13!,{R0-| 00000720 52 32 2c 52 31 34 7d 0d 05 46 04 0d 05 50 13 4c |R2,R14}..F...P.L| 00000730 44 52 20 52 30 2c 61 6c 74 5f 64 61 74 61 0d 05 |DR R0,alt_data..| 00000740 5a 0d 43 4d 50 20 52 30 2c 23 30 0d 05 64 13 4c |Z.CMP R0,#0..d.L| 00000750 44 52 4e 45 20 52 30 2c 73 74 61 74 75 73 0d 05 |DRNE R0,status..| 00000760 6e 13 82 4e 45 20 52 30 2c 52 30 2c 23 25 31 30 |n..NE R0,R0,#%10| 00000770 30 0d 05 78 13 53 54 52 4e 45 20 52 30 2c 73 74 |0..x.STRNE R0,st| 00000780 61 74 75 73 0d 05 82 1c 4c 44 4d 4e 45 46 44 20 |atus....LDMNEFD | 00000790 52 31 33 21 2c 7b 52 30 2d 52 32 2c 50 43 7d 5e |R13!,{R0-R2,PC}^| 000007a0 0d 05 8c 04 0d 05 96 16 4c 44 52 42 20 52 30 2c |........LDRB R0,| 000007b0 73 68 69 66 74 5f 64 61 74 61 0d 05 a0 0d 43 4d |shift_data....CM| 000007c0 50 20 52 30 2c 23 30 0d 05 aa 13 42 45 51 20 66 |P R0,#0....BEQ f| 000007d0 31 31 5f 6e 6f 73 68 69 66 74 0d 05 b4 15 4c 44 |11_noshift....LD| 000007e0 52 42 20 52 30 2c 63 74 72 6c 5f 64 61 74 61 0d |RB R0,ctrl_data.| 000007f0 05 be 0d 43 4d 50 20 52 30 2c 23 30 0d 05 c8 0e |...CMP R0,#0....| 00000800 ec 51 20 52 32 2c 23 32 31 39 0d 05 d2 11 4d 4f |.Q R2,#219....MO| 00000810 56 4e 45 20 52 32 2c 23 32 35 31 0d 05 dc 0a 2e |VNE R2,#251.....| 00000820 65 78 69 74 32 0d 05 e6 0f 4d 4f 56 20 52 30 2c |exit2....MOV R0,| 00000830 23 31 33 38 0d 05 f0 0d 4d 4f 56 20 52 31 2c 23 |#138....MOV R1,#| 00000840 30 0d 05 fa 04 0d 06 04 0d 4d 4f 56 20 52 39 2c |0........MOV R9,| 00000850 50 43 0d 06 0e 1a 84 52 20 52 38 2c 52 39 2c 23 |PC.....R R8,R9,#| 00000860 33 20 3b 20 53 56 43 20 4d 6f 64 65 0d 06 18 0e |3 ; SVC Mode....| 00000870 54 45 51 50 20 52 38 2c 23 30 0d 06 22 0d 4d 4f |TEQP R8,#0..".MO| 00000880 56 20 52 30 2c 52 30 0d 06 2c 14 53 54 4d 46 44 |V R0,R0..,.STMFD| 00000890 20 52 31 33 21 2c 7b 52 31 34 7d 0d 06 36 04 0d | R13!,{R14}..6..| 000008a0 06 40 12 53 57 49 20 22 58 4f 53 5f 42 79 74 65 |.@.SWI "XOS_Byte| 000008b0 22 0d 06 4a 15 4d 4f 56 20 52 32 2c 23 25 31 31 |"..J.MOV R2,#%11| 000008c0 31 31 31 30 31 31 0d 06 54 12 4c 44 52 42 20 52 |111011..T.LDRB R| 000008d0 31 2c 73 74 61 74 75 73 0d 06 5e 11 80 20 52 31 |1,status..^.. R1| 000008e0 2c 52 31 2c 23 25 31 30 30 0d 06 72 04 0d 06 7c |,R1,#%100..r...|| 000008f0 0f 4d 4f 56 20 52 30 2c 23 32 30 32 0d 06 86 12 |.MOV R0,#202....| 00000900 53 57 49 20 22 58 4f 53 5f 42 79 74 65 22 0d 06 |SWI "XOS_Byte"..| 00000910 90 0f 4d 4f 56 20 52 30 2c 23 31 31 38 0d 06 9a |..MOV R0,#118...| 00000920 12 53 57 49 20 22 58 4f 53 5f 42 79 74 65 22 0d |.SWI "XOS_Byte".| 00000930 06 a4 04 0d 06 ae 14 4c 44 4d 46 44 20 52 31 33 |.......LDMFD R13| 00000940 21 2c 7b 52 31 34 7d 0d 06 b8 0e 54 45 51 50 20 |!,{R14}....TEQP | 00000950 52 39 2c 23 30 0d 06 c2 0d 4d 4f 56 20 52 30 2c |R9,#0....MOV R0,| 00000960 52 30 0d 06 cc 04 0d 06 d6 19 4c 44 4d 46 44 20 |R0........LDMFD | 00000970 52 31 33 21 2c 7b 52 30 2d 52 32 2c 50 43 7d 0d |R13!,{R0-R2,PC}.| 00000980 06 f4 04 0d 06 fe 10 2e 66 31 31 5f 6e 6f 73 68 |........f11_nosh| 00000990 69 66 74 0d 07 08 14 4c 44 52 20 52 30 2c 63 74 |ift....LDR R0,ct| 000009a0 72 6c 5f 64 61 74 61 0d 07 12 0d 43 4d 50 20 52 |rl_data....CMP R| 000009b0 30 2c 23 30 0d 07 1c 11 4d 4f 56 4e 45 20 52 32 |0,#0....MOVNE R2| 000009c0 2c 23 32 33 35 0d 07 26 0e ec 51 20 52 32 2c 23 |,#235..&..Q R2,#| 000009d0 32 30 33 0d 07 30 0b 42 20 65 78 69 74 32 0d 07 |203..0.B exit2..| 000009e0 3a 04 0d 07 44 0a 2e 73 68 69 66 74 0d 07 4e 16 |:...D..shift..N.| 000009f0 4c 44 52 42 20 52 30 2c 73 68 69 66 74 5f 64 61 |LDRB R0,shift_da| 00000a00 74 61 0d 07 58 0d 43 4d 50 20 52 31 2c 23 30 0d |ta..X.CMP R1,#0.| 00000a10 07 62 12 41 44 44 4e 45 20 52 30 2c 52 30 2c 23 |.b.ADDNE R0,R0,#| 00000a20 31 0d 07 6c 13 53 55 42 45 51 53 20 52 30 2c 52 |1..l.SUBEQS R0,R| 00000a30 30 2c 23 31 0d 07 76 0f 4d 4f 56 4d 49 20 52 30 |0,#1..v.MOVMI R0| 00000a40 2c 23 30 0d 07 80 16 53 54 52 42 20 52 30 2c 73 |,#0....STRB R0,s| 00000a50 68 69 66 74 5f 64 61 74 61 0d 07 8a 0e 4d 4f 56 |hift_data....MOV| 00000a60 20 52 30 2c 23 31 31 0d 07 94 0f 4d 4f 56 53 20 | R0,#11....MOVS | 00000a70 50 43 2c 52 31 34 0d 07 9e 04 0d 07 a8 09 2e 63 |PC,R14.........c| 00000a80 74 72 6c 0d 07 b2 15 4c 44 52 42 20 52 30 2c 63 |trl....LDRB R0,c| 00000a90 74 72 6c 5f 64 61 74 61 0d 07 bc 0d 43 4d 50 20 |trl_data....CMP | 00000aa0 52 31 2c 23 30 0d 07 c6 12 41 44 44 4e 45 20 52 |R1,#0....ADDNE R| 00000ab0 30 2c 52 30 2c 23 31 0d 07 d0 13 53 55 42 45 51 |0,R0,#1....SUBEQ| 00000ac0 53 20 52 30 2c 52 30 2c 23 31 0d 07 da 0f 4d 4f |S R0,R0,#1....MO| 00000ad0 56 4d 49 20 52 30 2c 23 30 0d 07 e4 15 53 54 52 |VMI R0,#0....STR| 00000ae0 42 20 52 30 2c 63 74 72 6c 5f 64 61 74 61 0d 07 |B R0,ctrl_data..| 00000af0 ee 0e 4d 4f 56 20 52 30 2c 23 31 31 0d 07 f8 0f |..MOV R0,#11....| 00000b00 4d 4f 56 53 20 50 43 2c 52 31 34 0d 08 02 04 0d |MOVS PC,R14.....| 00000b10 08 0c 08 2e 61 6c 74 0d 08 16 14 4c 44 52 42 20 |....alt....LDRB | 00000b20 52 30 2c 61 6c 74 5f 64 61 74 61 0d 08 20 0d 43 |R0,alt_data.. .C| 00000b30 4d 50 20 52 31 2c 23 30 0d 08 2a 12 41 44 44 4e |MP R1,#0..*.ADDN| 00000b40 45 20 52 30 2c 52 30 2c 23 31 0d 08 34 13 53 55 |E R0,R0,#1..4.SU| 00000b50 42 45 51 53 20 52 30 2c 52 30 2c 23 31 0d 08 3e |BEQS R0,R0,#1..>| 00000b60 0f 4d 4f 56 4d 49 20 52 30 2c 23 30 0d 08 48 14 |.MOVMI R0,#0..H.| 00000b70 53 54 52 42 20 52 30 2c 61 6c 74 5f 64 61 74 61 |STRB R0,alt_data| 00000b80 0d 08 52 0f 4d 4f 56 53 20 50 43 2c 52 31 34 0d |..R.MOVS PC,R14.| 00000b90 08 5c 04 0d 08 66 0f 2e 73 68 69 66 74 5f 64 61 |.\...f..shift_da| 00000ba0 74 61 0d 08 70 0a 45 51 55 44 20 30 0d 08 7a 0e |ta..p.EQUD 0..z.| 00000bb0 2e 63 74 72 6c 5f 64 61 74 61 0d 08 84 0a 45 51 |.ctrl_data....EQ| 00000bc0 55 44 20 30 0d 08 8e 0d 2e 61 6c 74 5f 64 61 74 |UD 0.....alt_dat| 00000bd0 61 0d 08 98 0a 45 51 55 44 20 30 0d 08 a2 0b 2e |a....EQUD 0.....| 00000be0 73 74 61 74 75 73 0d 08 ac 0a 45 51 55 44 20 30 |status....EQUD 0| 00000bf0 0d 08 b6 04 0d 08 c0 0e 2e 6e 75 6d 6c 6f 63 6b |.........numlock| 00000c00 6f 6e 0d 08 ca 1a 53 54 4d 46 44 20 52 31 33 21 |on....STMFD R13!| 00000c10 2c 7b 52 30 2d 52 32 2c 52 31 34 7d 0d 08 d4 11 |,{R0-R2,R14}....| 00000c20 4c 44 52 20 52 31 2c 73 74 61 74 75 73 0d 08 de |LDR R1,status...| 00000c30 12 84 52 20 52 31 2c 52 31 2c 23 25 31 30 30 0d |..R R1,R1,#%100.| 00000c40 08 e8 11 53 54 52 20 52 31 2c 73 74 61 74 75 73 |...STR R1,status| 00000c50 0d 08 f2 0d 4d 4f 56 20 52 31 2c 23 30 0d 08 fc |....MOV R1,#0...| 00000c60 15 4d 4f 56 20 52 32 2c 23 25 31 31 31 31 31 30 |.MOV R2,#%111110| 00000c70 31 31 0d 09 06 0f 4d 4f 56 20 52 30 2c 23 32 30 |11....MOV R0,#20| 00000c80 32 0d 09 10 12 53 57 49 20 22 58 4f 53 5f 42 79 |2....SWI "XOS_By| 00000c90 74 65 22 0d 09 1a 0f 4d 4f 56 20 52 30 2c 23 31 |te"....MOV R0,#1| 00000ca0 31 38 0d 09 24 12 53 57 49 20 22 58 4f 53 5f 42 |18..$.SWI "XOS_B| 00000cb0 79 74 65 22 0d 09 2e 19 4c 44 4d 46 44 20 52 31 |yte"....LDMFD R1| 00000cc0 33 21 2c 7b 52 30 2d 52 32 2c 50 43 7d 0d 09 38 |3!,{R0-R2,PC}..8| 00000cd0 04 0d 09 42 0f 2e 6e 75 6d 6c 6f 63 6b 6f 66 66 |...B..numlockoff| 00000ce0 0d 09 4c 1a 53 54 4d 46 44 20 52 31 33 21 2c 7b |..L.STMFD R13!,{| 00000cf0 52 30 2d 52 32 2c 52 31 34 7d 0d 09 56 11 4c 44 |R0-R2,R14}..V.LD| 00000d00 52 20 52 31 2c 73 74 61 74 75 73 0d 09 60 13 42 |R R1,status..`.B| 00000d10 49 43 20 52 31 2c 52 31 2c 23 25 31 30 30 0d 09 |IC R1,R1,#%100..| 00000d20 6a 11 53 54 52 20 52 31 2c 73 74 61 74 75 73 0d |j.STR R1,status.| 00000d30 09 74 10 4d 4f 56 20 52 31 2c 23 25 31 30 30 0d |.t.MOV R1,#%100.| 00000d40 09 7e 15 4d 4f 56 20 52 32 2c 23 25 31 31 31 31 |.~.MOV R2,#%1111| 00000d50 31 30 31 31 0d 09 88 0f 4d 4f 56 20 52 30 2c 23 |1011....MOV R0,#| 00000d60 32 30 32 0d 09 92 12 53 57 49 20 22 58 4f 53 5f |202....SWI "XOS_| 00000d70 42 79 74 65 22 0d 09 9c 0f 4d 4f 56 20 52 30 2c |Byte"....MOV R0,| 00000d80 23 31 31 38 0d 09 a6 12 53 57 49 20 22 58 4f 53 |#118....SWI "XOS| 00000d90 5f 42 79 74 65 22 0d 09 b0 19 4c 44 4d 46 44 20 |_Byte"....LDMFD | 00000da0 52 31 33 21 2c 7b 52 30 2d 52 32 2c 50 43 7d 0d |R13!,{R0-R2,PC}.| 00000db0 09 ba 04 0d 09 c4 11 2e 73 63 72 6f 6c 6c 6c 6f |........scrolllo| 00000dc0 63 6b 6f 6e 0d 09 ce 1a 53 54 4d 46 44 20 52 31 |ckon....STMFD R1| 00000dd0 33 21 2c 7b 52 30 2d 52 32 2c 52 31 34 7d 0d 09 |3!,{R0-R2,R14}..| 00000de0 d8 11 4c 44 52 20 52 31 2c 73 74 61 74 75 73 0d |..LDR R1,status.| 00000df0 09 e2 12 42 49 43 20 52 31 2c 52 31 2c 23 25 31 |...BIC R1,R1,#%1| 00000e00 30 0d 09 ec 11 53 54 52 20 52 31 2c 73 74 61 74 |0....STR R1,stat| 00000e10 75 73 0d 09 f6 0f 4d 4f 56 20 52 31 2c 23 25 31 |us....MOV R1,#%1| 00000e20 30 0d 0a 00 15 4d 4f 56 20 52 32 2c 23 25 31 31 |0....MOV R2,#%11| 00000e30 31 31 31 31 30 31 0d 0a 0a 0f 4d 4f 56 20 52 30 |111101....MOV R0| 00000e40 2c 23 32 30 32 0d 0a 14 12 53 57 49 20 22 58 4f |,#202....SWI "XO| 00000e50 53 5f 42 79 74 65 22 0d 0a 1e 0f 4d 4f 56 20 52 |S_Byte"....MOV R| 00000e60 30 2c 23 31 31 38 0d 0a 28 12 53 57 49 20 22 58 |0,#118..(.SWI "X| 00000e70 4f 53 5f 42 79 74 65 22 0d 0a 32 19 4c 44 4d 46 |OS_Byte"..2.LDMF| 00000e80 44 20 52 31 33 21 2c 7b 52 30 2d 52 32 2c 50 43 |D R13!,{R0-R2,PC| 00000e90 7d 0d 0a 3c 04 0d 0a 46 12 2e 73 63 72 6f 6c 6c |}..<...F..scroll| 00000ea0 6c 6f 63 6b 6f 66 66 0d 0a 50 1a 53 54 4d 46 44 |lockoff..P.STMFD| 00000eb0 20 52 31 33 21 2c 7b 52 30 2d 52 32 2c 52 31 34 | R13!,{R0-R2,R14| 00000ec0 7d 0d 0a 5a 11 4c 44 52 20 52 31 2c 73 74 61 74 |}..Z.LDR R1,stat| 00000ed0 75 73 0d 0a 64 11 84 52 20 52 31 2c 52 31 2c 23 |us..d..R R1,R1,#| 00000ee0 25 31 30 0d 0a 6e 11 53 54 52 20 52 31 2c 73 74 |%10..n.STR R1,st| 00000ef0 61 74 75 73 0d 0a 78 0e 4d 4f 56 20 52 31 2c 23 |atus..x.MOV R1,#| 00000f00 25 30 0d 0a 82 15 4d 4f 56 20 52 32 2c 23 25 31 |%0....MOV R2,#%1| 00000f10 31 31 31 31 31 30 31 0d 0a 8c 0f 4d 4f 56 20 52 |1111101....MOV R| 00000f20 30 2c 23 32 30 32 0d 0a 96 12 53 57 49 20 22 58 |0,#202....SWI "X| 00000f30 4f 53 5f 42 79 74 65 22 0d 0a a0 0f 4d 4f 56 20 |OS_Byte"....MOV | 00000f40 52 30 2c 23 31 31 38 0d 0a aa 12 53 57 49 20 22 |R0,#118....SWI "| 00000f50 58 4f 53 5f 42 79 74 65 22 0d 0a b4 19 4c 44 4d |XOS_Byte"....LDM| 00000f60 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 32 2c 50 |FD R13!,{R0-R2,P| 00000f70 43 7d 0d 0a be 04 0d 0a c8 0a 2e 74 69 74 6c 65 |C}.........title| 00000f80 0d 0a d2 15 45 51 55 53 20 22 4e 75 6d 53 63 72 |....EQUS "NumScr| 00000f90 3e 66 31 32 22 0d 0a dc 09 45 51 55 42 30 0d 0a |>f12"....EQUB0..| 00000fa0 e6 09 41 4c 49 47 4e 0d 0a f0 04 0d 0a fa 09 2e |..ALIGN.........| 00000fb0 68 65 6c 70 0d 0b 04 2d 45 51 55 53 20 22 4e 75 |help...-EQUS "Nu| 00000fc0 6d 53 63 72 3e 66 31 32 22 2b bd 39 2b 22 31 2e |mScr>f12"+.9+"1.| 00000fd0 30 30 20 28 32 39 20 4a 75 6e 20 31 39 39 34 29 |00 (29 Jun 1994)| 00000fe0 22 0d 0b 0e 0a 45 51 55 42 20 30 0d 0b 18 09 41 |"....EQUB 0....A| 00000ff0 4c 49 47 4e 0d 0b 22 04 0d 0b 2c 0a 2e 74 61 62 |LIGN.."...,..tab| 00001000 6c 65 0d 0b 36 1e 45 51 55 53 20 22 4e 75 6d 53 |le..6.EQUS "NumS| 00001010 63 72 3e 66 31 32 22 20 3a 20 45 51 55 42 20 30 |cr>f12" : EQUB 0| 00001020 0d 0b 40 09 41 4c 49 47 4e 0d 0b 4a 0a 45 51 55 |..@.ALIGN..J.EQU| 00001030 44 20 30 0d 0b 54 0a 45 51 55 44 20 30 0d 0b 5e |D 0..T.EQUD 0..^| 00001040 0a 45 51 55 44 20 30 0d 0b 68 11 45 51 55 44 20 |.EQUD 0..h.EQUD | 00001050 68 65 6c 70 74 65 78 74 0d 0b 72 25 45 51 55 53 |helptext..r%EQUS| 00001060 20 22 4e 75 6d 4c 6f 63 6b 4f 6e 22 20 3a 20 45 | "NumLockOn" : E| 00001070 51 55 42 20 30 20 3a 20 41 4c 49 47 4e 0d 0b 7c |QUB 0 : ALIGN..|| 00001080 12 45 51 55 44 20 6e 75 6d 6c 6f 63 6b 6f 6e 0d |.EQUD numlockon.| 00001090 0b 86 0a 45 51 55 44 20 30 0d 0b 90 15 45 51 55 |...EQUD 0....EQU| 000010a0 44 20 6e 75 6d 6c 6f 63 6b 6f 6e 73 79 6e 0d 0b |D numlockonsyn..| 000010b0 9a 16 45 51 55 44 20 6e 75 6d 6c 6f 63 6b 6f 6e |..EQUD numlockon| 000010c0 68 65 6c 70 0d 0b a4 26 45 51 55 53 20 22 4e 75 |help...&EQUS "Nu| 000010d0 6d 4c 6f 63 6b 4f 66 66 22 20 3a 20 45 51 55 42 |mLockOff" : EQUB| 000010e0 20 30 20 3a 20 41 4c 49 47 4e 0d 0b ae 13 45 51 | 0 : ALIGN....EQ| 000010f0 55 44 20 6e 75 6d 6c 6f 63 6b 6f 66 66 0d 0b b8 |UD numlockoff...| 00001100 0a 45 51 55 44 20 30 0d 0b c2 16 45 51 55 44 20 |.EQUD 0....EQUD | 00001110 6e 75 6d 6c 6f 63 6b 6f 66 66 73 79 6e 0d 0b cc |numlockoffsyn...| 00001120 17 45 51 55 44 20 6e 75 6d 6c 6f 63 6b 6f 66 66 |.EQUD numlockoff| 00001130 68 65 6c 70 0d 0b d6 28 45 51 55 53 20 22 53 63 |help...(EQUS "Sc| 00001140 72 6f 6c 6c 4c 6f 63 6b 4f 6e 22 20 3a 20 45 51 |rollLockOn" : EQ| 00001150 55 42 20 30 20 3a 20 41 4c 49 47 4e 0d 0b e0 15 |UB 0 : ALIGN....| 00001160 45 51 55 44 20 73 63 72 6f 6c 6c 6c 6f 63 6b 6f |EQUD scrolllocko| 00001170 6e 0d 0b ea 0a 45 51 55 44 20 30 0d 0b f4 18 45 |n....EQUD 0....E| 00001180 51 55 44 20 73 63 72 6f 6c 6c 6c 6f 63 6b 6f 6e |QUD scrolllockon| 00001190 73 79 6e 0d 0b fe 19 45 51 55 44 20 73 63 72 6f |syn....EQUD scro| 000011a0 6c 6c 6c 6f 63 6b 6f 6e 68 65 6c 70 0d 0c 08 29 |lllockonhelp...)| 000011b0 45 51 55 53 20 22 53 63 72 6f 6c 6c 4c 6f 63 6b |EQUS "ScrollLock| 000011c0 4f 66 66 22 20 3a 20 45 51 55 42 20 30 20 3a 20 |Off" : EQUB 0 : | 000011d0 41 4c 49 47 4e 0d 0c 12 16 45 51 55 44 20 73 63 |ALIGN....EQUD sc| 000011e0 72 6f 6c 6c 6c 6f 63 6b 6f 66 66 0d 0c 1c 0a 45 |rolllockoff....E| 000011f0 51 55 44 20 30 0d 0c 26 19 45 51 55 44 20 73 63 |QUD 0..&.EQUD sc| 00001200 72 6f 6c 6c 6c 6f 63 6b 6f 66 66 73 79 6e 0d 0c |rolllockoffsyn..| 00001210 30 1a 45 51 55 44 20 73 63 72 6f 6c 6c 6c 6f 63 |0.EQUD scrollloc| 00001220 6b 6f 66 66 68 65 6c 70 0d 0c 3a 04 0d 0c 44 0a |koffhelp..:...D.| 00001230 45 51 55 44 20 30 0d 0c 4e 11 2e 6e 75 6d 6c 6f |EQUD 0..N..numlo| 00001240 63 6b 6f 6e 73 79 6e 0d 0c 58 26 45 51 55 53 20 |ckonsyn..X&EQUS | 00001250 22 53 79 6e 74 61 78 3a 20 2a 4e 75 6d 4c 6f 63 |"Syntax: *NumLoc| 00001260 6b 4f 6e 22 20 3a 20 45 51 55 42 20 30 0d 0c 62 |kOn" : EQUB 0..b| 00001270 12 2e 6e 75 6d 6c 6f 63 6b 6f 6e 68 65 6c 70 0d |..numlockonhelp.| 00001280 0c 6c 3a 45 51 55 53 20 22 2a 4e 75 6d 4c 6f 63 |.l:EQUS "*NumLoc| 00001290 6b 4f 6e 20 74 75 72 6e 73 20 6f 6e 20 74 68 65 |kOn turns on the| 000012a0 20 4e 75 6d 20 4c 6f 63 6b 20 6c 69 67 68 74 22 | Num Lock light"| 000012b0 20 3a 20 45 51 55 42 20 30 0d 0c 76 12 2e 6e 75 | : EQUB 0..v..nu| 000012c0 6d 6c 6f 63 6b 6f 66 66 73 79 6e 0d 0c 80 27 45 |mlockoffsyn...'E| 000012d0 51 55 53 20 22 53 79 6e 74 61 78 3a 20 2a 4e 75 |QUS "Syntax: *Nu| 000012e0 6d 4c 6f 63 6b 4f 66 66 22 20 3a 20 45 51 55 42 |mLockOff" : EQUB| 000012f0 20 30 0d 0c 8a 13 2e 6e 75 6d 6c 6f 63 6b 6f 66 | 0.....numlockof| 00001300 66 68 65 6c 70 0d 0c 94 3c 45 51 55 53 20 22 2a |fhelp...<EQUS "*| 00001310 4e 75 6d 4c 6f 63 6b 4f 66 66 20 74 75 72 6e 73 |NumLockOff turns| 00001320 20 6f 66 66 20 74 68 65 20 4e 75 6d 20 4c 6f 63 | off the Num Loc| 00001330 6b 20 6c 69 67 68 74 22 20 3a 20 45 51 55 42 20 |k light" : EQUB | 00001340 30 0d 0c 9e 04 0d 0c a8 14 2e 73 63 72 6f 6c 6c |0.........scroll| 00001350 6c 6f 63 6b 6f 6e 73 79 6e 0d 0c b2 29 45 51 55 |lockonsyn...)EQU| 00001360 53 20 22 53 79 6e 74 61 78 3a 20 2a 53 63 72 6f |S "Syntax: *Scro| 00001370 6c 6c 4c 6f 63 6b 4f 6e 22 20 3a 20 45 51 55 42 |llLockOn" : EQUB| 00001380 20 30 0d 0c bc 15 2e 73 63 72 6f 6c 6c 6c 6f 63 | 0.....scrollloc| 00001390 6b 6f 6e 68 65 6c 70 0d 0c c6 40 45 51 55 53 20 |konhelp...@EQUS | 000013a0 22 2a 53 63 72 6f 6c 6c 4c 6f 63 6b 4f 6e 20 74 |"*ScrollLockOn t| 000013b0 75 72 6e 73 20 6f 6e 20 74 68 65 20 53 63 72 6f |urns on the Scro| 000013c0 6c 6c 20 4c 6f 63 6b 20 6c 69 67 68 74 22 20 3a |ll Lock light" :| 000013d0 20 45 51 55 42 20 30 0d 0c c7 15 2e 73 63 72 6f | EQUB 0.....scro| 000013e0 6c 6c 6c 6f 63 6b 6f 66 66 73 79 6e 0d 0c c8 2a |lllockoffsyn...*| 000013f0 45 51 55 53 20 22 53 79 6e 74 61 78 3a 20 2a 53 |EQUS "Syntax: *S| 00001400 63 72 6f 6c 6c 4c 6f 63 6b 4f 66 66 22 20 3a 20 |crollLockOff" : | 00001410 45 51 55 42 20 30 0d 0c c9 16 2e 73 63 72 6f 6c |EQUB 0.....scrol| 00001420 6c 6c 6f 63 6b 6f 66 66 68 65 6c 70 0d 0c ca 42 |llockoffhelp...B| 00001430 45 51 55 53 20 22 2a 53 63 72 6f 6c 6c 4c 6f 63 |EQUS "*ScrollLoc| 00001440 6b 4f 66 66 20 74 75 72 6e 73 20 6f 66 66 20 74 |kOff turns off t| 00001450 68 65 20 53 63 72 6f 6c 6c 20 4c 6f 63 6b 20 6c |he Scroll Lock l| 00001460 69 67 68 74 22 20 3a 20 45 51 55 42 20 30 0d 0d |ight" : EQUB 0..| 00001470 0c 04 0d 0d 16 0d 2e 68 65 6c 70 74 65 78 74 0d |.......helptext.| 00001480 0d 20 e6 45 51 55 53 20 22 54 68 69 73 20 6d 6f |. .EQUS "This mo| 00001490 64 75 6c 65 20 74 75 72 6e 73 20 4e 75 6d 20 4c |dule turns Num L| 000014a0 6f 63 6b 20 61 6e 64 20 53 63 72 6f 6c 6c 20 6c |ock and Scroll l| 000014b0 6f 63 6b 20 69 6e 74 6f 20 46 31 31 20 61 6e 64 |ock into F11 and| 000014c0 20 46 31 32 20 72 65 73 70 65 63 74 69 76 65 6c | F12 respectivel| 000014d0 79 2c 20 69 6e 63 6c 75 64 69 6e 67 20 61 6c 6c |y, including all| 000014e0 20 63 74 72 6c 2f 73 68 69 66 74 20 63 6f 6d 62 | ctrl/shift comb| 000014f0 69 6e 61 74 69 6f 6e 73 2e 20 54 68 65 69 72 20 |inations. Their | 00001500 6f 72 69 67 69 6e 61 6c 20 62 65 68 61 76 69 6f |original behavio| 00001510 75 72 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e |ur can be obtain| 00001520 65 64 20 77 68 69 6c 65 20 68 6f 6c 64 69 6e 67 |ed while holding| 00001530 20 64 6f 77 6e 20 41 6c 74 2e 20 49 74 20 69 73 | down Alt. It is| 00001540 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 75 73 | intended for us| 00001550 65 20 6f 6e 20 61 6e 20 41 34 20 70 6f 72 74 61 |e on an A4 porta| 00001560 62 6c 65 2e 22 0d 0d 2a 0a 45 51 55 42 20 30 0d |ble."..*.EQUB 0.| 00001570 0d 34 09 41 4c 49 47 4e 0d 0d 3e 05 5d 0d 0d 48 |.4.ALIGN..>.]..H| 00001580 04 0d 0d 52 05 ed 0d 0d 5c 04 0d 0d 66 29 ff 22 |...R....\...f)."| 00001590 53 41 56 45 20 4e 75 6d 53 63 72 3e 66 31 32 20 |SAVE NumScr>f12 | 000015a0 22 2b c3 7e 63 6f 64 65 2b 22 20 22 2b c3 7e 28 |"+.~code+" "+.~(| 000015b0 4f 25 29 0d 0d 70 20 ff 22 53 45 54 54 59 50 45 |O%)..p ."SETTYPE| 000015c0 20 4e 75 6d 53 63 72 3e 66 31 32 20 4d 4f 44 55 | NumScr>f12 MODU| 000015d0 4c 45 22 0d 0d 7a 05 e0 0d ff |LE"..z....| 000015da