組合語言
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的值。直接轉移是指轉移的目標位址直接出現在指令中,在程式執行前就已經確定 間接轉移是指轉移的...