- 格式:jcxz 标号
含义:if (cx == 0) jmp short 标号 - 格式:loop 标号
含义:
cx=cx-1
if (cx != 0) jmp short 标号
检测点9.2
利用 jcxz 指令 , 实现在内存 2000H 段中查找第一个值为 0 的字节找到后 , 将其偏移地址保存在 dx 中。
jcxz判断cx是否为0,cx是一个字,这里要找字节,所以需要把cx的另一个字节设为0。
方法1:
assume cs:code
code segment
start:
mov ax,2000h
mov ds,ax
mov bx,0
s:
//mov cx,[bx] //自己把mov cl,[bx]写成mov cx,[bx],虽然也没错,还是对这里不熟
mov cl,[bx] //这四行是要填写的
mov ch,0 //
jcxz ok //
inc bx //
jmp short s
ok:
mov dx,bx
mov ax,4c00h
int 21h
code ends
end s
方法2:
loop前cx–再判断,所以手动cx++;
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 ;//sub bx,1
mov dx,bx
mov ax,4c00h
int 21h
code ends
end s