欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

诸位大大,有空的请指点一二,初学汇编

更新时间: 2014-01-05 03:18:01 责任编辑: Author_N1

 

各位大大,有空的请指点一二,初学汇编
这是个向显存写入字符然后显示出来的程序,我写好用debug调试后结果只显示21行,按照程序的设计应该显示25行的为什么只有21行啊? 不懂,求解
assume cs:codesg,ds:datasg
datasg segment
   db 'hello world!',0
datasg ends
codesg segment
 start: mov ax,datasg
        mov ds,ax
        mov ax,0b800h
        mov es,ax
        mov bx,0
        mov al,00100100b
        mov cx,25
    s0: mov si,0
mov di,0
    s1: cmp byte ptr [si],0
        je ok
mov ah,[si]
        mov es:[bx+di+40],ah
        inc di
mov es:[bx+di+40],al
inc si
inc di
        jmp short s1
    ok: add bx,160
        loop s0
        mov ax,4c00h
        int 21h
codesg ends
end start


--参考方法--
经编译运行,确认是25行!
--参考方法--
被 debug 最后的 p 命令的输出滚屏给扔出去了呗。
最简单的就是 dos 命令行下,cls 命令清下屏,在直接运行你的这个程序;或者是清屏后 debug 载入你的程序,g 命令直接运行,保证 debug 的输出无须翻屏即可。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:18:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20568/
本文WWW.DOC100.NET DOC100.NET版权所有。