如何解决汇编NASM如何从一次 4 位的信息中理解整个十六进制值
我是汇编(NASM)的新手。我有问题。据我所知,我每次迭代都取 4 位并编写它。这个程序如何以正确的方式编写?汇编是否按位顺序分析位置,然后写入正确的数字?我只是完全不明白,如果我们查看二进制表示的 4 位十六进制数,我们可以得到最大值为‘f’,但程序正确写入 0x153。
print_hex:
mov rax,rdi
mov rdi,1
mov rdx,1
mov cl,64
iterate:
push rax
sub rcx,4
shr rax,cl
and rax,0xf
lea rsi,[codes + rax]
mov rax,1
push rcx
syscall
pop rcx
pop rax
test rcx,rcx
jne iterate
ret
_start:
mov rdi,0x153
call print_hex
mov rax,60
xor rdi,rdi
syscall
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。