.text
.global _start
_start:
mov r0,#9
mov r1,#15
COMPARE:
cmp r0,r1
beq stop
bne Loop
Loop:
subhi r0,r1
subcc r1,r0
b COMPARE
stop:
b stop
.end
链接脚本
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
./Objects/gcd.o(.text)
*(.text)
}
. = ALIGN(4);
.rodata :
{ *(.rodata) }
. = ALIGN(4);
.data :
{ *(.data) }
. = ALIGN(4);
__bss_start = .;
.bss :
{ *(.bss) }
__bss_end__ = .;
}
2. 使用汇编指令循环实现1~100之间的和
.text
.global _start
_start:
mov r0,#0
ldr r1,=100
COMPARE:
cmp r1,#0
beq stop
bne Loop
Loop:
add r0,r1
sub r1,#1
b COMPARE
stop:
b stop
.end