匯編: 檢測(cè)點(diǎn)9.2-jcxz

一. 題目

補(bǔ)全編程,利用jcxz 指令,實(shí)現(xiàn)在內(nèi)存2000H段中查找第一個(gè)值為0的字節(jié),找到
后,將它的偏移地址存儲(chǔ)在dx中.

題目

二. 實(shí)現(xiàn)

分析: 遍歷2000H段地址后的每一個(gè)字節(jié), 并賦值給cx, 如果cx==0, 則會(huì)執(zhí)行jcxz 標(biāo)號(hào)處的指令

assume cs:code
code segment
start:
        mov ax, 2000h
        mov ds, ax
        mov bx, 0
    s:  mov cl, [bx]
        mov ch, 0h
        jcxz ok
        inc bx

        jmp short s
   ok:  mov dx, bx
        mov ax, 4c00h
        int 21h
code ends
end start

注: 因?yàn)橐蟛檎易止?jié), 所以用cl存放字節(jié)值, ch 置0

三. 驗(yàn)證

  1. 因?yàn)?code>2000h:0處值為0, 不利于測(cè)試, 設(shè)置2000h:0 開始的三個(gè)值分別為1, 2, 3:

    設(shè)置值

    設(shè)置后的第一個(gè)為0的字節(jié)應(yīng)為2000H:3

  2. 運(yùn)行


    運(yùn)行一

    運(yùn)行二

此處可看到偏移地址為0003(bx) 處的值為0, 則cx==0, 則運(yùn)行jcxz 之后的指令地址: 0011h


運(yùn)行`0011h`處指令
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容