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
但实际上这是一个正确的字符串? 我的问题是如何获得整数值... 所以如果我输入100我怎么得到值64h所以我可以添加,减去等 而不是一个字符串,每个字节是数字的ascii表示 然后我如何输出像64h这样的值到屏幕,这样它显示100? 我不需要代码只是一些指导
谢谢!
答案 0 :(得分:7)
一旦有了ASCII表示,就可以使用数字按顺序编码这一事实逐位建立结果。在伪代码中,从左到右阅读(即从最高位开始):
result
初始化为0 c
,result *= 10; result += (c - '0');
result
包含字符串答案 1 :(得分:1)
查看二进制编码的小数BCD。它可以更有效地做到这一点