#assembly #gcc #arm
#сборка #gcc #arm
Вопрос:
.data
sformat: .string "%s"
save: .string "0"
alpha: .string "0"
.text
.globl st
st: stmfd sp!,{lr}
ldr r0,=sformat
ldr r1,=alpha
bl scanf
ldr r1,=alpha
ldr r1,[r1]
ldr r2,=save
str r1,[r2]
ldr r0,=sformat
ldr r1,=save
ldr r1,[r1]
bl printf
ldmfd sp!,{lr}
ввод: A
вывод: A
Я хочу ввести строку и вывести ее, теперь у меня ошибка.
Это показывает Segmentation fault
Я понятия не имею, как решить эту проблему.
Комментарии:
1. Конечно, последнее
ldr r1,[r1]
передbl printf
неверно, поскольку ваша строка формата содержит%s
. Кроме того, выполнение загрузок и сохранений размером с слово из / вsave
иalpha
кажется неправильным. Я не вижу, что вам вообще нужноsave
в этой программе.2. @Michael Спасибо. Я удаляю некоторый
save
код about, и он может работать.