Reversing the bytes in a word: (i.e. changing endianness)
On comp.sys.acorn nbannon@tartarus.uwa.edu.au (Nick Bannon) gave a
small code fragment to print decimal numbers from ARM code - useful
for debugging, and olly@mantis.co.uk (Olly Betts) made a small bug
fix. The final version is included below:
.printbin ; R0=num
STMFD R13!,{R0-R2,R14}
SUB R13,R13,#36
MOV R1,R13
MOV R2,#36
SWI XOS_ConvertBinary4 ; Convert to 32 char string
;._loop ; Strip leading 0's
;LDRB R1,[R0],#1 ; Uncomment to execute
;CMP R1,#"0"
;BEQ _loop
;SBC R0,R0,#1 ; subtracts 1 if R1>='0', 2 if R1<'0'
SWI XOS_Write0
ADD R13,R13,#36
SWI XOS_NewLine
LDMFD R13!,{R0-R2,PC}^
Robin.Watts@prg.ox.ac.uk