~疯子 发表于 2011-12-13 15:42:04

检测点14.2那里出问题 安源文件抄的怎么就没有结果

本帖最后由 ~疯子 于 2011-12-13 20:36 编辑

assume cs:c_s
c_s segment
A:
        mov ax,0b800h
        mov ds,ax
       
        mov al,8;定义内存单元为2号单元
        out 70h,al;70h为地址端口
        in al,71h ;71h为数据端口
        ;al等于71h数据端口里2号单元里的数据
        ;转换BCD码
        ;一个BCD码是4位 ,一个字节为8为 ,高4位是十进制的十位,低4位为十进制的个位
        mov ah,al        ;把al给ah   ah右移4位成为十位
        mov cl,4
        shr ah,cl                ;右移运算不能直接赋值
       
        ;要与运算and 00001111b
        and al,00001111b
       
        ;转换为十进制加30h
        add ah,30h
        add al,30h
       
       
        mov byte ptr ds:,dh
        mov byte ptr ds:,al
       

        mov ax,4c00h
        int 21h
c_s ends
end A

zzmatrix 发表于 2011-12-13 16:08:10

你把0b800h给了ds,后面又拿es输出?

~疯子 发表于 2011-12-13 18:12:34

OO
谢谢
这两天晕了

吹水哥 发表于 2011-12-13 19:18:28

~疯子 发表于 2011-12-13 18:12 static/image/common/back.gif
OO
谢谢
这两天晕了

加油,我也差不多了!

~疯子 发表于 2011-12-13 20:38:55

改了也不行

zzmatrix 发表于 2011-12-13 22:58:30

显示的那行是ah,不是dh

~疯子 发表于 2011-12-14 08:11:08

看来真晕了   不好意思谢谢
页: [1]
查看完整版本: 检测点14.2那里出问题 安源文件抄的怎么就没有结果