We use rodata (for read-only data).
# movtest1.s
@ An example of moving data from memory to a register
.global _start
.section .rodata
value: .byte 42
.align 2
.text
_start:
ldr r1, =value
ldrb r0, [r1], #1 @ load the byte at address r1 to r0
@ r0 being the return value when we exit
mov r7, #1 @ set r7 to 1 - the syscall for exit
swi 0 @ then invoke the syscall from linux
We use a makefile to build the software.
bob@poland:~/www/examples$ make movtest1 /usr/bin/as -gstabs -o movtest1.o movtest1.s /usr/bin/ld -o movtest1 movtest1.o bob@poland:~/www/examples$ ./movtest1 bob@poland:~/www/examples$ echo $? 42 bob@poland:~/www/examples$
No comments:
Post a Comment