【发布时间】:2017-09-20 15:25:12
【问题描述】:
这是作业,所以我宁愿被推向正确的方向,也不愿用勺子喂答案。
任务:为以下指令提供二进制和十六进制编码
SBC R0, R12, R6
根据教授的一些指示,我已经能够将其中的一些分解为我认为正确的二进制格式:
Cond 000 Op S Rn Rd 00000000 Rm
---- --- ---- - ---- ---- -------- ----
1110 000 0110 0 1100 0000 00000000 0110
这是我的问题:
1) S 标志何时是1 而不是0?如何仅根据给定的汇编代码判断标志应该是 1 还是 0?
2) 仅给出汇编代码,您如何确定是 I 型还是 R 型?
3) 为什么 3 位 000 和 8 位 00000000 字段不变?
编辑:处理器是 ARMv7
【问题讨论】:
-
这适用于哪种处理器?
-
应该是 ARM7,编辑问题以包含它
-
看看这个pdf的第10页:)
-
您是指 ARMv7(架构的最后一个 32 位版本)还是 ARM7(非常旧的 CPU)?我标记了 ARMv7,尽管这可能无关紧要,因为我猜所有 ARM CPU 都有 sub-with-carry。
标签: assembly arm armv7 machine-code