I've had trouble setting up the gcc cross compiler and even with the help of RobC have come to a bit of a dead end there. This prompted me to consider learning ARM assembler. I've got BAS135 on my hard disk and it seems to work ok. I found the following example in The 'ARM Assembly Language Programming' book by Peter Cockerell .
It works fine with the ARM2 core but seems to get stuck in a loop on the native ARM.
I have literally just started to look at ARM assembly so don't know but I assume the problem is the OS doesn't know what to do with 'SWI 0' and crashes.
Are there any documents on how to get started with this anywhere?
Am I going to have to implement all the SWI calls myself to use the native ARM?
Are there better tools, preferably on the beeb, that I can use?
Am I better off sticking with the ARM2 instead of the native ARM or abandoning the ARM altogether and using the fast 6502?
Code: Select all
10 DIM org 40 20 P% = org 30 [ ;A simple ARM program 40 MOV R0,#32 50.LOOP 60 SWI 0 70 ADD R0,R0,#1 80 CMP R0,#126 90 BNE LOOP 100 MOV R15,R14 110 ] RUN 00008FA0 ;A simple ARM program 00008FA0 E3A00020 MOV R0,#32 00008FA4 .LOOP 00008FA4 EF000000 SWI 0 00008FA8 E2800001 ADD R0,R0,#1 00008FAC E350007E CMP R0,#126 00008FB0 1AFFFFFB BNE LOOP 00008FB4 E1A0F00E MOV R15,R14