Ern*_*ha 4 assembly if-statement
下面的if else语句用汇编语言怎么写?
代码:
If ( input < WaterLevel)
{
MC = 1;
}
else if ( input == WaterLevel)
{
MC = 0;
}
Run Code Online (Sandbox Code Playgroud)
伪代码
If input < Water Level
Send 1 to microcontroller
Turn Motor On
Else if input == Water Level
Send 0 to microcontroller
Turn Motor Off
Run Code Online (Sandbox Code Playgroud)
不完整的组装:(MC-微控制器)
CMP Input, WaterLevel
MOV word[MC], 1
MOV word[MC], 2
Run Code Online (Sandbox Code Playgroud)
Muh*_*din 10
如果我们想在 C 中做一些事情,比如:
if (ax < bx)
{
X = -1;
}
else
{
X = 1;
}
Run Code Online (Sandbox Code Playgroud)
它在Assembly中看起来像这样:
cmp ax, bx
jl Less
mov word [X], 1
jmp Both
Less:
mov word [X], -1
Both:
Run Code Online (Sandbox Code Playgroud)
不知道您正在使用的特定汇编语言,我将用伪代码写出:
compare input to waterlevel
if less, jump to A
if equal, jump to B
jump to C
A:
send 1 to microcontroller
turn motor on
jump to C
B:
send 0 to microcontroller
turn motor off
C:
...
Run Code Online (Sandbox Code Playgroud)
对于前三个命令:大多数汇编语言都有条件分支命令来测试零或符号位的值,并根据该位是否设置来跳转或不跳转。