控制轉移指令

2022-05-05 05:39:10 字數 1531 閱讀 1561

組合語言

1.jmp

段內轉移 

short 8bit

-128~+127

near 16bit

-2^15~+2^15 -1

段間轉移

遠轉移 32bit

定址方式

段內相對定址 jmp label 修改ip

段內間接定址 jmp r16/m16 更換ip

段間直接定址 jmp far ptr label

段間間接定址 jmp far ptr men

ip<-men cs<-men+2

2. jcc

無符號數  bellow   above   equal

jbja

jaejnae

有符號數 less greater

;若x>50,轉到exit結束;  否則計算x-y   溢位轉到overflow   否則|x-y|->result

cmp x,50

jg exit

movax,x

subax,y

jo overflow

cmpax,0

jnl next

negaxnext:

mov result,ax

jmp exit

overflow:

exit:

3. loop

;求首位址為array的m個字之和,結果存入total

movax,0

leabx,array

movcx,m

sum:

addax,[bx]

incbxinc

bxloop sum

mov total,ax

;記錄字串string中空格的個數	

movcx,count

leabx,string

moval,0

movdx,0

again:

moval,[bx]

cmpal,20h

jnz not20h

incdxnot20h:

incbx

loop again

4.子程式

;用子程式實現al低四位的16進製制轉化為ascall

moval,0fh

call htoasc

htoasc proc

oral,30h

cmpal,39h

jbe over

addal,7

over:

rethtoasc endp

控制轉移指令

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 ...

微機控制轉移類指令

1.無條件跳轉指令 指令格式 jmp 目標位址 注意點 1 指令目標位址若在jmp指令所在的 段內,屬段內跳轉,指令只修改ip內容。指令目標位址若在jmp指令所在的 段外,屬段間跳轉,cs及ip均要修改。2 無條件跳轉指令的執行結果不影響標誌位。條件跳轉指令,條件跳轉指令可分為三類 簡單條件跳轉指令...

組合語言 控制轉移類指令

1 無條件轉移指令 根據轉移的距離,jmp指令可分為兩類 段內轉移和段間轉移 段內轉移是在同一 段內進行,又稱近轉移,只要修改ip的值即可實現 段間轉移可以在不同 之間進行,又稱遠轉移,需要同時修改cs和ip的值。直接轉移是指轉移的目標位址直接出現在指令中,在程式執行前就已經確定 間接轉移是指轉移的...