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,決定是否轉移至標號處 除此以外,大多數條件轉移...