10 REM > Example06 20 :: 30 REM © 2000 Martin Penny 40 :: 50 ON ERROR GOTO 660 60 :: 70 MODE 12 80 OFF 90 COLOUR 0, 4 100 COLOUR 7, 3 110 S% = 262144 120 DIM X% S%-1 130 DIM Y% S%-1 140 DIM D% 4095 150 L% = D% + 4096 160 FOR T% = 0 TO 1 170 OPT% = 8 + T% * 3 180 IF OPT% AND 1 THEN VDU 14 190 IF OPT% AND 1 THEN PRINT 200 P% = D% 210 [OPT OPT% 220 : 230 .Code% 240 STMFD R13!, {R8 - R11} 250 LDR R8, Block1% 260 LDR R9, Block2% 270 LDR R10, Size% 280 MOV R11, #0 290 .Loop% 300 LDRB R0, [R8, R11] 310 STRB R0, [R9, R11] 320 ADD R11, R11, #1 330 CMPS R11, R10 340 BNE Loop% 350 .Exit% 360 LDMFD R13!, {R8 - R11} 370 MOV R15, R14 380 : 390 .Block1% 400 EQUD 0 410 : 420 .Block2% 430 EQUD 0 440 : 450 .Size% 460 EQUD 0 470 : 480 .End% 490 : 500 ] 510 IF OPT% AND 1 THEN PRINT 520 IF OPT% AND 1 THEN VDU 15 530 NEXT T% 540 !Block1% = X% 550 !Block2% = Y% 560 !Size% = S% 570 PRINT 580 PRINT "Copying..." 590 T% = TIME 600 CALL Code% 610 PRINT "Done. That took "; STR$(TIME - T%); " centiseconds." 620 PRINT 630 ON 640 END 650 :: 660 VDU 15 670 PRINT REPORT$; " at line "; ERL 680 ON 690 END