首先,RAX是64位的寄存器,EAX是32位的寄存器,他们的关系如下(别处copy来的):

|63..32|31..16|15-8|7-0|

|AH. |AL.|

|AX......|

|EAX............|

|RAX...................|

或者用16进制这么看

0x1122334455667788

================ RAX (64 bits)

======== EAX (32 bits)

==== AX (16 bits)

== AH ( 8 bits)

== AL ( 8 bits)

然而,C语言中int是32bit,当你的数是正数的时候,RAX高位都是0,无影响,比如数字2000,即使是64位寄存器,存的也是2000

EAX 0000 0000 0000 0000 0000 0111 1101 0000

RAX 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0111 1101 0000

但是,如果是负数,是采用补码的形式存储,那么首个二进制位必须是1,比如数字-5

首先看一下是怎么存储的

1000 0000 0000 0000 0000 0000 0000 0101

^ ^^^

符号位为1 十进制5

符号位以外的取反

1111 1111 1111 1111 1111 1111 1111 1010

^

符号位不变

1111 1111 1111 1111 1111 1111 1111 1011

^

然后加1

所以最终-5在EAX中是,但是如果你用RAX的话,高位都是0,那是正数啊!

EAX 1111 1111 1111 1111 1111 1111 1111 1011

RAX 0000 0000 0000 0000 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1011

如果用了RAX,这个是就不是-5而是4294967291了~

不知道我算的对不对... 总之你用int的话,肯定是用EAX的啦。

cmp指令c语言,汇编cmp指令相关推荐

  1. 汇编语言的C状态寄存器,汇编指令-状态寄存器、cmp、test、jz等指令详细说明

    一.状态寄存器 首先看看:状态寄存器(即标志寄存器) PSW(Program Status Word)程序状态字(即标志)寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成, 如下所示 ...

  2. cmp 字节 汇编_汇编 常用指令 cmp jmp call ret

    cmp 指令 功能相当于减法指令 只是不保存结果 不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果 CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 ...

  3. 【Android 逆向】x86 汇编 ( cmp 比较指令 | test 比较指令 )

    文章目录 一.cmp 比较指令 二.test 比较指令 总结 一.cmp 比较指令 cmp 指令通过 减法运算 , 影响标志位 CPAZO ; cmp eax, ebx 上述指令执行时 , eax - ...

  4. dec-c 怎么改语言,汇编中的dec指令是什么指令

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:汇编中的dec指令是什么指令?回答:相当于c语言中的自减.如:dec R0就是说R0=R0-1.如果R0=5,那么运算过后,R0=4 ...

  5. 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42408137  转载请著名出处 本博客相关文档下载 :  -- A ...

  6. 汇编语言中xor指令_汇编各类指令用法及含义分析 - 全文

    什么是汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指 ...

  7. neon 指令 c语言,NEON初步使用

    前言 指令集并行是CPU的优化加速的一个方向,在ARM芯片主要是利用NEON指令集实现指令集并行 NEON简介 NEON就是高级SIMD,单指令多数据,适用于图像.音频等数据处理.ARMv6就叫SIM ...

  8. swi 指令能用在C语言吗,SWI指令---软件中断实例详解

    SWI指令---软件中断实例详解 转载于:http://blog.csdn.net/panqihe/article/details/1615574 SWI,即software interrupt软件中 ...

  9. 80×86汇编常用指令

    80×86汇编常用指令 一.数据传送指令 1. 通用数据传送指令 简写 英文全称 执行操作 MOV move 传送 MOVSX move with sign-extend 带符号扩展传送 MOVZX ...

最新文章

  1. 手动部署OpenStack环境(五:新建网络及部署虚拟机)
  2. python好难找工作_Python 太难找工作了
  3. 老广: KVM虚拟化学习笔记
  4. UVA10047独轮车
  5. oracle 导数据报exp00058_一文看懂oracle12c数据库跨小版本迁移
  6. linux多系统更改启动顺序
  7. android 8.0手机开服务端,Android 8.0 + Service开启方式兼容处理
  8. 动画狗奔跑gif图片_常用的GIF制作工具,自媒体人常用,你还不会做表情包
  9. python如何安装scrapy_Python爬虫之Scrapy的安装
  10. 三年Java开发,你连基础的JVM运行时内存布局都忘了
  11. ETL异构数据源Datax_使用数据分片提升同步速度_05
  12. 在CentOS5.4上安装Git
  13. C语言课程设计学生籍贯信息,C语言课程设计 学生籍贯信息记录簿设计.doc
  14. web-java-Java Concurrency Utilities
  15. MWPhotoBrowser 属性详解 和代理解释
  16. Win-MASM64汇编语言-visual studio下环境搭建
  17. 计算机密码发明者去世!曾获图灵奖、并启蒙 Unix 诞生!
  18. vue 中样式的绑定
  19. 当你在追梦的路上抱怨生活太累快要放弃的时候,不妨看看我的这篇文章
  20. numpy的argsort和sum和tile函数

热门文章

  1. iview table组件里的 固定列 表格不自适应问题
  2. centos7-本地yum源的创建创建
  3. 为什么道理懂那么多,你依然是个弱鸡
  4. 小型挖掘机液压系统设计(论文 CAD零件图,装配图 液压原理图)
  5. C51 单片机简单实例
  6. 20190427首尔跟团5日游
  7. 哪位大大帮看下spring boot server.port不起作用
  8. “韦神”找不到女朋友?北大女生公开追求:学神魅力难以抗拒!引来网友嘲讽......
  9. linux内核协议栈 netfilter 之连接跟踪子系统的L3 L4协议栈模块初始化与自定义注册
  10. 【高等数学基础进阶】微分中值定理及导数应用