【发布时间】:2023-03-10 08:42:01
【问题描述】:
我正在学习 Armv8 的基础知识,并且正在回答一个要求将每条指令分类为特定类型的作业问题。
数据处理指令包括:
AND, EOR, SUB, RSB, ADD, ADC, SBC, RSC, TST, TEQ, CMP, CMN, ORR, MOV, BIC & MVN.
分支进程:
B, BL
传输过程:
STR, STRB, LDR & LDRB
但是,关于 LSL、LSR、ASR 和 ROR 指令属于哪个类别,我无法在 ARMv8 参考手册中找到任何明确的答案。
我假设它不是乘法类别,但我想如果它是有意义的,因为移位与乘以 2 的幂相同?
【问题讨论】:
-
您可以按照自己的意愿对指令进行分类,对于“数据处理指令”的构成或将其与其他类型区分开来,并没有真正的正式定义。 ARMv8 架构参考手册确实在数据处理下列出了它们。
-
这有点像那些愚蠢的辩论问题,询问炸玉米饼是否属于“三明治”类别。
-
如果您查看说明,我想您会发现 LSL、LSR 等是 MOV 指令,它们被记录为数据处理指令。
-
是的,这是一个愚蠢的问题,但与此同时,ARM 一直致力于将指令分类为类型。
-
在我正在查看的文档中,它确实在数据处理下清楚地显示了 ASR、LSL 等。 (是否编码为mov)
标签: arm instruction-set