Выход сборки ARM работает неправильно - PullRequest
0 голосов
/ 29 мая 2020

Это должно выводить содержимое каждой строки в сборке руки. Хотя строка 18 add r4, r5, r4, lsl #1 выводится неправильно, и я не уверен, почему.

    .data
    str1: .asciz "%d and %d are the results \n"
    n: .word word 1
    .text 
    .global main 
    main: stmfd sp!, {lr} 
    ldr r4,=n
    ldr r4, [r4]
    add r4,r4, #1
    mov r1, r4
    ldr r0, =str1
    bl printf 
    mov r5, r4
    mov r1, r4
    mov r2, r5
    ldr r0, =str1
    bl printf
    add r4, r5, r4, lsl #1
    mov r1, r4
    ldr r0, = str1
    bl printf
    ldmfd sp!, {lr}
    mov r0, #0
    mov PC, or
    .end 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...