63319928 发表于 2011-5-15 23:30:15

新手求助

本帖最后由 loop 于 2011-5-21 12:33 编辑

http://bbs.fishc.com/data/attachment/album/201105/15/232137rewg2j0gefjs0owl.png

上图中在debug中使用g命令调试怎么最后的dx中的值是0
我刚学汇编有很多不懂希望各位网友能多多指点共同进步

lxbwyr 发表于 2011-5-15 23:46:47

LOOP 标号 [循环]
CX作为循环LOOP计数器,每循环一次CX自减1。当CX为零时,跳出循环。

sunhopp 发表于 2011-5-15 23:55:59

本帖最后由 sunhopp 于 2011-5-15 23:57 编辑

我用Debug单步调试了一下,发现DX的结果太大,“溢出”了,cx=15就合适了!

63319928 发表于 2011-5-19 21:31:11

回复 sunhopp 的帖子

你好我是跟着教学视屏做的源代码都是一样的啊
就是算不出dx的值不知道是那个地方出错了

sunhopp 发表于 2011-5-20 02:13:01

你可以用T命令单步调试,观察DX的值。

63319928 发表于 2011-5-20 12:05:10

回复 sunhopp 的帖子

我试了下单步调试没问提
在debug中使用g或p命令就算不出dx的值了

http://bbs.fishc.com/data/attachment/album/201105/20/1203094h40a8a4653ahap5.jpg
这是源代码

sunhopp 发表于 2011-5-20 12:53:34

CX的值你设置小一些!!相加的结果太大了“溢出”了!

sunhopp 发表于 2011-5-20 12:54:08

本帖最后由 sunhopp 于 2011-5-20 12:57 编辑

代码用   括起来。这样方便其他人阅读!
assume cs:cod

cod segment
        mov ax,0ffffh
        mov ds,ax
        mov bx,6
        mov ax,
        mov dx,6
        mov cx,10;值设置小一些
s:        add dx,dx
        loop s

        mov ax,4c00h
        int 21h
cod ends
end

63319928 发表于 2011-5-21 12:17:06

回复 sunhopp 的帖子

恩知道错在哪了
很感谢你的帮助:)
页: [1]
查看完整版本: 新手求助