计算机系统之汇编---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:有关栈指针的

大多数指令有一个或多个操作数,指示出执行一个操作中要引用的源数据值,以及放置结果的目标位置。源数据值可以以常数形式给出,或从寄存器或存储器中读出,结果可以保存放在寄存器或存储器中。

操作数分三种:

>>>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,是立即数寻址;

时间: 2024-10-12 03:03:01

计算机系统之汇编---IA32处理器数据格式及数据操作的相关文章

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

---------------------------------------------------------------------------------- -- Author : htl258(Tony) -- Date : 2010-06-25 22:23:18 -- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) -- Jul 9 2008 14:43:34 -- Copyright (c) 1

数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。

http://www.cnblogs.com/joechinochl/articles/5252518.html 1)数据结构:数据模型中的数据结构主要描述数据的类型.内容.性质以及数据间的联系等.数据结构是数据模型的基础,数据操作和约束都建立在数据结构上.不同的数据结构具有不同的操作和约束. 2)数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式. 3)数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法.词义联系.他们之间的制约和依存关系,以及数据动态变化的规

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

分类: 数据库开发技术 ---------------------------------------------------------------------------------- -- Author : htl258(Tony) -- Date : 2010-06-25 22:23:18 -- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) -- Jul 9 2008 14:43:34 -- Cop

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

---------------------------------------------------------------------------------- -- Author : htl258(Tony) -- Date   : 2010-06-25 22:23:18 -- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) --          Jul  9 2008 14:43:34 --    

DML数据操作语言

DML: 数据操作语言INSERT, DELETE, UPDATE, SELECT 常用的语句,增.删.改.查: INSERT: 一次插入一行或多行数据: Syntax: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDAT

SpringCloud或SpringBoot+Mybatis-Plus利用mybatis插件实现数据操作记录及更新对比

引文 本文主要介绍如何使用mybatis插件实现拦截数据库操作并根据不同需求进行数据对比分析,主要适用于系统中需要对数据操作进行记录.在更新数据时准确记录更新字段 核心:mybatis插件(拦截器).mybatis-Plus实体规范.数据对比 1.相关技术简介 mybatis插件: mybatis插件实际上就是官方针对4层数据操作处理预留的拦截器,使用者可以根据不同的需求进行操作拦截并处理.这边笔者不做详细描述,详细介绍请到官网了解,这里笔者就复用官网介绍. 插件(plugins) MyBati

Cocos数据篇[3.4](3) ——XML数据操作

[唠叨] XML 即 可扩展标记语言,在游戏开发中,常用于保存游戏数据信息,如最高分.游戏等级等信息,和描述一些资源等. 加载动画的plist文件.瓦片地图编辑器到处的地图格式tmx文件,实际上都是特定格式的xml文件. 另外 UserDefault 单例类保存的数据,也是存储在xml文件中的. Cocos2d-x 已经加入了 tinyxml2库 用于xml的解析.3.x版本位于external/tinyxml2下. 本节要介绍的就是:如何使用 tinyxml2库 来操作处理xml文件. [参考

Redis数据操作--字符串

| 储存文字,储存数字(整数,浮点数),二进制数 |  字符串操作 -- 设置字符串     set key value     # 如果字符串键key已经存在,     那么使用新值覆盖原来的旧值 -- 获取字符串     get key     # 返回字符串键key储存的值 -- 仅在键不存在的情况下进行设置     setnx key value     # 仅在键key不存在的情况下,将键key的值设置为value,     效果和set key value NX一样.NX的意思为"N

SQL语言-----数据操作

数据操作 增加数据,insert into 标准格式 insert into 表名 (字段的列表)value(数据列表): 使用set insert into 表名 set 字段1=值,2.....: 从其他数据表取数据插入 insert into 表名 (字段列表)select; 和insert into一样也是分在种,标准写法,set语法,从其它表取数据 标准方式 replace into 表名 (字段的列表) values (数据列表) 使用set: replace into 表名 set