王爽汇编第9章检测点9.2简单小问题

assumecs:codecodesegmentstart:movax,2000hmovds,axmovbx,0s:movcl,ds:[bx];上面两行是原题答案。但是这... assume cs:code

code segment

start:mov ax,2000h

mov ds,ax

mov bx,0

s:mov cl,ds:[bx];上面两行是原题答案。但是这里为什么要CH置为0?貌似不用这个语句,最后结果也是一样的啊!
mov ch,0 ;上面两行是原题答案。但是这里为什么要CH置为0?貌似不用这个语句,最后结果也是一样的啊!
;mov al,[bx] ; 下面自己写的这两行就是没用CH置为0,效果一样哦。

;mov cl,al ; 下面自己写的这两行就是没用CH置为0,效果一样哦。

jcxz ok ;当cx=0时,CS:IP指向OK

inc bx

jmp short s

ok:mov dx,bx

mov ax ,4c00h

int 21h

code ends

end start
展开
 我来答
有一只黑白猫
2012-09-29 · TA获得超过2554个赞
知道大有可为答主
回答量:3628
采纳率:50%
帮助的人:1577万
展开全部
ch是高8位,仅你写的下两句无法确定ch是否为0,也就无法确定cx是否为0.
效果不一样哦。
jcxz 必须保证cx为0,才能执行
而且;mov al,[bx] 和;mov cl,al 两句可以合成一句 mov cl, [bx] (这样写是正确的)
你要多思考思考噢
望采纳哈!
更多追问追答
追问
ch是高8位,仅你写的下两句无法确定ch是否为0,也就无法确定cx是否为0.
;这个我知道的,但是不用把高8位置0 ,dx的结果是一样的。你最好试下,光从理论上说是没错的,但是经过实践,我发现两种方法结果完全一样!从实践结果看我就很困惑了同时也是我的问题所在!
追答
你的思维仅限在这一个题上是对的,但若换了题,你的做法可能是错误的。
这题的ch本来就是0,所以把ch置不置为0,结果都一样。只是碰巧而已。
思维要放在对所有题上, 都是对的才行。一个思维解决所有题,而不是只能在某一个题上。
不知道你明白我的意思么
百度网友01cf734
2012-09-29 · TA获得超过107个赞
知道答主
回答量:115
采纳率:0%
帮助的人:53.6万
展开全部
要用的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜的七弦
2012-09-29 · TA获得超过182个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:155万
展开全部
可以 不用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式