一、在代码段中使用数据。
①dw,作用为定义字型数据。dw=define word。dw定义时数据之间以逗号分隔。
eg:dw 0123h,0456h, 0789h
②程序6.1
反汇编:
g命令执行:
执行出现错误。
从0770:0010开始才是需要的机器码,数据被执行成了机器码。
两个方法解决:
法一:将IP值设为10h。
方法二:用start标号标出执行的入口。
二、在代码段中使用栈
用dw开辟空间作为栈的存放空间
引入dw的另一个使用方法:
dw 0,0,0,0,0,0,0,0 =dw 16 dup(0)
实例见实验五
三、将数据、代码、栈放入不同的段中
① 使用伪指令segment和ends定义逻辑段后,究竟是用作代码段、数据段还是栈,由程序员指定。
② 使用assume仅仅表示将某个逻辑段和某个段寄存器关联起来;真正当作特定的段使用,需要在代码段中设置相应的段寄存器值,如ds, ss。
③ 段名代表的是段地址,是常数。不能使用mov直接送入段寄存器。