surongre 发表于 2011-11-15 17:03:47

粗心害死人啊。。。。。

assume cs:code,ds:data

data segment
        db '1. display      '
        db '2. brows      '
        db '3. replace      '
        db '4. modify       '
data ends

code segment
        start: mov ax,data
                   mov ds,ax
                   mov bx,0H
                  
                   mov cx,4
                  
        s0:           push cx
                   mov si,0H
                   mov cx,4
                  
        s:           mov al,
                   and al,11011111B
                   mov ,al
                   inc si
                   loop s
                  
                   add bx,10H
                   pop cx
                   loop s0
                  
                   mov ax,4c00H
                   int 21H
code ends
end start把data段里的数据前4个字母改成大写,执行后总是变成像DHRS之类的,结果我就纳闷了,为什么会这样呢,debug了一个下午
还是没头绪。后来起来活动活动,撇了一下电脑,结果看出毛病来了
本来是与运算
and al,11011111B结果我粗心了,打成
add al,11011111B变成加法了{:5_100:}

尼玛的,粗心死了。。。。。。。。。

BinGu 发表于 2011-11-15 19:22:13

:L,不喜欢看16位了~

蓝鹰 发表于 2011-11-16 20:45:13

:o粗心···晕

seuer126 发表于 2011-11-17 10:10:21

呵呵,有时长时间苦苦想一个问题,放下休息一段时间后,再看看就豁然开朗了!

100531319 发表于 2011-11-17 12:14:12

很对, 我就是这样,不懂的,休息两天在看,就明白了{:5_109:}
页: [1]
查看完整版本: 粗心害死人啊。。。。。