MOV DX, BX+15001 低地址 操作码 DS70000 00H CS段 15H BX2000 1500 70000 73500 →73500 FS段 34H AX 12H 34H 12H 高地址 16
16 低地址 高地址 CS段 操作码 00H 15H 34H 12H AX 12H 34H FS段 70000 73500 BX 1500 73500 + MOV DX, [BX+1500] DS 7000 0 2000
★斗 数据结构的基址寻址方式★ MOVAX, BX+100H 字段n 字段n-1 (位移量) 字段2 字段1 基址寄存器 字段0
17 数据结构的基址寻址方式 字段0 字段n 字段n-1 字段2 字段1 基址寄存器 + (位移量) MOV AX, [BX+100H]
④变址寻址 变址寻址适用于对一维数组的元素进行操作 (1)无比例因子 EA=变址寄存器+位移量 16位寻址:SL,DⅠ为基址寄存器,DS为默认段寄存器 32位寻址:除ESP外其余7个32位通用寄存器均可 作为变址寄存器,EBP默认SS为段寄存器,其余均 默认段寄存器为DS MOVAH, ISI+5I
18 ④ 变址寻址 变址寻址适用于对一维数组的元素进行操作 ⑴无比例因子 EA=变址寄存器+位移量 16位寻址:SI,DI为基址寄存器, DS为默认段寄存器 32位寻址:除ESP外其余7个32位通用寄存器均可 作为变址寄存器,EBP默认SS为段寄存器,其余均 默认段寄存器为DS MOV AH, [SI+5]
数组的变址寻址方式 ★斗 MOVAX, ISI+100H 单元n 单元n-1 变址寄存器 单元2 单元1 (位移量) 单元0 ⊙位移量表示数组起始地址,不变,变址寄存器为数组下标 可变 19
19 位移量表示数组起始地址,不变,变址寄存器为数组下标 ,可变。 (位移量) 数组的变址寻址方式 单元0 单元n 单元n-1 单元2 单元1 变址寄存器 + MOV AX, [SI+100H]
④变址寻址 ★斗 (2)有无比例因子 EA=变址寄存器x比例因子+位移量 只适用于32位寻址 MOVEAX, ESI4+501 比例变址寻址适用于一维数组操作,当数组元素大 小为2/48字节时,它更方便、有效 20
20 EA=变址寄存器比例因子+位移量 只适用于32位寻址 MOV EAX, [ESI*4+50] 比例变址寻址适用于一维数组操作,当数组元素大 小为2/4/8字节时,它更方便、有效 ④ 变址寻址 ⑵有无比例因子