10 REM > M_Code3 20 REM reverses a string 30 ON ERROR REPORT:PRINT " at line ";ERL:END 40 DIM code% 1000 50 FOR pass%=0 TO 3 STEP 3 60 P%=code% 70 [OPT pass% 80 .start 90 ADR R1,data 100 MOV R2,#0 110 .loop1 120 SWI "OS_ReadC" 130 SWI "OS_WriteC" 140 STRB R0,[R1,R2] 150 ADD R2,R2,#1 160 CMP R0,#13 170 BNE loop1 180 MOV R0,#10 190 SWI "OS_WriteC" 200 .loop2 210 SUB R2,R2,#1 220 LDRB R0,[R1,R2] 230 SWI "OS_WriteC" 240 CMP R2,#0 250 BNE loop2 260 MOV R0,#13 270 SWI "OS_WriteC" 280 MOV R0,#10 290 SWI "OS_WriteC" 300 MOV PC,R14 310 .data 320 EQUS STRING$(100," ") 330 ] 340 NEXT 350 CALL start