【发布时间】:2014-07-30 10:56:09
【问题描述】:
我正在尝试理解 68000 程序集中的“S[cc]”指令集。
指令的格式是这样的:
S[cc] reg
[cc] 是条件代码(例如,SEQ 表示“如果等于则设置”)。如果[cc] 指定的条件为真,则寄存器设置为所有1s。否则,寄存器设置为所有0s。
有一件事我不明白: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.
这是正确的吗?还是我没有正确理解这个操作?
【问题讨论】: