注意:本文经过原作者授权转译,转载请标明出处
条件允许建议阅读原文,网上非中文资料还是较多,当作锻炼英文岂不美哉
翻译若有不足之处欢迎批评指正
"美德值千金" ---- 柏拉图 (Plato, 427-347 BC),古希腊伟大的哲学家
EXG (交换) - 交换两个寄存器
这条指令能把两个数据寄存器或是地址寄存器里面的长字
内容互相交换
exg.l d0, d1
d0
的内容是00000000
,d1
的内容是11111111
,指令执行后,d0
的内容会变成11111111
,而d1
的内容会变成00000000
d0
的内容是01234567
,d1
的内容是FFEEDDCC
,指令执行后,d0
的内容会变成FFEEDDCC
,而d1
的内容会变成01234567
d0
的内容是ABCB9989
,d1
的内容是00000100
,指令执行后,d0
的内容会变成00000100
,而d1
的内容会变成ABCB9989
嗯,差不多就是这样,它和swap
指令一样简单。当然你可以把它用在地址寄存器上:
exg.l a0, a1
exg.l d4, a6
exg.l a2, d2
这条指令只能用来交换寄存器的长字
内容,字
或是字节
都是不支持的 (吃惊,问题来了,既然没有 exg.w 或是 exg.b 的写法,exg.l 为什么不干脆只写作 exg 呢?)
目录
上一篇:[转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 贰 - 基本指令 | 3. SWAP 指令
下一篇:[转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 贰 - 基本指令 | 5. CLR 指令
[转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 贰 - 基本指令 | 4. EXG 指令
原文:https://www.cnblogs.com/strawhatboy/p/12310727.html