gcc 内嵌汇编的学习笔记 II

                  gcc 内嵌汇编的学习笔记 II
                                    --一个简单的条件判断
  作者:ShellEx. 
  ShellEx.cn && blog.csdn.net/shellex 版权所有
 真不好意思,用高级语言的想法类比汇编。毕竟是学高级语言出来
的其实就是对指令的学习了。结合汇编出来的代码,条件判断使用了cmp
指令。cmp的结果放在某个地方...(-_-b),貌似是虾米标志位...
具体哪个地方还得参考下书本。

下面是我写的内嵌汇编代码
#include <stdio.h>
int main() {
 int in1 = 0, in2 = 0, out =0;
 printf("PLZ input 2 Number like this: (x1 , x2) /n");
 scanf("%d , %d", &in1, &in2);
 asm volatile(
  "nop /n/t"
  "cmp  %2, %1/n/t"        //比较in1 和 in2
  "jne  FAIL/n/t"                //如果不等,跳到FAIL
  "movl  $1, %0/n/t"        //给out赋值为1
  "jmp  END_LABEL/n" //跳到结尾
  "FAIL: /n/t"    //FAIL标号
  "movl  $0, %0/n"           //给out赋值为0
  "END_LABEL:/n/t"        //结尾标号
  :"+r"(out)
  :"r"(in1),"r"(in2)
  :"ebx"     //用到ebx,所以告诉gcc表再用它
 );
 printf("out = %d",out);
 return 0;
}
///

shellex.cn && blog.csdn.net/shellex 版权所有 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值