比如:
TACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
DATAS SEGMENT
STR1 DB 5,6 DUP(?),0DH,0AH,'$'
DATAS ENDS
与:
TACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
DATAS SEGMENT
BUF DB 5,6 DUP(?),0DH,0AH,'$'
DATAS ENDS
有区别吗??
还有 DB和DW, 什么时候定义字节类型,什么时候定义字类型,为什么上面的堆栈段用DW而下面的数据段却用DB, 可以互换吗?
没有区别,就是变量名字取得不同而已。
这段
TACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
有问题,改成:
STACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
段名要上下保持一致。
定义的变量是字节还是字,取决于变量的使用情况,这里的两个的DW和DB可以互换,前提是要看在程序中哪种用起来更方便。
这段
TACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
有问题,改成:
STACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
段名要上下保持一致。
定义的变量是字节还是字,取决于变量的使用情况,这里的两个的DW和DB可以互换,前提是要看在程序中哪种用起来更方便。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-04-16
1
STR1 DB 5,6 DUP(?),0DH,0AH,'$'
与
BUF DB 5,6 DUP(?),0DH,0AH,'$'
中的 BUF 与 STR1 没有区别,都是表示一个缓冲区的名字
2
DB 与 DW
堆栈段是供堆栈用的,而你的程序是 16位的,其 堆栈指针SP 是16位,所以必须使用 DW
数据段是用 DB 还是 DW 要看你程序的要求
它可以是 DB,也可以是DW
STR1 DB 5,6 DUP(?),0DH,0AH,'$'
与
BUF DB 5,6 DUP(?),0DH,0AH,'$'
中的 BUF 与 STR1 没有区别,都是表示一个缓冲区的名字
2
DB 与 DW
堆栈段是供堆栈用的,而你的程序是 16位的,其 堆栈指针SP 是16位,所以必须使用 DW
数据段是用 DB 还是 DW 要看你程序的要求
它可以是 DB,也可以是DW
第2个回答 2011-04-16
DB定义字节,DW定义字,DW可以代替DB,但是DB是不能代替DW的。