gpt4 book ai didi

assembly - 这些说明有什么作用

转载 作者:行者123 更新时间:2023-12-03 06:38:03 25 4
gpt4 key购买 nike

我正在开发 msp430 指令集的模拟器。 gnu 汇编器将允许您对如下指令进行编码:

fc0a: 12 10 00 02 rrc &0x0200       
fc0e: 22 11 rra #4
fc10: 23 52 add #4,#2

我的猜测是 rrc &0x0200 将从地址 0x0200 获取执行旋转然后将答案写回地址 0x0200,对吗?但是 rra #4 会做什么呢?我假设源是立即的 4 但操作后有目的地吗? add #4,#2 组装成您期望的内容(如 2b10,source = r2,ad = 1b0,dest = r3),但 binutils 反汇编程序不知道如何处理该指令。

这些指令有效吗?

最佳答案

尽管似乎没有任何关于此效果的明确的在线引用,但我倾向于同意OP的观点,即显示的两条指令(以及其他几个指令)可能无效,尽管它们符合数据表中定义的格式。

换句话说,并非组成指令字的各个部分的所有可能组合都是有效的。特别是许多使用立即寻址模式的单操作数指令,以及许多对目标具有立即寻址模式的双操作数指令在语义上可能不可行。

文档中对此效果只有一些提示,例如,在《用户指南》第 3.3.7 节(关于立即寻址模式)中,注释指出“仅对源操作数有效。 ”(顺便说一句,这适用于立即寻址模式的所有情况,而不仅仅是 R2 或 R3 常量生成技巧允许的简写情况。)

反汇编器不知道如何处理此类代码的事实也是另一个提示(尽管......有些反汇编器很容易被绊倒......)。

出于文档目的,我收集了以下一些有关 MSP430 的有用引用资料:

关于assembly - 这些说明有什么作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1429116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com