日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

转移地址在内存中的jmp指令 检测点9.1

發(fā)布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转移地址在内存中的jmp指令 检测点9.1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)移地址在內(nèi)存中的jmp指令有兩種格式:
(1)jmp word ptr 內(nèi)存單元地址(段內(nèi)轉(zhuǎn)移)
功能:從內(nèi)存單元地址處開始存放著一個字,是轉(zhuǎn)移的目的偏移地址。

mov ax,0123h
mov ds:[0],ax
jmp word ptr ds:[0]
執(zhí)行之后IP=0123h

(2)jmp dword ptr 內(nèi)存單元地址(段間轉(zhuǎn)移)
功能:從內(nèi)存單元地址處開始存放著兩個字,高地址處的字是轉(zhuǎn)移的目的段地址,低地址處,是轉(zhuǎn)移的目的偏移地址。
CS=內(nèi)存單元地址+2
IP=內(nèi)存單元地址

mov ax,0123h mov ds:[0],ax mov word ptr ds:[2],0 jmp dword ptr ds:[0] 執(zhí)行之后CS=0,IP=0123H CS:IP指向0000:0123

1)程序如下

assume cs:codedata segment? data endscode segmentstart:mov ax, datamov ds, axmov bx, 0jmp word ptr [bx+1]code ends end start

若要使程序中的jmp指令執(zhí)行后,CS:IP指向程序的第一條指令,在data段中應(yīng)該定義哪些數(shù)據(jù)?

若要指向第一條指令,則要使IP的值為0000H即可,而jmp word ptr為段內(nèi)轉(zhuǎn)移指令,相當(dāng)于把IP值賦值為后面內(nèi)存單元的值,故只需要第一個字節(jié)為0即可。


(2)補全程序,使得jmp指令執(zhí)行后,CS:IP指向第一條指令

assume cs:codedata segmentdd 12345678H data endscode segmentstart:mov ax, datamov ds, axmov bx, 0mov [bx], __mov [bx+2], __jmp dword ptr ds:[0]code ends end start

由于執(zhí)行jmp指令后指向第一條指令,CS段沒有改變,只需要改變IP值為0000H。而段間轉(zhuǎn)移相當(dāng)于把內(nèi)存地址開始的前兩個字節(jié)賦值給IP,后面的兩字節(jié)賦值給CS,按順序填入0和CS值即可。

答案:bx cs

(3)用debug查看,內(nèi)存數(shù)據(jù)如下

2000:1000 BE 00 06 00 00 00 ……

;此時CPU執(zhí)行指令

mov ax, 2000H mov es, ax jmp dword ptr es:[1000H]

后,(CS) = ? (IP) = ?
把前兩個字節(jié)賦值給IP,后面的兩字節(jié)賦值給CS

答案:CS = 0006H IP = 00BEH

總結(jié)

以上是生活随笔為你收集整理的转移地址在内存中的jmp指令 检测点9.1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。