相关疑难解决方法(0)

movsbl指令有什么作用?

我在网上搜索过,但是我找不到一个清楚的例子来理解这个指令的作用.所以,如果有人可以举一个这样的例子,那对我来说会非常有帮助.

x86 assembly

19
推荐指数
2
解决办法
5万
查看次数

需要帮助理解这个函数中的movzbl调用

所以我试着通过查看这里的程序集来编写一些C代码:

pushl   %ebp
movl    %esp, %ebp
movl    12(%ebp), %eax
addl    8(%ebp), %eax
movzbl  (%eax), %eax
movsbl  %al,%eax
popl    %ebp
ret
Run Code Online (Sandbox Code Playgroud)

我看到我有两个变量,它们被加在一起,然后当看到函数开始调用movzbl和movesbl时我迷路了.这里发生了什么?

c x86 assembly

4
推荐指数
1
解决办法
1万
查看次数

MOVZX缺少32位寄存器到64位寄存器

这是复制(转换)未签名寄存器的指令:http : //www.felixcloutier.com/x86/MOVZX.html

基本上,该指令具有8-> 16、8-> 32、8-> 64、16-> 32和16-> 64。

32-> 64转换在哪里?我需要为此使用签名版本吗?
如果是这样,如何将全64位用于无符号整数?

assembly x86-64 instruction-set

4
推荐指数
1
解决办法
1469
查看次数

如何从汇编中的地址加载单个字节

如何从地址加载单个字节?我以为会是这样的:

mov      rax, byte[rdi]
Run Code Online (Sandbox Code Playgroud)

x86 assembly nasm

1
推荐指数
1
解决办法
571
查看次数

标签 统计

assembly ×4

x86 ×3

c ×1

instruction-set ×1

nasm ×1

x86-64 ×1