<汇编语言(第2版)>2011032901

dw    定义字型数据    define word
dw是伪指令

与此类似的有
db    定义字节型数据    define byte
dd    定义双字型数据    define double word

dup是一个操作符,在汇编语言中同db、dw、dd等一样,也是由编译器识别处理的符号。它是和db、dw、dd等数据定义伪指令配合使用的,用来进行数据的重复。

db 3 dup (0):定义了3个字节,它们的值都是0,相当于db 0, 0, 0。

db 3 dup (0,1,2);定义了9个字节,它们是0,1,2,0,1,2,0,1,2,相当于:db 0,1,2,0,1,2,0,1,2。

db 3 dup ('abc', 'ABC');定义了18个字节,他们'是abcABCabcABCabcABC',相当于:db 'abcABCabcABCabcABC'。


dup的使用格式如下:
db 重复的次数 dup (重复的字节型数据)。
dw 重复的次数 dup (重复的字型数据)。
dd 重复的次数 dup (重复的双字数据)。

下面看下如下结构
注意:每一个段最大64K,因为8086CPU是16位的

数据和程序的一个简单框架:
assume cs:codesg

codesg segment
    数据定义(dw XX)
start:代码

codesg ends

end start

另外一个框架:
assume cs:code ,ds:datas ,ss:stack

datas segment
    数据定义
datas ends

stack segment
    数据定义
stack ends

code segment
    start:代码
code ends

end start

其中end start表示入口在start标记上
原文地址:https://www.cnblogs.com/GoGoagg/p/1998559.html