16.1 描述了单元长度的标号
有一种标号,不但表示内存单元的地址,还表示了内存单元的长度。即表示在此标号处的单元,是一个字节单元,还是字单元, 还是双字单元。
请看下面的程序:
assume cs:code
code segment
a db 1,2,3,4,5,6,7,8
b dw 0
start:mov si,0
mov cx,8
s:mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start
在code段中使用的标号a、b后面没有“;”,它们是同时描述内存单元地址和单元长度的标号。
因为这种标号包含了对单元长度的描述,所以在指令中,它可以代表一个段中的内存单元

例:下面的程序将code段中的8个数据累加,结果存储到b处的双字中
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start: mov ax,0
mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b[0],ax
adc word ptr b[0],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start