在汇编源程序中,数据不能以字母开头,因为汇编语言中,源程序,标号,变量都名等都是以字母开头,所以数据不能以字母开头,防止产生二义性
如下面程序:
assume cs:code
code segment
mov ax,ffffH
mov ds,ax
mov ds:[26h],ax
mov ax,4c00H
int 21H
code ends
end
这个程序两个问题:
1 就是 mov ax,ffffH,数据以字母开头,编译时会报错,如下图:报“”Symbol not defined“(符号没有定义)错误
2就是mov ds:[26H],ax 把ax的值赋给ds:[26H]内存空间,这样看起来是没有错,但是因为我们根本不知道这块空间是什么数据,重不重要,就直接用ax覆盖掉
这是不安全的,有可能引起大的错误,所以在dos模式,一般情况,0:200-0:2ff这一段256kb空间是没有系统或者其他程序的数据或代码,这是一段安全的空间, 以后直接在
这段安全的空间编写程序