首页 > 其他分享 >10.12条件分支的实现方法

10.12条件分支的实现方法

时间:2023-02-14 21:47:45浏览次数:47  
标签:10 源代码 指令 跳转 清单 10.12 方法 分支

      条件分支的实现方法同循环处理的实现方法类似,使用的也是cmp指令和跳转指令。   

      条件分支就是利用这些指令来实现的。代码清单10-11是,根据变量a的值来调用不同函数(MySub3函数)的从语言源代码。结果如代码清单10-12所示。

 

 

 

      代码清单 10-12 中用到了三种跳转指令,分别是比较结果小时跳转的 jle(jump on less or equal)、大时跳转的jge(jump on greater or equal)、不管结果怎样都无条件跳转的 jmp。在这些跳转指令之前还有用来比较的 cmp 指令,比较结果被保存在了标志寄存器中。这里我们添加了注释,大家不妨顺着程序的流程看一下。虽然同C语言源代码的处理流程不完全相同,不过大家应该知道处理结果是相同的。此外,还有一点需要注意的是,eax 寄存器表示的是变量a。

标签:10,源代码,指令,跳转,清单,10.12,方法,分支
From: https://www.cnblogs.com/24koi/p/17120967.html

相关文章

  • python File(方法)
    open()方法:Pythonopen()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSErroropen(file,mode='r',buffer......
  • 10.11循环处理的实现方法
       C语言程序的流程控制,代码清单10-8。      C语言的for语句是通过括号中指定循环计数器的初始值(i=0)、循环的继续条件(i<10)、循环计数器的更新(i++)这3种......
  • sql语气查询去重的两种方法、sql的模糊查询、sql中的日期函数、mysql字符串截取之subs
    sql语气查询去重的两种方法以下两种都可以进行去重查询,区别是:用distinct去重,只能查询到去重的属性那一列,无法查询其他字段用groupby分组查询,可以根据需求查询对应的其......
  • 学习打卡05-方法以及方法重载
    1,方法是什么方法:就是一段具有独立功能的代码块,不调用就不执行2,使用方法有什么好处示例:有两个数组,如果都想遍历其中的每个元素,如果不使用方法就需要两个循环输出不使......
  • DCDC电源测试以及纹波测试方法
    一、测试项目        1)输入电压范围。在轻载和后级电路满负荷的情况下,输入电压无骤降或拉低,计入波动之后,不低于最低输入电压。        2)输出电压稳定性。......
  • 热点面试题: Array中有哪些非破坏性方法?
    前言极度投入,深度沉浸,边界清晰前端小菜鸡一枚,分享的文章纯属个人见解,若有不正确或可待讨论点可随意评论,与各位同学一起学习~欢迎关注​​『前端进阶圈』​​公众号,一起探......
  • 五分钟重温C# 委托,匿名方法,Lambda,泛型委托,表达式树
    五分钟重温C#委托,匿名方法,Lambda,泛型委托,表达式树翔星有10年+工作经验,高级软件工程师,可以解决各种问题​关注 1人赞同了该文章第一分钟:委托有......
  • Java方法
    何为方法:1.方法是语句的集合,它们在一起执行某个功能。2.方法是解决一类问题的有序步骤组合。3.方法包含于类或对象中。4.方法在程序中被创建,在其他地方被引用。方法......
  • 2023-2-14 微信小程序 <view>组件字体居中 方法
    当我想要编辑一行文本时,第一个想到的方法是:直接在view组件里面打上想要的字,再设置其text-align属性为centertest.wxml<viewclass="test">测试</view>test.wxss.test......
  • Markdown的基本使用方法
    标题一级标题:#+空格+标题名称+回车二级标题有两个#三个标题有三个#.......字体加粗:在需要加粗字的前后端各添加两个*+回车加粗斜体:在需要斜体字的前后端各添加一个......