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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第九章 转移指令的原理

發布時間:2024/9/5 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第九章 转移指令的原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、8086CPU轉移指令分類:1.無條件轉移指令(如jmp);2.條件轉移指令;3.循環指令(如:loop);4.過程;5.中斷。

2、offse,偽指令,功能是取得標號的偏移地址。

3、nop的機器碼占一個字節,不產生任何結構,僅消耗幾個時鐘周期,接著執行后續指令,常用于程序的延時等。

4、jmp指令要給出兩種信息:1.轉移的目的地址;2.轉移的距離(段間轉移、段內短轉移、段內近轉移)。

5、依據位移進行的jmp指令:①jmp short 標號(轉到標號處執行指令),這種格式的jmp指令實現的是段內短轉移,它對ip的修改范圍為-128~127;②jup near ptr 標號,near ptr指明此處的位移為16位位移,進行的是段內近轉移,范圍-32769~32769,功能(ip)=(ip)+16位位移。

6、匯編指令與機器指令:在一般的匯編指令中,匯編指令中的idata(立即數),不論它是表示一個數據還是一個內存單元的偏移地址,都會在對應的機器指令中出現,因為CPU執行的是機器指令,它必須要處理這些數據或地址。但是jmp對應的機器碼不包含轉移地址,使用的是相當偏移地址(從當前地址到目標地址)。實際上“jmp short 標號”的功能為(ip)=(ip)+8位位移。

7、F6就是-10,涉及補碼。

8、轉移的目的地址在指令中的jmp指令:“jmp far ptr 標號”,實現段間轉移,又稱遠轉移。轉移地址在寄存器中的jmp指令:jmp 16位寄存器,功能:(IP)=(16位寄存器)。

9、轉移地址在內存中的jmp指令:兩種:1.jmp word ptr 內存單元地址(段內轉移);2.jmp dword ptr 內存單元地址(段間轉移)功能:(cs)=(內存單元地址+2),(IP)=(內存單元地址)。

10、jcxz指令,有條件轉移指令,所有的有條件轉移指令都是短轉移,在對應的機器碼中包含轉移的位移,而不是目的地址。對ip的修改范圍都為-128~127。如果(cx)==0,則轉移到標號處執行,當(cx)!=0什么也不做。C語言描述:if((cx)==0)jmp short 標號。

11、loop指令為循環指令,所有的循環指令都是短轉移,在對應的機器碼中包含轉移的位移,對ip修改范圍-128~127。1.(cx)=(cx)-1;2.如果(cx)!=0 ,(ip)=(ip)+8位位移。

12、根據位移進行轉移的意義:這樣設計,方便了程序段在內存中的浮動裝配(程序段放不同的位置都可以正確執行),注意:根據位移進行的指令,它們的轉移范圍受到轉移位移長度的限制,如果在源程序中出現了轉移范圍的問題,編譯器會報錯。

注意:jmp 2000:0100的轉移指令,是在debug中使用的匯編指令,匯編編譯器不認識。

實驗九:測試一下你的dos有木有問題。。。

Dos清屏命令:cls

?

?

?

?

?

轉載于:https://www.cnblogs.com/quantumplan/archive/2012/03/15/2398250.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的第九章 转移指令的原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。