如何使用程序集获取整数输入

Ren*_*ato 2 assembly

Iam学习汇编,我发现了如何获得用户输入

mov al, 3    ; system call number (sys_read)
xor bl, bl   ; file descriptor 0 (stdin)
mov rcx, buf ; buffer to store input
mov dl, 4    ; Lenght of buffer
int 0x80     ; interrupt
Run Code Online (Sandbox Code Playgroud)

但实际上这是一个正确的字符串?我的问题是我如何得到一个整数值...所以,如果我输入100我怎么得到值64h所以我可以添加,减去等而不是一个字符串,每个字节是数字的ascii表示,然后如何做我输出一个像64h的值到屏幕,它显示100?我不需要代码只是一些指导

谢谢!

Ker*_* SB 7

获得ASCII表示后,您可以使用数字按顺序编码的事实逐位构建结果.在伪代码中,从左到右阅读(即从最高位开始):

  • 初始化result为0
  • 对于每个数字c,result *= 10; result += (c - '0');
  • result 保存字符串的数值