回 帖 发 新 帖 刷新版面

主题:一个奇怪的问题

assume cs:codesg,ds:datasg
datasg segment
db 'h a h a , y o u   h a v e   g o t   a   v i r u s ! '
datasg ends

codesg segment
start: mov ax,b800h ;b800h=47104
mov es,ax
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,53
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s

mov cx,26
mov bx,1
s0:mov al,01110001b
mov es:[bx],al
add bx,2
loop s0

mov ax,4c00h
int 21h
codesg ends
end start
我用这个进行编译,出现error(7):undefined symbol:b800h
然后我换成47104,就可以编译了,运行出来也没问题,这是怎么回事啊,是不是我的编译器有问题阿

回复列表 (共1个回复)

沙发

b800h是以英文开头的
汇编中应该写成:0b800h
为了和变量名加以区别

我来回复

您尚未登录,请登录后再回复。点此登录或注册