鱼C论坛

 找回密码
 立即注册
查看: 5327|回复: 8

关于检测点9.3问题

[复制链接]
发表于 2011-7-7 17:55:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在检测点9.3中,assume cs:code
code segment
start:
        mov ax,2000h
        mov ds,ax
        mov bx,0
        s:
                mov cl,[bx]
                mov ch,0
                inc cx  ;此条指令为题目要求补全的指令
                inc bx
        loop s
        
        ok:
                dec bx
                mov dx,bx
                mov ax,4c00h
                int 21h
code ends
end start

我填inc cx读不懂,在此处认为应该是一条判断cx是否为0的语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 18:23:34 | 显示全部楼层
本帖最后由 liuhui88126 于 2011-7-7 18:24 编辑

你用inc cx不就是死循环了嘛?应该是jczx ok,如果值为0,则跳到OK处执行。不为0,则继续循环检查。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 18:26:19 | 显示全部楼层
你题目看清楚哦,判断偏移地址中的数值是否为哦,为0的话,将偏移地址放入DX
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 21:39:30 | 显示全部楼层
本帖最后由 陌路狂奔 于 2011-7-7 21:40 编辑

LOOP执行前,先执行CX=CX-1判断CX是否为0,如果为0就向下执行。如果用跳转指令JCXZ或者其它的,下面的DEC BX,应该就不用了,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-7-8 15:22:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2017-6-16 15:14:42 | 显示全部楼层
个人感觉,这道题容易狗血的地方。
1.不是所有带有标号的指令都需要跳转或者调用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-17 20:24:18 | 显示全部楼层
吃货YA鸭 发表于 2017-6-16 15:14
个人感觉,这道题容易狗血的地方。
1.不是所有带有标号的指令都需要跳转或者调用

是啊,他这里的OK完全没用,就是用来骗人的,前面也没讲标号可以随便标,要吐了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-24 00:23:39 | 显示全部楼层
我上机试了下,死循环。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 16:24:04 | 显示全部楼层
的确,这个ok有没有都一样,不过程序没问题,基本思路是:
1.如果(bx)不为零,那么cx也不为零,程序执行到loop s处cx-1,此时cx不为零,程序继续循环往下找
2.一旦找到为0的值,那么cx=0,执行到loop时cx-1就不为零了,程勋还会循环执行。所以必须在之前再cx+1,才能保证到loop的时候cx-1=0,然后程序往下执行到ok处,但前面bx多加了个1,必须先减掉才是正确的偏移地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 19:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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