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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

操作符offset 和 jmp指令

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作符offset 和 jmp指令 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)移指令的原理

轉(zhuǎn)移指令:可以修改IP或者同時(shí)修改CS和IP的指令(jmp、loop、call)
總的來說,轉(zhuǎn)移指令就是可以控制CPU執(zhí)行內(nèi)存中某處代碼的指令。
8086的轉(zhuǎn)移行為有一下幾類:

  • 只修改ip時(shí),稱為段內(nèi)轉(zhuǎn)移,比如:jmp ax
  • 同時(shí)修改cs和ip,稱為段間轉(zhuǎn)移,比如:jmp 1000:0

由于轉(zhuǎn)移指令對(duì)IP的修改范圍不同,段內(nèi)轉(zhuǎn)移,又分為:短轉(zhuǎn)移和近轉(zhuǎn)移

  • 短轉(zhuǎn)移IP的修改范圍為:-128~127
  • 近轉(zhuǎn)移的IP修改范圍為:-32768~32767

loop——》無條件轉(zhuǎn)移指令
jmp——》條件轉(zhuǎn)移指令

操作符offset

偽指令offset在匯編語言中的由編譯器處理的符號(hào),它的功能是取得標(biāo)號(hào)的偏移地址

assume cs:code code segmentstart: mov ax,offset start ;相當(dāng)于mov ax,0;start所標(biāo)記的是代碼段的第一條指令,偏移地址為0s: mov ax,offset s ;相當(dāng)于mov ax,3;s所標(biāo)記的指令是代碼段中的第二條指令,第一條指令的長度為3byte,則s的偏移地址為3 code ends end start

問題:有如下程序段,填寫兩條指令,使改程序在運(yùn)行中將s處的第一條指令復(fù)制到s0處:

代碼如下:

;問題:有如下程序段,填寫兩條指令,使改程序在運(yùn)行中將s處的第一條指令復(fù)制到s0處: assume cs:code code segments: mov ax,bx ;mov ax,bx機(jī)器碼占兩個(gè)字節(jié)mov si,offset smov di,offset s0mov dx,cs:[si] ;數(shù)據(jù)從哪里來mov cs:[di],dx ;數(shù)據(jù)到哪里去s0: nop ;cpu遇到nop指令什么都不做,nop指令占一個(gè)字節(jié)nop code ends end s

JMP指令

8086CPU執(zhí)行過程
①CPU從cs和ip所組合出來的地址讀取數(shù)據(jù),將指令放到指令緩沖器中
②IP=IP+所讀指令的字節(jié)數(shù)
③執(zhí)行指令緩沖器中的內(nèi)容,跳轉(zhuǎn)到第一步

jmp smov bx,1000H s: mov ax,1000H ;由觀察可得此時(shí)**JMP指令的機(jī)器碼是EB04**

再加一條指令:

jmp smov bx,1000Hmov bx,1000H s: mov ax,1000H ;由觀察可得此時(shí)**JMP指令的機(jī)器碼是EB07**

jmp跳轉(zhuǎn)指令編譯后的機(jī)器碼和指令的長度有關(guān)
CPU在執(zhí)行jmp指令的時(shí)候,并不需要跳轉(zhuǎn)的目的地址就可以實(shí)現(xiàn)對(duì)IP寄存器的修改,只要做一個(gè)加法就好了
編譯器如何計(jì)算指令長度?
標(biāo)號(hào)地址 - JMP指令后第一個(gè)字節(jié)的地址

JMP指令可能存在的一個(gè)問題:

s: mov ax,1000Hjmp s ;jmp在下面

由標(biāo)號(hào)地址-JMP指令后第一個(gè)字節(jié)的地址計(jì)算得到:(8-D=FB)——》(8-13=-5)
計(jì)數(shù)器中是沒有減法的——》加上一個(gè)負(fù)數(shù)

涉及到補(bǔ)碼:
將一個(gè)正數(shù)變成二進(jìn)制之后按位取反(0變1,1變0),再加1
eg:5的二進(jìn)制:0000 0101
取反:1111 1010 +1 =1111 1011(FB)

jmp指令的跳轉(zhuǎn)范圍:(向前跳 or 向后跳)
;跳轉(zhuǎn)范圍也叫做位移范圍 八位位移(-128~127)
十六位位移(-32768~32767)

可以指定是八位位移還是十六位位移:
jmp short s(八位位移)
jmp near ptr s(十六位位移)

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的操作符offset 和 jmp指令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久婷婷网 | 最新中文字幕久久 | 青草视频免费观看 | 最新av免费观看 | 少妇与公做了夜伦理69 | 91精品国产综合久久国产大片 | 国产视频一区在线 | 人妻一区二区视频 | 国产精品手机在线 | 国产精品乱码久久久久久 | 人妻精品久久久久中文字幕69 | 黄色一级一级 | 日韩欧美一级大片 | 美女啪啪网 | 西西人体44www大胆无码 | 亚洲视频综合 | 一区二区三区在线观看视频 | 成人黄色视屏 | 高清乱码毛片 | 一本色道久久综合亚洲精品 | 少妇吹潮 | 天天干天天插天天操 | 免费污视频在线观看 | 美日韩精品视频 | 欧美最猛黑人xxxx黑人猛交 | 日批在线播放 | 玖玖色资源 | 绿帽人妻精品一区二区 | 丁香婷婷六月天 | 免费不卡视频 | 久久久久久久中文字幕 | 中文字幕一区二区三区5566 | 激情综合网五月天 | 鲁一鲁在线视频 | 日韩精品视频一区二区三区 | 欧美激情在线免费 | 免费成人深夜夜行网站视频 | 国产chinasex对白videos麻豆 | 欧洲天堂网 | 91麻豆免费看 | 伊人av一区 | 黄网在线播放 | 天堂va蜜桃一区 | 美女吞精视频 | 日本不卡不卡 | 在线成人免费观看 | www.激情网 | 蜜桃视频无码区在线观看 | 人妻丰满熟妇av无码久久洗澡 | 欧美另类tv | 国产一区二区三区在线视频观看 | 欧美精品一区二区蜜桃 | 一区二区三区不卡在线 | 国产视频在线观看一区二区 | 日韩网红少妇无码视频香港 | 国产欧美日韩在线播放 | 2014亚洲天堂 | 黄色av一区 | 丝袜美腿亚洲一区二区图片 | 久久久久美女 | www精品| 男女激情网 | 三级免费看 | 尤物视频官网 | 日本午夜影院 | 男人的天堂亚洲 | 理论片中文 | 男女互插视频 | 亚洲一区二区三区综合 | 丰满少妇一区二区三区 | 成人区人妻精品一区二区网站 | 国产偷亚洲偷欧美偷精品 | 国产精品无码一区二区三区 | 日本a v网站 | 国产干b| 国产av一区二区三区精品 | 中文婷婷 | 一区二区三区不卡视频在线观看 | 亚洲精品免费在线 | 久99| 成人作爱视频 | 老汉色av| 色羞羞| 一区二区三区免费在线观看视频 | 天天射天天草 | 在线免费观看国产精品 | www在线看片 | av免费观看入口 | 两性视频久久 | 久久精品国产精品亚洲色婷婷 | 91国内产香蕉 | 91亚洲精品一区二区乱码 | 亚州春色| 日批免费观看 | 女av在线 | 尤物视频在线观看视频 | 日日干视频 | 亚洲国产永久 | 老妇女性较大毛片 |