assembly - 对 ARM32 处理器如何区分寄存器和立即指令感到困惑
问题描述
我正在查看 ARM32 处理器的各种指令,并且对处理器如何区分对寄存器进行操作的指令和对立即值进行操作的指令感到困惑。例如,在 ARM32 中,对于 MOV 指令,对于立即数和寄存器版本,对我来说,您似乎有可能在机器代码中拥有完全相同的指令。如果是这种情况,处理器如何“知道差异”?
解决方案
这两个是你困惑的吗?
xxxx0011101x0000xxxxxxxxxxxxxxxx mov immediate
xxxx0001101x0000xxxx00000000xxxx mov register
第 25 位不同。
请阅读 ARM 文档。
推荐阅读
- flutter - Flutter http get() 403状态码问题
- python - 定义一个函数以从数据库中为国家函数返回值
- spring-boot - 生成的 OpenAPI 文件中未列出对象查询参数
- scala - Scala Spark:如何从 Spark Dataframe 的列中引导样本?
- javascript - 如何在 next.js 的网站上使用 js 和 jquery 模式登录?
- reactjs - browserslist@4.14.7:引擎“节点”与此模块不兼容
- python - 使用幂集示例了解递归
- javascript - 如何在 JS 中实现类 IO 类型的 MonadFix 实例?
- javascript - 为什么前端的 http 客户端会遇到 CORS 问题,而后端的 http 客户端不会?
- python - 如果满足条件,如何用前一行替换熊猫列行