jmp跳轉的本質
assume cs:code
code segment
mov ax,4c00h
int 21h
start: mov ax,0
s: nop ;佔位一個位元組
nop ;佔位一個位元組
mov di,offset s ;s的偏移地址
mov si,offset s2 ;s2的偏移地址
mov ax,cs:[si] ;把s2的內容傳給ax
mov cs:[di],ax ;把s2的內容傳給s nop佔一個位元組 jmp佔兩個位元組 正好 此時s: jmp short s1
s0: jmp short s
s1: mov ax,0
int 21h
mov ax,0
s2: jmp short s1
nop
code ends
end start
為啥nop nop就變成了 jmp 0000了呢
s2 到 s1的距離 22h-18h =10h (jmp(2) + mov(3) + mov(3) +int(2)) 也就是說 jmp short s1的時候 向上偏移了
10所以 實際上 jmp shirt s 執行之後 執行的是 jmp short s1 即向上偏移10
在debug裡就是 jmp 0000
相關文章
- 64位下JMP遠跳地址的計算方法
- Android 跳轉過後關閉本介面Android
- jmp使用
- js頁面跳轉的問題(跳轉到父頁面、最外層頁面、本頁面)JS
- log1按鈕介質頁面跳轉
- 遊戲設計的本質(一):數值的本質遊戲設計
- 轉跳
- 學習的本質
- Battle Pass的本質BAT
- 聊聊 ChatGPT 的本質ChatGPT
- OC物件的本質物件
- Category的本質<一>Go
- [轉帖]Redis系列:深刻理解高效能Redis的本質Redis
- 阻止a標籤的跳轉,a標籤自動跳轉引起的錯誤
- JS 跳轉JS
- Fragment跳轉的騷操作Fragment
- 人生規劃的本質
- 矩陣合同的本質矩陣
- 金融交易的本質
- 從缺陷率到質效工作的本質
- vscode 跳轉到函式之後怎麼跳轉回之前的位置VSCode函式
- 客戶端跳轉技術,服務端跳轉技術,兩種跳轉的各自使用場合和特點客戶端服務端
- Ability跳轉指定Slice的方法
- vue 跳轉的兩種方法Vue
- 超連結的跳轉位置
- Flowable 自由跳轉
- Flowable自由跳轉
- 錨點 跳轉
- 【ionic】介面跳轉
- Rollup的本質是什麼?
- 架構設計的本質架構
- Objective-C 類的本質Object
- Block學習①--block的本質BloC
- 網站劫持跳轉,分享網站被劫持跳轉的解決辦法網站
- 操作符offset 和 jmp指令
- 微信跳轉_跳轉微信原理 weixin://dl/business/?ticket=xxx
- 頁面跳轉的幾種方法
- 程式設計師寫的跳轉程式設計師