dw即define word,定义字型数据。例如,dw 0123h,0456h,0789h.这样就定义了几个字型数据,那这些数据都在哪里呢,他们的段地址都是从cs开始的,而偏移地址从0开始,也就是说,0123h的偏移地址是0,0456h的偏移地址是2,0789h的偏移地址是6。

但是这样会带来一个问题,因为前十六个字节是dw所定义的字型数据,所以这样可能使程序的入口出现问题,所以可以

assume cs:codesg
codesg segment
dw 0123h,0456h,0789h

start: mov bx,0
mov ax,0
mov cx,8
s: add ax,cs:[bx]
add bx,2
loop s
mov ax,4c00h
int 21h

codesg ends
end start

这里就是加上了一个标号start,这个标号的意思就是确定程序的入口,而最后在end这里还要来一个start,因为end的作用除了确定程序在哪里终止之外,还有一个作用是告诉编译器程序在哪里开始(因为这时一个伪指令)