si和di是8086CPU中和bx功能相近的寄存器,di和si不能分成两个8位寄存器来使用。下面的3组指令实现了相同的功能:
mov bx,0
mov ax,[bx]mov si,0
mov ax,[si]mov di,0
mov ax,[di]
我们遇到si和di时,就往bx上靠,基本上bx什么功能di和si就是什么功能
[bx+si]和[bx+di]:
[bx+si]和[bx+di]含义相似,表示一个内存单元,使用bx和si、di结合体,会更加灵活指明一个内存单元(有种两重for循环的感觉):
mov ax,2000h
mov ds,axmov bx,1000h
mov si,0
mov ax,[bx+si]
inc simov cx,[bx+si]
inc simov di,si
add cx,[bx,di]
[bx+si+idata]和[bx+di+idata]
[bx+si+idata]和[bx+di+idata与[bx+si]和[bx+di]功能类似,只不过加上一个idata
常用格式:
使用bx,di,si,idata,使寻址更加灵活