loop指令為迴圈指令,所有的迴圈指令都是短轉移指令
所有條件轉移指令都是短轉移指令,對於的機器碼中包含了位移的範圍(-128~127)
這個位移範圍是編譯器在編譯的時候計算出來的
指令格式:loop 標號(cx=cx-1,如果cx≠0,轉移到標號處執行)
操作:(1)cx=cx-1
(2)如果cx≠0,ip=ip+八位位移 (不低於0則進行跳轉,等於零則繼續執行下面的程式)
八位位移=標號處的位址-loop指令後第乙個位元組的位址
問題:補全程式設計,利用loop指令,實現在記憶體2000h段中查詢第乙個值為0的位元組,找到後,
將它的偏移位址存貯在dx中。
;補全程式設計,利用loop指令,實現在記憶體2000h段中查詢第乙個值為0的位元組,找到後,
;將它的偏移位址存貯在dx中。
;通過loop指令來查詢位元組型資料,cx
assume cs:code
code segment
start: mov ax,2000h
mov ds,ax
mov bx,0
s: mov cl,ds:[bx]
mov ch,0
inc cx
inc bx
loop s
ok: dec bx ; dec(decrease)指令的功能與inc(increase)相反 ,bx=bx-1
mov dx,bx
mov ax,4c00h
int 21h
code ends
end start
8086彙編 Loop 指令
功能 實現迴圈 計數型迴圈 cpu 執行loop指令時要進行的操作 用cx和loop 指令相配合實現迴圈功能的三個要點 1 在cx中存放迴圈次數 2 用標號指定迴圈開始的位置 3 在標號和loop 指令的中間,寫上要迴圈執行的程式段 迴圈體 如果 cx 0,ip ip 8位位移 10op指令示例程式...
8086彙編 Loop 指令
功能 實現迴圈 計數型迴圈 cpu 執行loop指令時要進行的操作 用cx和loop 指令相配合實現迴圈功能的三個要點 1 在cx中存放迴圈次數 2 用標號指定迴圈開始的位置 3 在標號和loop 指令的中間,寫上要迴圈執行的程式段 迴圈體 如果 cx 0,ip ip 8位位移 10op指令示例程式...
控制轉移指令
jmp j jcxz loop call retjmp jump 無條件轉移指令名稱 格式 執行操作 段內直接短跳轉 jmp short opr ip ip 8位偏移量 段內直接近轉移 jmp near ptr opr ip ip 16位偏移量 段內間接轉移 jmp word ptr opr ip ...