Я хочу взять число с консоли и отобразить его с шагом 1. Но результат не тот, который я хочу отобразить.Можете ли вы объяснить мне, что я сделал не так?(Я совсем не разбираюсь в сборке)
.data
number: .long 0
numberformat: .asciz "%ld"
assig: .asciz "text \n \n"
enternumber: .asciz "Enter the number: \n"
numberformat1: .asciz "The input number+1 = %d \n"
.text
.global main
main: # main
call print1
call print2
call inout
call exit
inout:
movq $0, %rax # clear rax
movq $numberformat, %rdi # load format string
movq $number, %rsi # set storage to address of number
call scanf
pop %rbp
movq $number, %rbx
add $1, %rbx
movq $0, %rax
movq %rbx, %rsi
movq $numberformat1, %rdi
call printf
# call printnewnumber
ret
print1:
movq $0, %rax
movq $assig, %rdi
call printf
ret
print2:
movq $0, %rax
movq $enternumber, %rdi
call printf
ret
printnewnumber:
movq $0, %rax
movq %rdx, %rsi
movq $numberformat1, %rdi
call printf
ret