3.4基址变址寻址 (1)格式:操作数表示成BXBP+SIDI川 MOV AX,[BX][DI] MOV CL,I [BP+DI MOV ES: [BXSI,AH;或MOV [SI][BX],AH (2)物理地址:(段寄存器缺省的情况) PA=DS<<4+BX+SI/DI PA=SS<<4+BP+SIDI 16/133
16/133 3.4 基址变址寻址 (1)格式:操作数表示成[BX/BP+SI/DI] MOV AX,[BX][DI] MOV CL,[BP+DI] MOV ES:[BX][SI],AH ;或MOV [SI][BX],AH (2)物理地址:(段寄存器缺省的情况) PA=DS<<4+BX+SI/DI PA=SS<<4+BP+SI/DI
MOV AX,[BX+SI AH=0ABH,AL=78H DS 5000H 代 操作码 BX 2000H 操作码 码 SI 段 0006H 50000H EA=2000H+06H EA =2006H 数 52066H AX ABH 78H 78H 据 ABH 基址变址寻址方式 (3)适用于:一维或二维数组或表格 17/133
17/133 (3)适用于:一维或二维数组或表格 MOV AX, [BX+SI] ;AH=0ABH,AL=78H ABH 78H
3.5相对基址变址寻址 (1) 格式:操作数表示成BXBP+SI/DI+立即数变量名] MOV AX, COUNTBXISI MOV AX, COUNTISIBXI MOV AX,[BX+COUNT]SI MOV AX,[BX+SI+COUNTI MOV AX,[BXICOUNTISI] ADD VALUE[BXIDI,DX; (2)物理地址: (缺省情况) PA=DS<<4+BX+SI/DI+立即数或变量的偏移 PA=SS<<4+BP+SI/DI+立即数或变量的偏移 18/133
18/133 3.5 相对基址变址寻址 (1) 格式:操作数表示成[BX/BP+SI/DI+立即数/变量名] MOV AX,COUNT[BX][SI] MOV AX,COUNT[SI][BX] MOV AX,[BX+COUNT][SI] MOV AX,[BX+SI+COUNT] MOV AX,[BX]COUNT[SI] ADD VALUE[BX][DI],DX; (2)物理地址:(缺省情况) PA=DS<<4+BX+SI/DI+立即数或变量的偏移 PA=SS<<4+BP+SI/DI +立即数或变量的偏移
MOV AH,[BX+DI+1234H];AH=50H DS 4000H 指 操作玛 代 BX 0200H 令 操作码 码 DI 码 34H 0010H 段 12H EA=0200H+0010H+1234H =1444H 40000H 数 AX 50H EA AL 据 41444H 50H 段 相对基址变址寻址方式 (3)适用于:堆栈处理,访问二维数组中某个元素。1913
19/133 MOV AH, [BX+DI+1234H];AH=50H 1 ( 3)适用于:堆栈处理,访问二维数组中某个元素。 50H
4.O端口寻址 操作数在外设端口中 地总线(Address Bus) 中央处理器 数据总线(Data Bus) (CPU) 控制总线(Control Bus 37 10接口电路 存储器 (Memory) 10设备 20/133
20/133 4.IO端口寻址 操作数在外设端口中 中央处理器 (CPU) 地址总线(Address Bus) 数据总线(Data Bus) 控制总线(Control Bus) 存储器 (Memory) IO接口电路 IO设备