首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在汇编语言中编写if-else?

如何在汇编语言中编写if-else?
EN

Stack Overflow用户
提问于 2016-11-15 12:26:43
回答 2查看 69.7K关注 0票数 7

如何用汇编语言编写下面的if else语句?

C代码:

代码语言:javascript
复制
If ( input < WaterLevel)
{
     MC = 1;
}
else if ( input == WaterLevel)
{
     MC = 0;
}

伪码

代码语言:javascript
复制
If input < Water Level
Send  1 to microcontroller
Turn Motor On


Else if input == Water Level
Send 0 to microcontroller
Turn Motor Off

组件不完整:(MC-微控制器)

代码语言:javascript
复制
CMP Input, WaterLevel
MOV word[MC], 1

MOV word[MC], 2
EN

回答 2

Stack Overflow用户

发布于 2016-11-15 12:34:21

如果我们想用C语言做一些事情,比如:

代码语言:javascript
复制
if (ax < bx)
{
    X = -1;
}
else
{
    X = 1;
}

它在Assembly中的外观如下所示:

代码语言:javascript
复制
 cmp    ax, bx      
 jl     Less  
 mov    word [X], 1    
 jmp    Both            
Less: 
 mov    word [X], -1  
Both:
票数 13
EN

Stack Overflow用户

发布于 2016-11-15 12:31:03

由于不知道您正在使用的特定汇编语言,我将用伪代码编写以下代码:

代码语言:javascript
复制
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:
...

对于前三个命令:大多数汇编语言都有条件分支命令来测试0或符号位的值,并根据位是否被设置来跳转。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40602029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档