print int como ascii en el ensamblado 64 bit at & t float number error
He escrito un programa en solitario solo para descubrir cómo hacer esto, antes agregué 48 al número para imprimir, pero ahora cuando obtengo números mayores que 9 ya no es suficiente.
Entonces, el siguiente programa debe poner 23 en mi temp, compara 23 a 10 si es menor que 10 que puedo imprimir, de lo contrario, guarde la temperatura en rax, ponga 10 en r11 y divida 23 entre 10. Ponga el resultado de rax en temp y revisar otra vez. Todavía necesito agregar una forma de recuperar los números anteriores, pero primero lo primero. ¿He entendido mal lo que sucede, el resultado que obtengo es un error de número flotante
#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