cfer 发表于 2011-11-11 23:41:22

书上第157页的疑惑

这个用一个字型单元做为cx的暂存器的程序我用debug调试以后发现不能实现功能,即把小写变成大写字母,这是怎么回事呢,大虾们可以运行试试看,我两个系统都试过了,呵呵, 还是不行。

风扫地 发表于 2011-11-12 00:09:20

本帖最后由 风扫地 于 2011-11-12 00:18 编辑

最后的那个dw0的地址是40H吗?
你写的四个db字符串最后是不是有13个空格。。
我跟了一下。发现没有问题。


cfer 发表于 2011-11-12 12:49:37

是的,但是我的还是不行。请你帮我看看吧。
assume        cs:codesg,ds:datasg
datasg        segment
        db        'ibm             '
        db        'dec             '
        db        'dos                       '
        db        'vax                       '
        dw        0
datasg        ends
codesg        segment
start:        mov        ax,        datasg
                mov        ds,        ax
                mov        bx,        0
                mov        cx,        4
        s0:        mov        ds:,        cx
                mov        si,        0
                mov        cx,        3
               
        s:        mov        al,       
                and        al,        11011111b
                mov        ,        al
                inc        si
               
                loop        s
                add        bx,16
                mov        cx,        ds:
                loop        s0
               
                mov        ax,        4c00h
                int        21h
codesg        ends
end        start

cfer 发表于 2011-11-12 12:55:47

风扫地 发表于 2011-11-12 00:09 static/image/common/back.gif
最后的那个dw0的地址是40H吗?
你写的四个db字符串最后是不是有13个空格。。
我跟了一下。发现没有问 ...



那个vax在程序执行前,位置就不对

cfer 发表于 2011-11-12 13:01:24

风扫地 发表于 2011-11-12 00:09 static/image/common/back.gif
最后的那个dw0的地址是40H吗?
你写的四个db字符串最后是不是有13个空格。。
我跟了一下。发现没有问 ...

把我的代码粘贴到论坛上才终于知道了,一定是我在输空格的时候不小心用了中文输入法,结果ibm 和 dec的英文模式的空格数没有13个,但是当时显示又确实是13个,哈哈,现在好了,看来以后得注意呢。
页: [1]
查看完整版本: 书上第157页的疑惑