assembly - 汇编 movsbq 指令
问题描述
movz
我理解和之间的区别movs
。
movz
用零填充空字节,同时movs
用符号位(零或一)填充它们。
但是,我遇到了以下示例
movabsq $0x0011223344556677, %rax
movb $0xAA, %dl
movb %dl, %al
movsbq %dl, %rax
在第 3 行之后,%rax = 00112233445566AA
. 直到这我才明白。但是我不明白为什么 %rax 在第 4 行之后等于。 FFFFFFFFFFFFFFAA
不应该是00000000000000AA
因为 %dl 是正数,所以空位填充为零吗?
解决方案
推荐阅读
- html - 在 Django 中创建轮播滑块的问题
- c# - 使用 System.Drawing.Graphics 进行地图投影
- python - Airflow DAG 脚本在日志中打印值
- javascript - 包含重复值的数组
- sql - 如何在 sql server 中使用 select * 和 group by 子查询
- ios - 每个模式添加不同版本的框架
- c++ - 试图使函数用 e 替换 a,用 i 替换 e,用 o 替换 i,用 o 替换 o,用字符串中的 a 替换 u
- html - HTML CSS 中的行
- c# - 关闭表单后如何更改标签
- laravel - 是否可以通过 Laravel 中的 ->ip() 限制访问者的提交形式