标号:标示了内存单元的地址
在code段中a、b后面没有:,因此可以同时描述内存地址和单元长度
code segment
a db 1,2,3,4
b dw 0
标号a,描述了地址code:0,和从这个地址开始,以后的内存单元都是字节单元;
标号b,描述了地址code:8,和从这个地址开始,以后的内存单元都是字单元
mov ax,b相当于mov ax,cs:[8]
在后面加有:的地址标号,只能在代码段中使用,不能在其他段中使用
如果想在代码段中,直接用数据标号访问数据,则需要用伪指令assume将标号所在段和一个段寄存器联系起来
否则编译器在编译的时候,无法确定标号的段地址在哪一个寄存器中
直接定址表
data
table dd ‘01234556789ABCDEF’
data
mov ax,table[bx]
#程序入口地址的直接定址表:
在code段中a、b后面没有:,因此可以同时描述内存地址和单元长度
code segment
a db 1,2,3,4
b dw 0
标号a,描述了地址code:0,和从这个地址开始,以后的内存单元都是字节单元;
标号b,描述了地址code:8,和从这个地址开始,以后的内存单元都是字单元
mov ax,b相当于mov ax,cs:[8]
在后面加有:的地址标号,只能在代码段中使用,不能在其他段中使用
如果想在代码段中,直接用数据标号访问数据,则需要用伪指令assume将标号所在段和一个段寄存器联系起来
否则编译器在编译的时候,无法确定标号的段地址在哪一个寄存器中
直接定址表
data
table dd ‘01234556789ABCDEF’
data
mov ax,table[bx]
#程序入口地址的直接定址表: