鱼C论坛

 找回密码
 立即注册
查看: 1787|回复: 6

大家好,有个地方不太懂,求教

[复制链接]
发表于 2012-7-19 13:31:26 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 布衣 于 2012-7-19 13:57 编辑

这是汇编语言检测点9.3关于loop指令的答案
assume cs:code
code segment
start:
        mov ax,2000h
        mov ds,ax
        mov bx,0
        s:
                mov cl,[bx]
                mov ch,0
                inc cx    ;此条指令为题目要求补全的指令(我的问题——为什么要让CX的值加1,这样一来cx不就永远不等于0,一直在s循环里不断重复?)
                inc bx              
        loop s
        
        ok:
                dec bx(为什么要让bx的值减1呢)
                mov dx,bx
                mov ax,4c00h
希望大家能予以解惑,在此感谢
                int 21h
code ends
end start

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-7-19 13:53:42 | 显示全部楼层
恍然大悟,原来我傻了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-19 13:55:37 | 显示全部楼层
恍然大悟,原来我傻了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-19 16:28:59 | 显示全部楼层
inc cx是因为loop s会先执行cx-1所以若cx=0,那么loop  s后会向下执行 ,进入ok,但是loop s前 inc bx了,所以最后要bx的值减一
有问题可以继续追问{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-23 07:07:35 | 显示全部楼层
额 俺还没有懂   求大神指点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-23 07:08:08 | 显示全部楼层
貌似要刷评论才有预币赚哎0.0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-23 08:53:32 | 显示全部楼层
能解决就好。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-20 11:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表