Я пытаюсь получить длину строки, переданной через командную строку в ARM - следующий код работает, но затем возвращает ошибку core dumped
:
.data
.balign 4
string_length: .asciz "String length is %d \n"
.text
.balign 4
.global main
main:
PUSH {r4-r8,lr}
MOV r4, r0
MOV r5, r1
MOV r6, #0
LDR r7, [r5, #4]
countSL:
LDRB r0, [r7], #1
CMP r0, #0
ADDNE r6, r6, #1
BNE countSL
LDR r0, address_of_string_length
MOV r1, r6
BL printf
address_of_string_length: .word string_length
Что я делаю не так?