вывести int as asii в 64-битной сборке при ошибке & float number
Я написал сольную программу, чтобы выяснить, как это сделать, раньше я добавил 48 к числу для печати, но теперь, когда я получаю числа больше 9, этого уже не достаточно.
Таким образом, следующая программа должна поместить 23 в my temp, сравнить 23 с 10, если она меньше 10, я могу напечатать, иначе убрать temp в rax, положить 10 в r11 и разделить 23 на 10. Положим результат rax в temp и Проверьте еще раз. Мне все еще нужно добавить способ получения более ранних чисел, но обо всем по порядку. Я неправильно понял, что происходит, в результате я получаю ошибку с плавающей точкой
#include <stdio.h> #Inkludera standard I/O
.data #Specifiera data
temp: .quad 0
temp2: .quad 0
.text
.global main
main:
movq $23, temp
jmp check
check:
cmpq $10, $temp
jl under10
movq $temp, %rax
movq $10, %r11
divq %r11
movq %rax,temp
jmp check
under10:
addq $48, temp
movq $temp,%rdi
call puts