datasg segment
message1 db 'I LOVE YOU CHINA.'
datasg ends
program segment
main proc far
assume cs:program,ds:datasg
start:
mov ch,11
mov si,0
showChar:
mov al,ds:[si]
mov dl,al
mov ah,2
int 21h
inc si
dec ch
jnz showChar
ret
main endp
program ends
end
------解决方案--------------------------------------------------------
最后的 end 语句加上 start 成 end start 以指定程序是从 start: 处开始执行;否则会将前面的数据当代码执行了,后果难料。
------解决方案--------------------------------------------------------
程序没有设置 ds 指向 datasg 段吧,所以 mov al,ds:[si] 没有访问到正确的、自己需要的内容。