计算机系统之汇编---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处理器数据格式及数据操作的更多相关文章

  1. Intel汇编语言程序设计学习-第二章 IA-32处理器体系结构-下

    2.2  IA-32处理器体系结构 如前所述,IA-32是指始于Intel386直到当前最新的奔腾4的系列的处理器(额...这本书是什么时候写的啊,表示现在应该是I7啊),在IA-32的发展过程中,I ...

  2. 为什么在保护模式下IA-32处理器最高可访问4GB的内存

    在保护模式下,IA-32处理器可访问最高达4GB的内存,这是32位无符号二进制整数地址能够寻址的上限.  今天看汇编的时候发现书里带过一句,不太明白为什么内存上限是4GB,就搜了一下,总结了一下答案. ...

  3. [svc]二三层数据格式&&三层数据如何匹配路由

    网络知识拾遗 tcpip的4&7层模型 PDU数据包在不同层的不同称呼 物理层(一层)PDU指数据位(Bit). 数据链路层(二层)PDU指数据帧(Frame). 网络层(三层)PDU指数据包 ...

  4. layui中使用自定义数据格式对数据表格进行渲染

    1.引入 <link rel="stylesheet" href="../layui/css/layui.css"> <script src= ...

  5. SQL不同服务器数据库之间的数据操作整理(完整版)

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  6. (转)JSON数据格式和js操作json总结

    原:http://niutuku.com/tech/javaScript/273643.shtml JSON数据格式和js操作json总结 来源:niutuku.com |         vince ...

  7. SQLServer服务器数据库之间的数据操作(完整版)

    分类: 数据库开发技术 ---------------------------------------------------------------------------------- -- Au ...

  8. 转载-SQL不同服务器数据库之间的数据操作整理(完整版) .

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  9. solr数据操作

    本文介绍solr的基本数据操作,基于solr 8.2.solr支持多种数据格式,包括XML,JSON,CSV等,并提供多种脚本和工具来操作数据.本文讲解curl请求和JSON数据格式的处理方式. 本文 ...

随机推荐

  1. SELECT使用子查询

    SELECT使用子查询   SELECT使用子查询,该子查询会执行多次,  次数是由记录数量决定.效率比较低,不推荐使用.  //查询部门编号,工资大于等于2000的人数,  //工资小于2000的人 ...

  2. WINSERVER-IIS-无法启动

    报错信息:无法启动计算机上的服务W3SVC 开始百度,多数教程是这样写的 修复错误 运行命令提示符 fsutil resource setautoreset true c:\ 打开运行输入 servi ...

  3. HDU 4339 Contest 4

    树状数组,主要是抓住要求连续1的个数.这样,初始时,相同的加1,不同的加0. 查询时,用二分搜索右边界.就是比较当前mid-l+1的值与他们之间1的个数(这可以通过树状数组求区间和得出),记录右边界即 ...

  4. Android动态加载字节码

    概述 面对App业务逻辑的频繁变更,如果每一次改变都对App进行一次升级,会降低App的用户体验,那么App进行模块化升级(这里与增量升级是不同的)是很好的解决方案,让用户在完全无感觉的情况下改变Ap ...

  5. [TS] Class Properties Public, Private and Read Only Modifiers

    In the constructor, we want to set the prop to readonly, you need to do like this: class Superhero { ...

  6. Linux下永久改动MAC地址和ifconfig命令总结

    1. 固定一个MAC地址,特别是在使用多个虚拟机的时候 linux环境下: 用root身份登录,在/etc/rc.d/rc.local里加上这三句 ifconfig eth0 down ifconfi ...

  7. NYOJ 815 三角形【海伦公式】

    /* 关键点:海伦公式 解题人:lingnichong 解题时间:2014-10-04 21:48:47 解题体会:海伦公式的使用 */ 三角形 时间限制:1000 ms  |  内存限制:65535 ...

  8. _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  9. 制作可以SSH的Docker容器

    以 Ubuntu 16.04为例: Docker里的root密码是随机的, 用passwd来设置新的密码 安装完SSH_SERVER后, 默认是不能用root登录的. vi /etc/ssh/sshd ...

  10. 【原创】rman备份出现ORA-19625

    [oracle@sunny stage]$ rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Sun Mar 18 ...