# 检测点 9.2 9.3

检测点 9.2

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

code segment
start:          mov ax,2000H
                mov ds,ax
                mov bx,0
        s:      mov ch,0; 这题要注意的是字节为0,但cx是字寄存器
				mov cl,[bx]
				jcxz ok; 判断是否为0,正好可以利用jcxz的特性
				inc bx; 判断之后再加一,不会影响正确的bx值
                jmp short s
                
        ok:     mov dx,bx
                mov ax,4c00h
                int 21h
code ends
end start

检测点 9.3

  1. 补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start:  mov ax,2000h
        mov ds,ax
        mov bx,0
s:        mov cl,[bx]
        mov ch,0
        inc cx; 由于检测cx是否为0,需要先减一在判断,故需先要加一才能进行判断
        inc bx
        loop s

ok:dec bx
        mov dx,bx
        mov ax,4c00h
        int 21h

code ends
end start
posted @ 2023-07-14 11:37  三年、  阅读(57)  评论(0)    收藏  举报