学习assembly language之前理顺一下思路
来源:互联网 发布:fanuc pmc编程软件 编辑:程序博客网 时间:2024/06/05 20:57
“在学习真正的汇编语言之前,必须理解INTEL8086处理器系列的基本机构,否则机器指令讲没有任何意义。”
INTEL系列CPU一般都归为冯.诺依曼式机器。其基本模块是:CPU,储存器和输入输出设备。
CPU与储存器和I/O设备之间的通信方法是向地址总线发送一个数值来选取一个储存单元或者I/O设备,他们都有唯一的二进制地址。因此,CPU,I/O以及储存设备都将通过数据放到数据总线上来传递彼此之间的数据。数据总线则包含用于确定传输的方向的信号。
在CPU当中,寄存器是其最主要的特征。8086寄存器可以分成四大类:通用寄存器、段寄存器、特殊目的的寄存器以及特殊目的的核心模式寄存器。(General-purpose register,segment register, flags register, instruction pointer register)
针对目前大多使用的32位操作系统,着重讨论通用寄存器。
8086系列提供了8个32位通用寄存器。EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP(E代表EXTEND)。每个32位寄存器又包含一个16位寄存器,同时这个16位寄存器有是由两个8位寄存器组成。
第一组,数据寄存器,AX,BX,CX,DX.
其中,X表示一个未知数,那么这些寄存器都可以用来存放数据,ABCD,虽说都可以理解为一个顺序号,但是,A还是加法ADD的简称,所以AX叫累加器,B是基地址的简称,所以BX可以叫基地址寄存器,C是计数器的简称,所以CX可以叫做计数器.D是数据DATA的简称,所以DX可以叫数据寄存器.这四个寄存都可以按高八位和低八位分成两个寄存器:AH,AL,BH,BL,CH,CL,DH,DL.
第二组,地址指示和变址寄存器,SI,DI,BP,SP.
它们用来表示一个地址偏移,或用来表示一个地址的变化状况.
SI,DI都可以表示变址,在串操作中,SI和DI表示源和目的操作数的指示器,快速记忆方法:SI联想饮水思源的思(谐音SI),DI联想目的(谐音DI).
BP,SP的P表示堆栈专用,BP表示基地址专用,SP则是堆栈顶指示器.
其中,BP,SI,DI还可以兼作数据寄存器.SP则只能和堆栈绑定.
INTEL系列CPU一般都归为冯.诺依曼式机器。其基本模块是:CPU,储存器和输入输出设备。
CPU与储存器和I/O设备之间的通信方法是向地址总线发送一个数值来选取一个储存单元或者I/O设备,他们都有唯一的二进制地址。因此,CPU,I/O以及储存设备都将通过数据放到数据总线上来传递彼此之间的数据。数据总线则包含用于确定传输的方向的信号。
在CPU当中,寄存器是其最主要的特征。8086寄存器可以分成四大类:通用寄存器、段寄存器、特殊目的的寄存器以及特殊目的的核心模式寄存器。(General-purpose register,segment register, flags register, instruction pointer register)
针对目前大多使用的32位操作系统,着重讨论通用寄存器。
8086系列提供了8个32位通用寄存器。EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP(E代表EXTEND)。每个32位寄存器又包含一个16位寄存器,同时这个16位寄存器有是由两个8位寄存器组成。
第一组,数据寄存器,AX,BX,CX,DX.
其中,X表示一个未知数,那么这些寄存器都可以用来存放数据,ABCD,虽说都可以理解为一个顺序号,但是,A还是加法ADD的简称,所以AX叫累加器,B是基地址的简称,所以BX可以叫基地址寄存器,C是计数器的简称,所以CX可以叫做计数器.D是数据DATA的简称,所以DX可以叫数据寄存器.这四个寄存都可以按高八位和低八位分成两个寄存器:AH,AL,BH,BL,CH,CL,DH,DL.
第二组,地址指示和变址寄存器,SI,DI,BP,SP.
它们用来表示一个地址偏移,或用来表示一个地址的变化状况.
SI,DI都可以表示变址,在串操作中,SI和DI表示源和目的操作数的指示器,快速记忆方法:SI联想饮水思源的思(谐音SI),DI联想目的(谐音DI).
BP,SP的P表示堆栈专用,BP表示基地址专用,SP则是堆栈顶指示器.
其中,BP,SI,DI还可以兼作数据寄存器.SP则只能和堆栈绑定.
- 学习assembly language之前理顺一下思路
- assembly language
- assembly language
- 程序设计自顶向下思路容易理顺。
- Stall Reservations(贪心,****思路理顺)
- 7.19 Allowance(贪心,*******思路理顺)
- Assembly Language Reference
- Assembly language experiment----Encryption
- x86 Assembly Language
- Professional Assembly Language
- Professional.Assembly.Language
- Assembly language Start
- begin assembly language
- 汇编语言Assembly Language
- 什么是 .NET Assembly language?
- arm assembly language
- assembly language programm--HelloWorld
- New job,Assembly Language
- 一叶笑
- 在SkyEye上仿真运行uClinux
- c#中的interface abstract与virtual
- 把自己的应用程序加载到uClinux中运行
- 用多活动结果集优化ADO.NET2.0数据连接
- 学习assembly language之前理顺一下思路
- 想象了
- 试一下用 live writer 写博客
- ADO.NET2.0 异步处理
- 双截棍(程序员版)
- 七个受用一生的心理寓言
- 现在回头还不晚么
- StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi, Pack:=1) 中pack的理解
- 成长中必须知道的20个道理