cmp指令c语言,汇编cmp指令
首先,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指令相关推荐
- 汇编语言的C状态寄存器,汇编指令-状态寄存器、cmp、test、jz等指令详细说明
一.状态寄存器 首先看看:状态寄存器(即标志寄存器) PSW(Program Status Word)程序状态字(即标志)寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成, 如下所示 ...
- cmp 字节 汇编_汇编 常用指令 cmp jmp call ret
cmp 指令 功能相当于减法指令 只是不保存结果 不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果 CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 ...
- 【Android 逆向】x86 汇编 ( cmp 比较指令 | test 比较指令 )
文章目录 一.cmp 比较指令 二.test 比较指令 总结 一.cmp 比较指令 cmp 指令通过 减法运算 , 影响标志位 CPAZO ; cmp eax, ebx 上述指令执行时 , eax - ...
- dec-c 怎么改语言,汇编中的dec指令是什么指令
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:汇编中的dec指令是什么指令?回答:相当于c语言中的自减.如:dec R0就是说R0=R0-1.如果R0=5,那么运算过后,R0=4 ...
- 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42408137 转载请著名出处 本博客相关文档下载 : -- A ...
- 汇编语言中xor指令_汇编各类指令用法及含义分析 - 全文
什么是汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指 ...
- neon 指令 c语言,NEON初步使用
前言 指令集并行是CPU的优化加速的一个方向,在ARM芯片主要是利用NEON指令集实现指令集并行 NEON简介 NEON就是高级SIMD,单指令多数据,适用于图像.音频等数据处理.ARMv6就叫SIM ...
- swi 指令能用在C语言吗,SWI指令---软件中断实例详解
SWI指令---软件中断实例详解 转载于:http://blog.csdn.net/panqihe/article/details/1615574 SWI,即software interrupt软件中 ...
- 80×86汇编常用指令
80×86汇编常用指令 一.数据传送指令 1. 通用数据传送指令 简写 英文全称 执行操作 MOV move 传送 MOVSX move with sign-extend 带符号扩展传送 MOVZX ...
最新文章
- 手动部署OpenStack环境(五:新建网络及部署虚拟机)
- python好难找工作_Python 太难找工作了
- 老广: KVM虚拟化学习笔记
- UVA10047独轮车
- oracle 导数据报exp00058_一文看懂oracle12c数据库跨小版本迁移
- linux多系统更改启动顺序
- android 8.0手机开服务端,Android 8.0 + Service开启方式兼容处理
- 动画狗奔跑gif图片_常用的GIF制作工具,自媒体人常用,你还不会做表情包
- python如何安装scrapy_Python爬虫之Scrapy的安装
- 三年Java开发,你连基础的JVM运行时内存布局都忘了
- ETL异构数据源Datax_使用数据分片提升同步速度_05
- 在CentOS5.4上安装Git
- C语言课程设计学生籍贯信息,C语言课程设计 学生籍贯信息记录簿设计.doc
- web-java-Java Concurrency Utilities
- MWPhotoBrowser 属性详解 和代理解释
- Win-MASM64汇编语言-visual studio下环境搭建
- 计算机密码发明者去世!曾获图灵奖、并启蒙 Unix 诞生!
- vue 中样式的绑定
- 当你在追梦的路上抱怨生活太累快要放弃的时候,不妨看看我的这篇文章
- numpy的argsort和sum和tile函数
热门文章
- iview table组件里的 固定列 表格不自适应问题
- centos7-本地yum源的创建创建
- 为什么道理懂那么多,你依然是个弱鸡
- 小型挖掘机液压系统设计(论文 CAD零件图,装配图 液压原理图)
- C51 单片机简单实例
- 20190427首尔跟团5日游
- 哪位大大帮看下spring boot server.port不起作用
- “韦神”找不到女朋友?北大女生公开追求:学神魅力难以抗拒!引来网友嘲讽......
- linux内核协议栈 netfilter 之连接跟踪子系统的L3 L4协议栈模块初始化与自定义注册
- 【高等数学基础进阶】微分中值定理及导数应用