chapter2 寻址方式
1 汇编语言的语句类型
8086可分为三种类型
2 汇编语言的语句格式
格式 :[标识符] 操作项 操作数 [;注释]
标识符:可缺省,表示本条语句的符号地址。指令语句使用的是标号,后紧跟::
lable1:
操作项:指令助记符或者伪指令符,说明具体操作
操作数:操作对象,可以是立即数、存储单元、寄存器
注释:以;
开始
3 寻址方式
汇编指令 : | 操作码 | 操作数 |
3.1.1 立即数寻址方式
操作数通过指令直接给出,有8位和16位
mov al,5
mov ax,1234h
数据默认为十进制
3.1.2寄存器寻址方式
操作数是寄存器的值,指令中直接使用寄存器名,可用寄存器有:AX,BX,CX,DX,SI,DI,SP,BP
mov ax,bx
3.1.2 存储器寻址方式
1 直接寻址方式
操作数的偏移地址(有效地址EA)直接由指令给出(直接地址值和符号地址两种方式),默认DS为段地址
mov ax,[2000h]
mov ax,LAB = mov ax,[LAB]
2 寄存器间接寻址方式
操作数形式为:[寄存器]
可使用:BX,BP,SI,DI
mov ax,[bx]
BP默认段地址为SS
3 寄存器相对寻址
寄存器内容与位移量(DISP,8位或16位)之和作为操作数所在单元的有效地址。
可对应于一维数组
mov ax count[si] = mov ax,[count+si]
BP默认段地址为SS
4 基址变址寻址方式
将基址寄存器(BX,BP)与变址寄存器(SI,DI)内容之和作为操作数有效地址
mov ax,[bx+di] = mov ax,[bx][di]
可对应于二维数组
5 相对基址变址寻址方式
将基址寄存器(BX,BP)与变址寄存器(SI,DI)内容加上位移量之和作为操作数有效地址
mov ax,mk[bx][si] = mov ax,mk[bx+si] = mov ax,[mk+bx+si]
可对应于结构体(表格型数据结构)