计算机系统之汇编---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. 浅谈密码加SALT原理

    我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码.  加Salt可以一定程度上解决这一问题.所谓加Salt方法, ...

  2. 【codeforces 794B】Cutting Carrot

    [题目链接]:http://codeforces.com/contest/794/problem/B [题意] 给你一个等腰三角形; 它的底边为1; 高为h; 要求你把这个等腰三角形分成n份面积相等的 ...

  3. Linux 网络搭建

    如果系统环境崩溃.   调用/usr/bin/vim /etc/profile Windows    1 本地连接使用固定IP   vmware 8    2  修改Windows的hosts地址   ...

  4. Android内存优化之封装九宫格

    随着市场上越来越多的APP上线,好多软件对手机的内存要求也是很大,所以我们在开发的时候一定要掌握如何去优化内存,将自己的APP尽可能优化.今天我们就一起看一下九宫格的优化.下面是软件的截图 1.为了达 ...

  5. 阿里云server部署架构

    近期要上马一个项目,客户要求所有部署到阿里云的server,做了一个阿里云的部署方案. 上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21hbGx ...

  6. ioctl.h 分析

    ioctl.h 分析 我自己画了个解析图...不要嫌弃丑啊.. . 哈哈 type The magic number. Just choose one number (after consulting ...

  7. IOS 数据存储之 SQLite具体解释

    在IOS开发中常常会须要存储数据,对于比較少量的数据能够採取文件的形式存储,比方使用plist文件.归档等,可是对于大量的数据,就须要使用数据库,在IOS开发中数据库存储能够直接通过SQL訪问数据库, ...

  8. nyoj--8--一种排序(排序,水题)

    一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...

  9. HttpClient get和HttpClient Post请求的方式获取服务器的返回数据

    1.转自:https://blog.csdn.net/alinshen/article/details/78221567?utm_source=blogxgwz4 /*  * 演示通过HttpClie ...

  10. 【转载】Reactor模式和NIO

    当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作.他们都有一个共同的结构:1. Read request2. Decode request3. Proc ...