
王爽汇编第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 展开
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 展开
3个回答
展开全部
ch是高8位,仅你写的下两句无法确定ch是否为0,也就无法确定cx是否为0.
效果不一样哦。
jcxz 必须保证cx为0,才能执行
而且;mov al,[bx] 和;mov cl,al 两句可以合成一句 mov cl, [bx] (这样写是正确的)
你要多思考思考噢
望采纳哈!
效果不一样哦。
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,结果都一样。只是碰巧而已。
思维要放在对所有题上, 都是对的才行。一个思维解决所有题,而不是只能在某一个题上。
不知道你明白我的意思么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询