首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

菜鸟疑问:用汇编显示 ' I LOVE YOU CHINA' 字符!用了中断显示,为什么可以通过编译,但是运行出错

2013-01-07 
初学者疑问:用汇编显示 ' I LOVE YOU CHINA' 字符!用了中断显示,为什么可以通过编译,但是运行出

初学者疑问:用汇编显示 ' I LOVE YOU CHINA' 字符!用了中断显示,为什么可以通过编译,但是运行出错。
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] 没有访问到正确的、自己需要的内容。

热点排行