我试图理解 68000 程序集中的“S[cc]”指令集。
指令的格式是这样的:
S[cc] reg
[cc]
是条件代码(例如,SEQ
表示“如果等于则设置”)。如果 指定的条件[cc]
为真,则寄存器设置为所有1
s。否则,寄存器设置为所有0
s。
有一件事我不明白:S[cc]
操作在哪里检查条件是否为真?它检查标志吗?
如果是这样,那么如果我想注册D0
来保存表达式的结果D0 = D1
,这就是我需要做的:
CMP D0,D1 ; this sets the flags according to the result
SEQ D0 ; sets D0 to true if the flags indicate the condition is true. else, sets it to false.
这个对吗?还是我没有正确理解这个操作?