1.寄存器寻址
不访问内存,在寄存器中完成操作
mov bx,ax
mov es,ax
add al,bh2.立即寻址
操作数为常数,无须为获得操作数访问内存
mov ax,0x10
mov bx,0x12
add ax,bx3.直接寻址
直接给出操作数的内存地址,直接寻址默认使用ds作为段寄存器
mov ax,[0x102]4.寄存器间接寻址
使用寄存器中的值作为操作数地址,用于此目的的寄存器有si,di,bx。此模式下默认使用ds作为段寄存器
mov ax,[si]5.基址相对寻址(Base relative addressing)
此模式下,使用bx和bp寄存器,使用bx时ds作为默认段寄存器,用bp时ss作为默认段寄存器
mov cx,[bx]+10 ; Physical addr=ds:bx+10
mov al,[bp]+5 ; PA=ss:bp + 56.索引相对寻址 (Index relative addressing)
于基址相对寻址基本相同,差别在于这里使用di和si寄存器,
7.基址索引寻址 (Based indexed addressing)
mov cl,[bx][di]+8 ; PA=DS(shift left)+BX+DI+8
mov ah,[bp][si] + 10 ;PA=SS(shift left)+BP+SI+10下图给出了 Offset registers for various segments
| CS | DS | ES | SS |
| IP | SI,DI,BX | SI,DI,BX | SP,BP |
本文详细介绍了8086汇编语言中的各种寻址方式,包括寄存器寻址、立即寻址、直接寻址、寄存器间接寻址、基址相对寻址、索引相对寻址及基址索引寻址等,并通过实例说明了每种寻址方式的特点。

1029

被折叠的 条评论
为什么被折叠?



