您当前的位置: 首页 > 

鱼儿-1226

暂无认证

  • 3浏览

    0关注

    1100博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

汇编寻址方式

鱼儿-1226 发布时间:2021-09-18 11:04:49 ,浏览量:3

立即数寻址方式:MOV AX,0102H     源操作数是数 寄存器寻址方式 : MOV BX,AX     源操作数是寄存器。这些寄存器有:16位的AX BX CX DX SI DI SP BP   8位的AH AL BH BL CH CL DH DL   直接寻址方式 :MOV AX,[2000H]     源操作数是地址,与立即数寻址的区别就是,地址一般就是有【】    寄存器间接寻址方式 :MOV AX,[SI]     源操作数中的寄存器是BX BP SI DI 中的任意一个   寄存器相对寻址方式 :MOV AX,[DI+06H] ;AX←DS:[DI+06H]     源操作数是BX BP SI DI 中的任意一个与数字的和 基址变址寻址方式 :MOV AX,[BX+SI] ;AX←DS:[BX+SI]     源操作数是(BX BP)和( SI DI )这两组中的任意两个的和   相对基址变址寻址方式 :MOV AX,[BX+SI+06H] ;AX←DS:[BX+SI+06H]     这种寻址方式就是上两种的组合

8086/8088有7种基本的寻址方式:立即寻址,寄存器寻址,直接寻址,寄存器间接 寻址,寄存器相对寻址,基址加变址寻址方式,相对基址加变址寻址。 1   立即数寻址      操作数就在指令中,作为指令的一部分,跟在操作码后存放在代码段。      eg.   mov ah,01h              mov ax,1204h       ;如果立即数是16位的,则高地址放在高位,低地址放在低位                    2   寄存器寻址      操作数在寄存器中,指令中指定寄存器号。对于8位操作数,寄存器可以是AL,AH,BL,BH,CL,CH,DL,DH。 对于16位操作数,寄存器可以是AX,BX,CX,DX,BP,SP,SI,DI等      eg.   mov ah,ch              mov bx,ax                    3   直接寻址方式      操作数在存储器中,指令直接包含操作数的有效地址EA。      eg.   mov ax,[1122h]   ;将ds:1122的数据放在ax,默认段为DS              mov es:[1234],al ;采用了段前缀                    4   寄存器间接寻址      操作数在存储器中,操作数的有效地址在SI,DI,BX,BP这4个寄存器之一中。在不采用段前缀的情况下, 对于DI,SI,BX默认段为DS,而BP为SS。      eg.   mov ah,[bx]              mov ah,cs:[bx] ;使用了段前缀                    5   寄存器相对寻址      操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)或变址寄存器(SI,DI)的内容加上8位或16位的位移之和。在指令中的8位和16位的常量采用补码表示,8位要被带符号扩展为16位。       eg.   mov ah,[bx+6];段址默认情况与寄存器间接寻址相同                    6   基址加变址寻址               操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)加上变址寄存器(SI,DI)的               内容。如果有BP,则默认段址为SS,否则为DS.               eg.   mov ah,[bx+si]                7   相对基址加变址寻址     操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)和变址寄存器(SI,DI)的内容加上8位或16位的位移之和。如果有BP,则默认段址为SS,否则为DS.     eg.   mov ax,[bx+di-2]             mov ax,1234h[bx][di]                   

关注
打赏
1604459285
查看更多评论
立即登录/注册

微信扫码登录

0.0371s