检测点9.3
补全编程,利用loop指令,实现在内存2000h段中查找第一个值为0的字节,找到后,将它的偏移地址储存在dx中assume cs:code
code segment
start: mov ax, 2000h
mov ds, ax
mov bx, 0
s: mov cl,
mov ch, 0
add cx, 1h
inc bx
loop s
ok: dec bx
mov dx, bx
mov ax, 4c00h
int 21h
code ends
end start
mov ch,0下面不应该是jcxz ok吗? 本帖最后由 奥普瓯江 于 2018-8-2 17:54 编辑
god圣锋 发表于 2018-8-1 15:10
mov ch,0下面不应该是jcxz ok吗?
如果是jcxz ok是不对的,因为loop的运转方式是先cx减去1然后在判断是否位移,这样的话如果2000:0000中存入的是1的话,那loop判断将会失效,或者检测中的某一个内存中存放的是1的话也会使得loop指令失效 奥普瓯江 发表于 2018-8-2 17:53
如果是jcxz ok是不对的,因为loop的运转方式是先cx减去1然后在判断是否位移,这样的话如果2000:0000中 ...
嗯,仔细想了想,你说的对啊,确实不能jcxz
页:
[1]