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

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

2013-04-12 
各位大大,有空的请指点一二,初学汇编这是个向显存写入字符然后显示出来的程序,我写好用debug调试后结果只

各位大大,有空的请指点一二,初学汇编
这是个向显存写入字符然后显示出来的程序,我写好用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 的输出无须翻屏即可。

热点排行