| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1285 人关注过本帖
标题:怪问题???
取消只看楼主 加入收藏
dizengrong
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-8-25
结帖率:100%
收藏
 问题点数:0 回复次数:1 
怪问题???
下面的这个DOS汇编程序真让人费解,
麻烦高手给看看问题出在哪了。
程序代码:
.model small
.stack 200h    
.CODE
START:
    ;mov     ax,@data
    ;mov     ds,ax
    mov     bl,0ffh
    mov     al,bl
    call     displayBit
    
    ;暂停,任意键关闭
    mov ah,1
    int 21h
    mov ah,4ch     ;结束,可以修改al设置返回码
    int 21h
    
displayBit    proc    ;要显示的8位二进制放在al中
    .386
    pusha
    mov     cx,8
    display:    
            shl     al,1        ;将al的最高位送进CF
            ;push     ax        ;当我不加push ax与pop ax时运行结果就不对, 
            mov     dl,0       ;加了就对了,难道哪条指令改变了al?
            adc    dl,0        
            or    dl,30h    ;转化为ASCII码
            mov    ah,2
            int    21h
            ;pop    ax
    loop    display    
    popa
    ret
displayBit endp
END START
搜索更多相关主题的帖子: Dos汇编 
2008-10-19 11:26
dizengrong
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-8-25
收藏
得分:0 
哦,原来如此啊!
感谢各位啦!并再次谢谢版主zklhp的提醒。
2008-10-19 20:40
快速回复:怪问题???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011886 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved