⊙不去のXiǎo时 发表于 2012-6-12 14:07:22

关于汇编问题7.8我的一个小失误带来的一段正常程序......

       看了35集我就编了一下,犯了一个小错误,没有设定内层循环的cx值,但是确实是运行出来了,看了36集以后对小甲鱼讲的都明白,后来我就想多添加几个字母试试ok不,结果也可以正常运行,且得到要求结果,额.....现在有点晕乎,有那位大手帮忙看看,给我解释一下,代码如下:
assume cs:code,ds:data
data segment
db 'kjs             '
db 'alj             '
db 'opqdub          '
db 'fcuk            '
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov cx,4
s:mov si,0
s1: mov al,ds:
and al,11011111b
mov ds:,al
inc si
loop s1

add bx,16
loop s

mov ax,4c00h
int 21h

code ends
end start

玩酷子弟lv 发表于 2012-6-12 14:07:23

⊙不去のXiǎo时 发表于 2012-6-12 18:13 static/image/common/back.gif
谁会啊?解释一下么,求大手帮忙 啊,千万不要沉了啊

执行3次loop s1后,cx变为0跳出循环,执行add bx,16,loop s,当再次执行loop s1 后 cx变为 ffff,
所以可以继续循环。你仔细debug就可以发现了。

⊙不去のXiǎo时 发表于 2012-6-12 18:13:34

:L谁会啊?解释一下么,求大手帮忙 啊,千万不要沉了啊

静雨纷纷 发表于 2012-6-12 22:58:24

······等再往后看几章··就明白了······ cx搞得鬼····

⊙不去のXiǎo时 发表于 2012-6-13 08:45:50

玩酷子弟lv 发表于 2012-6-12 18:36 static/image/common/back.gif
执行3次loop s1后,cx变为0跳出循环,执行add bx,16,loop s,当再次执行loop s1 后 cx变为 ffff,
所以可 ...

ok,谢了,明白了,不过s1循环了4次,呵呵

⊙不去のXiǎo时 发表于 2012-6-13 08:47:14

静雨纷纷 发表于 2012-6-12 22:58 static/image/common/back.gif
······等再往后看几章··就明白了······ cx搞得鬼····

呵呵,恩,感想

⊙不去のXiǎo时 发表于 2012-6-13 08:47:55

静雨纷纷 发表于 2012-6-12 22:58 static/image/common/back.gif
······等再往后看几章··就明白了······ cx搞得鬼····

额,打错了,感谢ing

⊙不去のXiǎo时 发表于 2012-6-13 16:19:20

玩酷子弟lv 发表于 2012-6-12 14:07 static/image/common/back.gif
执行3次loop s1后,cx变为0跳出循环,执行add bx,16,loop s,当再次执行loop s1 后 cx变为 ffff,
所以可 ...

还有这个是不是进入死循环了?我觉得应该是进入死循环了,但是可以运行....

玩酷子弟lv 发表于 2012-6-13 16:27:13

⊙不去のXiǎo时 发表于 2012-6-13 16:19 static/image/common/back.gif
还有这个是不是进入死循环了?我觉得应该是进入死循环了,但是可以运行....

是死循环

少校 发表于 2012-6-13 20:02:42

求大手帮忙 啊,千万不要沉了啊

⊙不去のXiǎo时 发表于 2012-6-18 16:38:29

玩酷子弟lv 发表于 2012-6-13 16:27 static/image/common/back.gif
是死循环

可以运行一下,但是没有死,还是退回到cmd界面了
求解释
页: [1]
查看完整版本: 关于汇编问题7.8我的一个小失误带来的一段正常程序......