アセンブリで次のコードを書くにはどうすればよいですか?書く方法アセンブリ内のステートメントのみ?
if(Input<WaterLevel)
{
MC = 1;
}
私はif elseステートメントの実行方法を知っていますが、elseステートメントがないifステートメントについてはどうでしょうか。
アセンブリで次のコードを書くにはどうすればよいですか?書く方法アセンブリ内のステートメントのみ?
if(Input<WaterLevel)
{
MC = 1;
}
私はif elseステートメントの実行方法を知っていますが、elseステートメントがないifステートメントについてはどうでしょうか。
条件がfalseの場合にのみ実行される条件ジャンプを使用します。 例(擬似コード):
...
CMP $Input, $WaterLevel ; compare variables
JGE Continue ; if $Input >= $WaterLevel, jump to "Continue"
MOV $MC, 1 ; set $MC value
Continue:
...
EDIT:ティロが指摘したように、あなたは条件ジャンプのためにあなたの状態の反対を使用する必要があります。
条件を逆にしなければならないことに注意してください。「真であればブロックを実行する」ではなく、「偽であれば逃げる」。 – Thilo
ありがとうございます。 –
cmpの後に何も置かないでください。その真のそれは内部行く場合、それはのように同じ反応するhttps://www.tutorialspoint.com/assembly_programming/assembly_conditions.htm
CMP DX, 00 ; Compare the DX value with zero
JE L7 ; If yes, then jump to label L7
. ; Continue as normal. No else.
.
L7: ...
から
それ以外の場合は、あなただけのただ他の言語のように、他の一部をオフのままに –
それを無視しますか?また、関係のない言語にはタグを付けないでください。また、さまざまなアセンブリ言語がありますが、1つの答えだけではありません。 –
あなたは条件をテストし、テストが失敗した場合にそのブロックにジャンプします – Tommylee2k