80x86寄存器及寻址方式

最近学8086汇编,被各种各样的寄存器和寻址方式搞疯了,总结一下


8086共有14个寄存器,每个寄存器都是16位,可以分为通用寄存器,段寄存器,控制寄存器三大类


通用寄存器(8个):

AX,BX,CX,DX为数据寄存器

AX             累加寄存器

BX             基址寄存器

CX            计数器寄存器

DX            数据寄存器

SI,DI为变址寄存器

SI              源变址寄存器

DI             目的变址寄存器

SP,BP为指针寄存器

SP            堆栈指针寄存器

BP            基址指针寄存器


段寄存器(4个)

DS           数据段寄存器

CS           代码段寄存器

SS           堆栈段寄存器

ES           附加段寄存器


控制寄存器(2个)

IP             指令指针寄存器

FLAG       标志寄存器


接下来就是80x86的寻址方式了,比较多,有7种。。。。。

1.立即数寻址方式(不需要段寄存器):寻址操作数直接出现在指令中的寻址方式

mov al,05h

2.寄存器寻址方式(不需要段寄存器):寻址操作数存放在CPU内部的寄存器中的寻址方式

mov ax,bx

3,直接寻址方式(需要段寄存器):寻址操作数放在存储器中,操作数有效地址EA有指令直接给出的寻址方式,即mov ax,[EA]

mov ax,[3700H]   其默认的段地址为DS,也可以加以说明,比如

mov ax,es[3700H]

4.寄存器间接寻址方式(需要段寄存器):寻址操作数的有效存放在寄存器中的寻址方式

mov ax,[bx]          其默认的段地址为DS,也可以加以说明,比如

5.寄存器相对寻址方式(需要段寄存器):寻址操作数由存放EA的寄存器与指令中指示的8为或16位立即数构成的寻址方式,存放EA的寄存器可以有SI,DI,BX,BP

mov al,[bx+0400h]  其默认的段地址为DS

6.基址变址寻址方式(需要段寄存器):寻址操作数由一个基址寄存器内容和一个变址寄存器的内容之和的寻址方式

mov ax,[bx+di]  其默认的段地址为DS

7.相对基址变址寻址方式(需要段寄存器):寻址操作数有一个基址寄存器内容,一个变址寄存器内容以及指令中给出的立即数作为偏移量

mov ax,[bx+si+0400H]  其默认的段地址为DS



好吧,总算完了,但是还有一些寄存器的组合可能不能使用,之后再写吧



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值