首页 > 编程 > ASM > 正文

汇编语言学习笔记第二章 寄存器

2019-11-09 20:43:56
字体:
来源:转载
供稿:网友

http://www.dbgPRo.com/archives/394.html

8086/8088CPU的寄存器有4类:数据寄存器:AX、BX、CX、DX  (存放一般性的数据,又称通用寄存器)指针及变址寄存器:SP、BP、SI、DI段寄存器:CS、DS、SS和ES控制寄存器:ip和Flags

AX (Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作;BX称为基地址寄存器(Base Register),可作通用寄存器用,在计算存储器地址时,常用作基址存储器;CX称为计数寄存器(Count Register),常用作循环计数器;在位操作中,要用CL来指明移位的位数;DX称为数据寄存器(Data Register)。在进行双字的乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。CS:代码段寄存器DS:数据段寄存器SS:堆栈段寄存器ES:附加段寄存器IP:指令指针寄存器CS和IP就指示了CPU当前要读取指令的地址几条汇编指令  在写一条汇编指令或一个寄存器的名称时不区分大小写.

物理地址  CPU通过地址总线送入存储器的,必须是一个内存单元的物理地址.

16位结构的CPU  运算器一次最多可以处理16位的数据;  寄存器的最大宽度为16位;  寄存器和运算器之间的通路为16位.

8086CPU给出物理地址的方法  地址加法器采用“物理地址 = 段地址 * 16 + 偏移地址”的方法合成物理地址

段的概念  一个段的最大长度位64KB

CS和IP

8086CPU的工作过程可以简要描述如下:1) 从CS:IP指向的内存单元处读取指令,读取的指令进入指令缓冲器;2) IP=IP+所读取指令的长度,从而指向下一条指令;3) 执行指令,转到步骤1,重复这个过程.

修改CS、IP的指令“jmp 段地址 : 偏移地址”指令的功能为:  用指令中给出的段地址修改CS,偏移地址修改IP.“jmp 某一合法寄存器”: 用寄存器的值修改IP.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选