检测点9.3

补全编程,利用loop 指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。

注:loop只有当 cx-1> 0时才会继续循环,因此如果传入cl的值为0,则cl与ch组合为0,需加上1才可以满足cx-1=0退出循环。
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
    ;dec指令的功能和inc相反,dec bx 进行的操作为: (bx)= (bx)-1
    mov dx, bx
    mov ax, 4c00h 
    int 21h
code ends
end start