逻辑表达式汇编解析
来源:互联网 发布:sql学生信息管理系统 编辑:程序博客网 时间:2024/05/20 13:19
1:or || 表达式
如果第一个符合条件则直接执行不在验证后面的条件
int main(){ int a;a=20;int b=30;if(a<20 || b>30){b=90;}}//************************//.file"b01.cpp".text.globlmain.typemain, @functionmain:.LFB0:.cfi_startprocpushq%rbp.cfi_def_cfa_offset 16.cfi_offset 6, -16movq%rsp, %rbp.cfi_def_cfa_register 6movl$20, -4(%rbp) //a=20movl$30, -8(%rbp) //b=30cmpl$19, -4(%rbp) //a-19jle.L2 //a<=19 jmp .L2 cmpl$30, -8(%rbp) //b-30jle.L3 //b<=30 jmp .L3 otherwhile jmp .L2 .L2:movl$90, -8(%rbp) //next exe .L3.L3:movl$0, %eaxpopq%rbp.cfi_def_cfa 7, 8ret.cfi_endproc.LFE0:.sizemain, .-main.ident"GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-11)".section.note.GNU-stack,"",@progbits
2:&&表达式
有一个条件不符立即跳出,不在检查下一个条件
int main(){ int a;a=20;int b=30;if(a<20 && b>30){b=90;}}//************************.file"b01.cpp".text.globlmain.typemain, @functionmain:.LFB0:.cfi_startprocpushq%rbp.cfi_def_cfa_offset 16.cfi_offset 6, -16movq%rsp, %rbp.cfi_def_cfa_register 6movl$20, -4(%rbp) //a=20movl$30, -8(%rbp) //b=30cmpl$19, -4(%rbp) //a-19 jg.L2 //a>19 jmp .L2cmpl$30, -8(%rbp) //b-30jle.L2 //b<=30 jmp .L2movl$90, -8(%rbp).L2:movl$0, %eaxpopq%rbp.cfi_def_cfa 7, 8ret.cfi_endproc.LFE0:.sizemain, .-main.ident"GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-11)".section.note.GNU-stack,"",@progbits3 not !运算符
前面只要有一个为FALSE则直接执行,不检查后面的条件
int main(){ int a;a=20;int b=30;if(!(a<20 && b>30)){b=90;}}//*************************.file"b01.cpp".text.globlmain.typemain, @functionmain:.LFB0:.cfi_startprocpushq%rbp.cfi_def_cfa_offset 16.cfi_offset 6, -16movq%rsp, %rbp.cfi_def_cfa_register 6movl$20, -4(%rbp) //a=20movl$30, -8(%rbp) //b=30cmpl$19, -4(%rbp) //a-30jg.L2 //a>19 jmp .L2cmpl$30, -8(%rbp) //b-30jg.L3 //b-30>0 jmp .L3.L2:movl$90, -8(%rbp).L3:movl$0, %eaxpopq%rbp.cfi_def_cfa 7, 8ret.cfi_endproc.LFE0:.sizemain, .-main.ident"GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-11)".section.note.GNU-stack,"",@progbits
4:?:三元表达式
int main(){ int a;a=20;int b=30;int c=a>b?a:b;}//**************************//.file"b01.cpp".text.globlmain.typemain, @functionmain:.LFB0:.cfi_startprocpushq%rbp.cfi_def_cfa_offset 16.cfi_offset 6, -16movq%rsp, %rbp.cfi_def_cfa_register 6movl$20, -4(%rbp) //a=20movl$30, -8(%rbp) //b=30movl-4(%rbp), %eax //eax=20cmpl-8(%rbp), %eax //a-bjle.L2 //a<=b jmp .L2movl-4(%rbp), %eax //eax=20jmp.L3.L2:movl-8(%rbp), %eax //eax=30.L3:movl%eax, -12(%rbp)//b=eaxmovl$0, %eaxpopq%rbp.cfi_def_cfa 7, 8ret.cfi_endproc.LFE0:.sizemain, .-main.ident"GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-11)".section.note.GNU-stack,"",@progbits
阅读全文
0 0
- 逻辑表达式汇编解析
- 逻辑表达式解析器
- java解析逻辑表达式
- 逻辑表达式
- 逻辑表达式
- 逻辑表达式
- 逻辑表达式
- 逻辑表达式
- java中解析逻辑表达式的两种方法比较
- 8086汇编 逻辑指令
- 汇编之逻辑移位
- 汇编解析.
- [汇编]8086指令系统---逻辑指令
- 算数表达式逻辑表达式求值
- 逻辑表达式与逗号表达式
- shell 比较逻辑表达式
- SHELL比较逻辑表达式
- 逻辑表达式表示成书
- 剑指offer 15---查找单链表的倒数第k个节点,要求只能遍历一次链表
- ElasticSearch中Java Scroll API介绍
- 选择排序实现方法
- 百度云虚拟主机BCH伪静态加载—url重写
- RUNSAC(Random Sample Consensus)随机抽样检验一致性
- 逻辑表达式汇编解析
- Linux vi/vim
- Jenkins 常用插件
- 删除表所有数据的sql语句,和效率快慢
- 数据库连接池原理
- web中将DataTable作为数据源导出Excel (带格式)
- 安装Zookeeper
- linux常用命令
- 八大排序算法-及运行时间测试