8086寄存器
来源:互联网 发布:淘宝如何加入亲宝贝 编辑:程序博客网 时间:2024/06/05 03:11
8086 所有的寄存器都是16位的,可以存放两个字节
通用寄存器
AX 可分为 AH和AL
BX 可分为 BH和BL
CX 可分为 CH和CL
DX 可分为 DH和DL
可以作为两个独立使用的8位寄存器来用 AX的低8位构成AL寄存器,高8位构成AH寄存器 在写一条汇编指令或者一个寄存器的名称时不用区分大小写
这4个寄存器用来存放一般性的数据,被称为通用寄存器
段寄存器
CS DS SS ES
CS和IP是8086CPU 中最关键的寄存器,CS为代码段寄存器,IP为指令指针寄存器,任意时刻,CPU将CS:IP指向的内容当作指令执行。执行过程如下:
1 从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器。
2 (IP) = (IP) + 所读取的指令长度,从而指向下一条指令
3 执行指令,转到1,重复。
如果内存中的一段信息曾被CPU执行过,那么它所在的内存单元一定被CS:IP指向过
修改CS,IP内容:
JMP 2AE3:3
执行后 CS=2AE3,IP=0003H
CPU将从2AE33H处读取指令
寻址方式
段地址×16 + 偏移地址 = 物理地址
(段地址×16)显然是16的倍数,所以一个段的起始地址也一定是16的倍数,寻址能力为64KB,所以一个段的长度最大为64KB80
字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。
CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址(由段地址和偏移地址组成) 8086CPU自动读取DS中的数据作为内存单元的段地址
例如 将AL中的数据送入内存单元10000H中
MOV BX,10000H
MOV DS,BX
MOV [0],AL
ADD 寄存器,寄存器
ADD 寄存器,数据
ADD 寄存器,内存单元
ADD 内存,寄存器
栈操作 PUSH POP
在8086的CPU中,又两个寄存器,段寄存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中,任意时刻,SS:SP指向栈顶元素
我们可以将一段长度为N(N<=64KB)地址连续,起始地址为16的倍数的内存单元当作专门存放数据的内存空间,从而定义了一个数据段
- 8086寄存器
- 8086寄存器
- 8086寄存器
- 8086 寄存器
- 8086寄存器
- 8086寄存器
- 8086寄存器
- 8086寄存器
- 8086寄存器
- 8086寄存器
- 8086寄存器组
- 2.3 8086寄存器组
- 转:8086寄存器组
- 8086中的寄存器
- 8086寄存器分类
- 8086寄存器分类
- 8086寄存器介绍
- 8086寄存器详解
- 第11周项目4-特殊的三位数
- Linux系统之一次性解压多个文件
- Linux命令大全
- 关于Ubuntu无线网络无法问题的解决方案
- HDU 4501 小明系列故事——买年货(多维01背包)
- 8086寄存器
- 微信公众平台按钮及菜单创建
- 一段简单汇编语言程序及说明
- 第11周项目5 当年第几天
- 一段汇编小程序及说明——将数据,代码,栈放入不同的段
- 第十一周 项目六(2)回文数
- Mac OS X系统下建立 Android ADB详细步骤
- 设置UIImage的渲染模式:UIImage.renderingMode
- 汇编寻址方式