ô > CmdLine/src 6ô Demo fetching the command line into local memory 9ô Tested on RISC OS, SprowCoPro, ARMDev, PiTubeNative <ô Bug: ARMDev '*RUN CMDLINE HELLO' gives 'CMDLINE HELLO' : load%=&8000:Þ mcode% &400 PC=15:LINK=14:SP=13 ã P=0 ¸ 1:opt%=P*3+4 P%=load%:O%=mcode% [OPT opt% \ CODE HEADER \ ----------- .CODESTART .L0000:B Entry .L0004:EQUW &00 .L0006:EQUB &6D %.L0007:EQUB &00:\EQUB CopyR-L0000 0.Title:EQUB &00:EQUS "ARM Command Line Test" - EQUB &00:EQUS "0.01 (10 Dec 2017)" 0.CopyR:EQUB &00:EQUS "(C)J.G.Harston":EQUB 0  EQUD load%  EQUD CodeEnd-L0000  ALIGN  .Entry !MOV R0,#1:MOV R1,#0:MOV R2,#0 GSWI "XOS_Args" :\ R2=address of comand line parameters ?„RS R2,R2,R2:BMI rdcmdline :\ Command line in I/O processor FSWI "OS_GetEnv" :\ Read command line from local memory .rdcmdlinelp1  LDRB R1,[R0],#1:CMP R1,#—" " !BHI rdcmdlinelp1:SUB R0,R0,#1 .rdcmdlinelp2 ! LDRB R1,[R0],#1:CMP R1,#—" " "!BEQ rdcmdlinelp2:SUB R0,R0,#1 #command line parameters $: %.rdcmdline &1ADR R3,cmdline :\ R3=>local buffer '7ADR R1,addr :\ Point to control block ( .rdcmdlp1 )?STR R2,addr :\ Store address in control block *:MOV R0,#5:SWI "OS_Word" :\ Read byte from I/O memory +.LDRB R0,[R1,#4] :\ Get byte read ,6STRB R0,[R3],#1 :\ Store in local buffer -?ADD R2,R2,#1 :\ Increment command line address .0CMP R0,#13:BNE rdcmdlp1 :\ Loop until /command line parameters 0.rdcmdlinedone 1: 2: 3 MOV R1,R0 4-SWI "OS_WriteS":EQUS "CMD=>":EQUB 0:ALIGN 5.CommandLine 6 LDRB R0,[R1],#1:CMP R0,#—" " 7%SWIHS "OS_WriteC":BHS CommandLine 8!SWI 256+—"<":SWI "OS_NewLine" 9SWI "OS_Exit" :: ; .addr \EQUS Ä128,½0) ?\EQUS Ä128,½0) @ ALIGN A .CodeEnd B]í Cñ "Saving"; D?ÿ "SAVE CmdLine "+Ã~mcode%+" "+Ã~O%+" "+Ã~load%+" "+Ã~load% Eñ ÿ