计算机系统之汇编---IA32处理器数据格式及数据操作
计算机系统之汇编---IA32处理器数据格式及数据操作
IA32数据格式:
Intel用术语“字”表示16位数据类型,因此。称32位数为“双字”,称64位数为“四字”。
Char*这里指的是全部指针类型。注意:c语言新添加的long long是八字节,可是硬件IA32不支持这个类型。
寄存器(8个32位的寄存器,均以%e开头)
%eax、%ecx、%edx:调用者保存(数据)寄存器。当过程p调用q。q能够覆盖这些寄存器。可是不会改变p中的数据。
%ebx、%esi、%edi:被调用者保存(数据)寄存器。当过场p调用q。q必须在覆盖这些寄存器数据前。要把它们保存到栈,
并在调用结束返回时恢复它们,这些数据p或其它过程须要它们。
%esp、%ebp:有关栈指针的
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2VzaGFjb29raWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
大多数指令有一个或多个操作数。指示出运行一个操作中要引用的源数据值,以及放置结果的目标位置。
源数据值能够以常数形式给出。或从寄存器或存储器中读出,结果能够保存放在寄存器或存储器中。
操作数分三种:
>>>1. 马上数即常数,用$开头。后面加一个整数表示;
>>>2. 寄存器数,对字操作而言表示某个寄存器中的保存的值;对字节操作而言是8个单字节寄存器中的 一个,比方:%al(eax寄存器中的低8位)
>>>3. 存储器引用,依据计算出的有效地址来訪问存储器的某个位置。包含四部分:马上数偏移(lmm)、基址寄存器 Eb、变址寄存器 Ei、比例因子s。 有效地址被计算为 Imm + R[Eb] + R[Ei] * s。
(R[Eb]表示寄存器Eb的值,R[Ei]表示寄存器Ei的值。s的值仅仅能是1,2,4或者8) 下表中Mb[addr] 表示对存储器在存储器中从地址addr開始的b个字节值的引用。
有关操作数格式表
比如:地址0x100的值是56,那么操作数0x100的值就是56。属于绝对寻址;$0x100的值0x100,是马上数寻址;
计算机系统之汇编---IA32处理器数据格式及数据操作的更多相关文章
- Intel汇编语言程序设计学习-第二章 IA-32处理器体系结构-下
2.2 IA-32处理器体系结构 如前所述,IA-32是指始于Intel386直到当前最新的奔腾4的系列的处理器(额...这本书是什么时候写的啊,表示现在应该是I7啊),在IA-32的发展过程中,I ...
- 为什么在保护模式下IA-32处理器最高可访问4GB的内存
在保护模式下,IA-32处理器可访问最高达4GB的内存,这是32位无符号二进制整数地址能够寻址的上限. 今天看汇编的时候发现书里带过一句,不太明白为什么内存上限是4GB,就搜了一下,总结了一下答案. ...
- [svc]二三层数据格式&&三层数据如何匹配路由
网络知识拾遗 tcpip的4&7层模型 PDU数据包在不同层的不同称呼 物理层(一层)PDU指数据位(Bit). 数据链路层(二层)PDU指数据帧(Frame). 网络层(三层)PDU指数据包 ...
- layui中使用自定义数据格式对数据表格进行渲染
1.引入 <link rel="stylesheet" href="../layui/css/layui.css"> <script src= ...
- SQL不同服务器数据库之间的数据操作整理(完整版)
---------------------------------------------------------------------------------- -- Author : htl25 ...
- (转)JSON数据格式和js操作json总结
原:http://niutuku.com/tech/javaScript/273643.shtml JSON数据格式和js操作json总结 来源:niutuku.com | vince ...
- SQLServer服务器数据库之间的数据操作(完整版)
分类: 数据库开发技术 ---------------------------------------------------------------------------------- -- Au ...
- 转载-SQL不同服务器数据库之间的数据操作整理(完整版) .
---------------------------------------------------------------------------------- -- Author : htl25 ...
- solr数据操作
本文介绍solr的基本数据操作,基于solr 8.2.solr支持多种数据格式,包括XML,JSON,CSV等,并提供多种脚本和工具来操作数据.本文讲解curl请求和JSON数据格式的处理方式. 本文 ...
随机推荐
- ES6重点知识点总结(2)
ES6重点知识点总结(2) call和apply的作用是什么?区别是什么? call和apply的功能基本相同,都是实现继承或者转换对象指针的作用: 唯一不通的是前者参数是罗列出来的,后者是存到数组中 ...
- 【【henuacm2016级暑期训练】动态规划专题 O】Robot Rapping Results Report
[链接] 我是链接,点我呀:) [题意] 让你确定一个最小的k 使得1..k这些比赛的结果能够推导出所有人之间的实力大小 [题解] 如果关系越多.那么就越能确定所有人之间的大小关系. (多一点也能唯一 ...
- Git学习总结(8)——Git和SVN之间的基本区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...
- FastDFS架构
1.什么是 FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用Fas ...
- 随心所欲生成git仓库随意一段commit的专用patch应用小实践
随心所欲生成git仓库随意一段commit的专用patch应用小实践 我们在开发中.时不时的可能要去做一个patch给你的下线,或者你的合作者.在git管理中,我们知道有git format-pat ...
- Coding上部署Ghost博客
Ghost构建于Node.js平台之上.支持0.10.*版本号的Node.js. 在你的本地计算机上执行Ghost事实上非常easy,前提是你已经安装了Node.js. 什么是Node.js? 略过 ...
- Android px,dp,pt,sp的差别
px(像素点) mm 等Android不建议用 为什么电脑web开发能够用而Android不建议用? 由于px代表像素点个数,一般电脑分辨率都同样 不管14寸还是15寸都是1366*768而手机分辨率 ...
- 四种GCC内置位运算函数
int __builtin_ffs (unsigned int x) 返回x的最后一位1的是从后向前第几位,比方7368(1110011001000)返回4. int __builtin_clz (u ...
- 1.RunLoop是什么?
1.Run loops是线程相关的的基础框架的一部分. 一个run loop就是一个事件处理的循环.用来不停的调度工作以及处理输入事件.使用run loop的目的是让你的线程在有工作的时候忙于工作.而 ...
- 显示解析svg
g公司代码显示svg: SVGParserRenderer drawable = new SVGParserRenderer(context, String svgContent); String s ...