Intel- 64 与 IA-32架构软件开发人员手册 中文版
来源:互联网 发布:微信推广源码 编辑:程序博客网 时间:2024/05/21 12:39
1.3.2.1指令的操作数
当指令用被表示成符号时,一个IA-32汇编语言的子集是可用的。在该子集中,一个指令有如下的格式:
标号:助记符参数1,参数2,参数3
在此:
*标号是一个后跟一个冒号的标识符
*助记符是一类具有相同功能的机器指令操作码的名称
*操作数参数1,参数2和参数3可选。可能会有0到3个操作数,这取决于操作码。有时他们也采用文字或标识符的形式来表示数据项目。操作数标识符用来保存寄存器名称或被假定分配给(可能不在例子中显示的)程序中另一部分声明的数据项目。
当两个操作数出现在算术或逻辑指令中时,右边是源操作数,左边是目的操作数。
例如:
LOADREG: MOV EAX, SUBTOTAL
在该例子中,LOADREG是个标号,MOV是一个操作码的助记符,EAX是目的操作数,SUBTOTAL是目的操作数,有的汇编语言则把目的操作数和源操作数放在相反的位置。
1.3.3十六进制和二进制
十六进制数由一串十六进制的数字后跟一个H表示(如:0F82EH),十六进制的数字是下面这个集合中的字符:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,E,和F
二进制数是由一串0和1表示的,有时候它后面会跟一个B(如:1010B)。B标识只用在数字类型可能混乱的情况下。
1.3.4分段寻址
处理器按字节寻址。这意味着内存是按字节被组织和访问的。不管访问一个还是多个字节,字节地址是用来定位字节或字节所在内存的。可被寻址的内存范围被称为寻址空间。处理器也支持分段寻址,这是一种一个程序可以有很多独立地址空间的寻址方式,称为分段。例如,一个程序可以将它的代码和堆栈放在不同的段。代码地址总是在代码空间,而堆栈地址总是在堆栈空间。下面的符号用来指明段内字节地址:
段寄存器:偏移地址
例如:下面的段寻址表示DS寄存器指向的段的偏移为FF79H的字节:
DS:FF79H
下面的段寻址表示代码段中的指令地址,CS寄存器指向代码段,EIP包含指令地址:
CS:EIP
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- IA-32 Intel®架构软件开发人员手册卷3:系统编程指南(中文版-部分)
- Intel 64 and IA-32 架构的软件开发手册
- Intel 64 and IA-32 架构,软件开发人员手册,2A&2B,指令集,A-Z(CHM版)[
- Intel IA-32 架构软件开发者手册,第二卷:指令集(上)
- Intel IA-32架构浅析
- IA-32架构和Intel 64架构的区别
- Intel64及IA-32架构软件开发者手册
- Intel 64和IA-32架构——操作模式
- IA-32 Intel手册学习笔记(一)系统架构概述
- 在javaweb中添加过滤器
- hudu 1050 sort oj上的易错点 贪心算法
- turtlesim
- No.3 Add Digits (digital root)
- ZOJ 2971-G - Give Me the Number-模拟
- Intel- 64 与 IA-32架构软件开发人员手册 中文版
- No.4 happy number floyd判圈法
- 十月最后一周
- 平时小积累
- 学习maven过程中的一些异常错误汇总
- 最新的SqlHelper 类
- android之存储篇_SQLite数据库_让你彻底学会SQLite的使用<转载>
- hdoj Dating with girls(2) 2579 (BFS++判断) 好题
- ZOJ 2975-K - Kinds of Fuwas-暴力+bitset