彙編 JCXZ條件轉移指令

2021-09-05 09:04:18 字數 968 閱讀 5939

jcxz =  j:jmp  cx:cx暫存器  z:zero(當cx暫存器中的值為0時,進行跳轉)

jcxz指令與loop指令正好相反.

loop指令:當cx暫存器的值不等於0時,才進行跳轉.

所有的條件轉移指令都是短轉移,位移範圍是(-128~127), 經過編譯後,機器碼中包含了位移的範圍。 ebxx, xx就是轉移的位元組長度, 這個xx是在編譯器編譯時候計算的。計算公式是: 標號處的編譯位址 - jmp指令後第乙個位元組的位址。

assume cs:code

code segment

start: mov ax, 2000h

mov ds,ax

mov bx,0

s: mov ch,0

mov cl, ds:[bx]

jcxz ok ; cx暫存器的值為0, 才會跳轉

inc bx

jmp short s

ok: mov ax, bx

mov ax, 4c00h

int 21h

code ends

end start

assume cs:code

code segment

start: mov ax, 2000h

mov ds, ax

mov bx,0

; 利用loop指令,實現在記憶體 2000h段中查詢第乙個值

; 為0的位元組,找到後,將它的偏移位址儲存在dx中

s: mov cl, ds:[bx]

mov ch, 0

inc cx

inc bx

loop s

dec bx ; 將bx中的值-1

mov dx, bx

mov ax,4c00h

int 21h

code ends

end start

8086彙編 jcxz 指令

指令格式 jcxz 標號 功能 如果 cx 0,則轉移到標號處執行當 cx 0時,什麼也不做 程式向下執行 jcxz是有條件轉移指令 注 當cs等於0 jcxz轉移到 ok assume cs codesg codesg segment start mov ax,2000h mov ds,ax mo...

彙編JCXZ指令的用法

jcxz的全稱我沒搜到,但大概是jump if cx equals zero,在cx 0時跳向某個標號,cx 0時繼續向下執行 和迴圈配合起來可以查詢特定的值,比如下面這個例子 在記憶體2000h段中查詢第乙個值為0的位元組,找到後將它的偏移位址儲存在dx中。assume cs codesg cod...

170420 彙編 其他條件轉移指令

1625 5 王子昂 總結 2017年4月20日 連續第201天總結 a.彙編第十一章90 b.檢測比較結果的條件轉移指令 轉移指的是它能夠修改ip 條件指的是它可以根據某種條件決定是否修改ip 比如jcxz就是乙個條件轉移指令,檢測cx中的值是否為0,決定是否轉移至標號處 除此以外,大多數條件轉移...