成人免费观看网欧美片-成人免费观看视频-成人免费观看男女羞羞视频-成人免费观看的视频黄页-成人免费高清视频-成人免费福利片在线观看

首頁 > 焦點 >

匯編指令_匯編指令入門級整理 速看料

隨著社會越來越發達,大家都選擇在網絡上汲取相關知識內容,比如匯編指令_匯編指令入門級整理 ,為了更好的解答大家的問題,小編也是翻閱整理了相應內容,下面就一起來看一下吧!

匯編指令(匯編指令的初級精加工)


【資料圖】

作者|艾伯特

出品| CSDN博客

我們大多數人都被高級語言寵壞了,各種各樣的高級語言正在逐漸增加源源不斷的新功能。匯編作為最接近機器指令的低級語言,已經很少被直接用來寫程序了。但是我真的遇到過一個,以前的同事,寫代碼的時候因為成員函數的權限和可見性的問題,無法正確調用自己想要執行的函數。于是,他開始在C++代碼中嵌入匯編,繞過了各種問題。

因為項目是跨平臺的,所以當代碼在Linux上編譯時,他發現匯編代碼的語法在Linux和Windows之間其實是不一樣的。于是,他用一個宏來判斷平臺,來定義一個“完美”的解決方案。最后這些代碼肯定是重寫了,因為可讀性太差了。最近在學習左值、右值、左引用、右引用的時候,總有人用程序編譯生成的中間匯編代碼來說明問題,讓我覺得很茫然,所以我決定先熟悉一下簡單的匯編指令,邊學邊記,以后可以直接用來復習。

什么是匯編語言?

匯編語言是最接近機器語言的編程語言,機器語言解釋為:

匯編語言是電子計算機、微處理器、微控制器或其他可編程設備的低級語言,也稱為符號語言。在匯編語言中,助記符用來代替機器指令的操作碼,地址符號或標號用來代替指令或操作數的地址。匯編語言也被稱為第二代計算機語言。

匯編語言的原因

對于絕大多數人來說,二進制程序是不可讀的。當然也有有能力的人看得懂,比如之一代程序員。然而,這種人正在滅絕。直接看二進制不容易看出做了什么。比如最簡單的加法指令二進制表示為0000011,如果混在一大串01字符串中就很難找出來。所以匯編語言主要是解決二進制代碼的可讀性問題。

匯編和二進制的關系

換句話說,匯編語言是把顯示給機器的二進制代碼翻譯成人類語言,匯編指令是機器尤優資源網指令的助記符,與機器指令一一對應,是一種易讀易記的書寫格式。有效地解決了機器指令編寫困難的問題,編譯器可以很容易地將匯編程序翻譯成機器指令,比如前面提到的0000011加法指令,對應的匯編指令是ADD,調用匯編程序時會翻譯成0000011。

注冊

說到匯編指令,寄存器就不得不提了。寄存器本身是用來存儲數據的,因為CPU本身只負責邏輯運算。數據需要分開存放在其他地方,但是對于不熟悉寄存器的人來說會有疑問。數據不是存儲在硬盤上嗎?還是數據不存在于內存中?這些想法都是正確的,那么寄存器是用來做什么的呢?

寄存器功能

其實硬盤和內存都是用來存儲數據的,但是CPU的運算速度遠高于內存的讀寫速度,更不用說從硬盤上取數據了。所以為了避免被拖慢,影響效率,所有的CPU都有自己的一級緩存和二級緩存。有些CPU甚至增加了三級緩存。從這些緩存中讀寫數據要比內存快很多,但是還是無法使用運行速度快的CPU,所以有寄存器。

后來沒有加注冊,最初計算的時候就設計了優優資源網。相比較而言,多級緩存出現的比較晚。通常,最頻繁讀寫的數據會放在寄存器中。CPU優先讀寫寄存器,然后通過寄存器和緩存與內存交換數據,達到緩沖的目的。因為寄存器可以通過名字訪問,所以訪問速度最快,所以也叫零級緩存。

訪問速度比較

從上面的描述我們可以知道,訪問速度從高到低是:寄存器>一級緩存>二級緩存>三級緩存>內存>硬盤。至于它們的訪問速度,舉個例子就很容易理解了。比如我們做飯的時候(CPU工作),我們手里拿著的肉和菜(寄存器)一定是最快的。如果沒有,我們需要在案板上處理掉它們(一級緩存)。如果不在案板上,就去更遠的洗碗池(二級緩存)里找。如果還沒找到,就去冰箱里找找(三級緩存)。這個時候你發現家里真的沒有。然后去樓下的蔬菜店(記憶)買一些。一輪下來,你發現你什么都不想要。最后,你更好開車去農貿市場(硬盤)買。

通過上面的例子,我們應該可以了解它們的速度關系。既然緩存這么快,為什么不用緩存代替內存,或者把二級和三級緩存都改成一級緩存?這里有一個成本問題。速度越快,價格越高。如果你買過機械硬盤和固態硬盤,應該很好理解。

寄存器分類

有八種常用的x86 CPU寄存器:EAX、EBX、ECX、ed x、EDI、ESI、EBP、ESP。據說現在注冊總數已經超過100個。找到相關資料我會補充的。以上寄存器是最常用的,這些名字經常出現在編譯后的代碼中。

我們常說的32位和64位CPU是指數據總線的寬度或根數,而寄存器是暫時存儲數據和中間結果的單元。所以寄存器的位數,也就是處理數據的長度和數據總線的根數是一樣的,所以32位CPU對應的寄存器也應該是32位的。

常用寄存器用途

如上所述,八個寄存器有其特定的用途。我們以32位CPU為例,簡單說明一下這些寄存器的作用,并在下表中進行整理:

語域EAX、AX、AH和AL之間的關系

在上面的圖標中,每個常用寄存器后面都有其他名稱。它們是同一語域不同用法下的不同名稱。例如,在32位CPU上,e AX是32位寄存器,而AX是EAX的低16位,AH是AX的高8位,AL是AX的低8位。它們的比較關系如下:

00000000 00000000 00000000 00000000|===============EAX===============|---4個字節|======AX=======|---2個字節|==AH===|-----------1個字節|===AL==|---1個字節

匯編語言指令

最后,我們談到了匯編指令,因為linux和windows下的匯編語法有些不同,所以我們先簡單了解一下windows下的匯編指令,稍后再比較它們之間的區別。

數據移動指令

算術運算指令

邏輯操作指令

循環控制指令

自反秩序

Linux和windows下匯編的區別

說起linux和windows在匯編語法上的差異,其實兩者語法上的差異和系統上的差異并沒有絕對的關系。一般在linux上會使用gcc/g++編譯器,而在windows上會使用微軟cl,MSBUILD。因此,由于編譯器不同,生成的代碼也不同。gcc下采用美國 *** 電報公司的匯編語法格式,MSBuild優優資源網d采用Intel匯編語法格式

摘要

匯編指令是機器指令的助記符,與機器指令一一對應。

美國 *** 電報公司的匯編語法格式與英特爾的不同。

常用寄存器:EAX、EBX、ECX、EDX、EDI、ESI、EBP、ESP

訪問速度從高到低依次為:寄存器>一級緩存>二級緩存>三級緩存>內存>硬盤。

常用的匯編指令:mov,je,jmp,call,add,sub,inc,dec,and,or。

版權聲明:本文為CSDN博主“AlbertS”原創文章,遵循CC 4.0 BY-SA版權協議。請附上原始文章和本聲明來源的鏈接。

原文鏈接:https://blog.csdn.net/albertsh/article/details/106041560

?華為全球分析師大會:HMSCore全球開發者應用集成的數量加速增長,打造全場景智慧體驗?騰訊人均月薪8萬,恍恍惚惚,又被平均了??200萬年薪請不到!清華姚班到底有多牛?|原力計劃?量子計算與AI“雙拳”出擊,他們鎖定38種潛在抗疫藥物?我們已經不用AOP做操作日志了!|原力計劃?國外這三位帥小伙,居然搞了個用比特幣付款、無人機運送的水培沙拉項目?

關鍵詞: 指令

責任編輯:Rex_23

推薦閱讀
婷婷综合久久中文字幕| 色播久久人人爽人人爽人人片AV| 成熟妇女一区av| 无码一区二区三区AⅤ免费麻豆| 精品国产一区二区三区无码蜜桃| 中文字幕AV无码不卡免费| 日本亚欧乱色视频在线| 国产内射老熟女AAAA∵| 一二三四在线视频社区8| 欧美性猛交XXXX乱大交| 国产精品亚洲A∨天堂| 野花日本免费完整版高清版8| 欧美裸体XXXX| 国产精品无码A∨果冻传媒 | 人妻少妇伦在线麻豆M电影| 国产高潮国产高潮久久久| 亚洲人妻在线视频| 人妻 日韩精品 中文字幕| 国产精品免费久久久久影院| 亚洲综合国产一区二区三区| 人妻ay无码一区二区三区| 国产美女丝袜高潮白浆| 伊人天堂Av无码Av日韩Av| 搡老女人P老熟妇老熟女| 京东天美麻豆果冻传媒| AJ四色鸳鸯真假区别| 无码人妻AⅤ一区二区三区水密桃 无码人妻AⅤ一区二区三区蜜桃 | 中国毛茸茸性XXXX| 视频一区二区三区在线观看蜜桃| 精品亚洲成A人在线观看青青| 啊哈~给我~啊(H)| 亚洲AV激情高潮抽搐乱色| 免费无遮挡毛片中文字幕| 国产成人精品综合在线观看| 夜里18款禁用B站入APP软件| 日韩亚洲中字无码一区二区三区 | 无码囯产精品一区二区免费| 久久偷看各类WC女厕嘘嘘| 粉嫩丰满人妻内射| 野花高清在线观看免费官网| 日韩激情在线小视频观看| 精品国产乱码久久久久久浪潮| YYYY11111少妇无码影院| 亚洲AV无码片在线观看| 欧美XXXX做受欧美GAY| 国产美女丝袜一级肛交蜜桃| 51CG9热心的朝阳群众| 小SAO货水好多真紧H视频| 年级老师的滋味4| 国产区在线观看成人精品| 99RE热这里只有精品视频| 性欧美VIDEOS武则天| 欧美乱人伦中文字幕在线| 国自产拍亚洲免费视频| А天堂中文最新版在线官网| 亚洲精品欧美综合四区| 揉着我的奶从后面进去| 久久中文字幕人妻丝袜| 国产极品美女高潮无套| 337P粉嫩日本欧洲亚洲大胆| 亚洲AV无码成人精品网站漏男 | 夜夜骚Av一区二区精品无码区| 少妇私密会所按摩到高潮呻吟 | 亚洲日韩国产一区二区三区| 日日碰狠狠添天天爽超碰97| 久久天天躁夜夜躁狠狠| 国产成人无码免费视频麻豆| √天堂中文官网在线| 久久精品国产亚洲7777| 粗大的内捧猛烈进出无码| 野草高清视频免费| 无码人妻少妇久久中文字幕蜜桃 | 亚洲日本高清成人AⅤ片| 色优久久久久综合网鬼色| 麻豆国内剧情AV在线素人搭讪| 国产女人高潮抽搐喷水视频| MACBOOKPRO免费观看| 亚洲香蕉成人AV网站在线观看 | 任你躁X7X7X7X7在线观看| 久久久久久精品精品免费| 国产精品无码2021在线观看| JAPANESE国产中文在线观| 亚洲熟妇久久国内精品| 无码免费一区二区三区| 欧洲一本到卡二卡三卡乱码| 久久精品中文騷妇女内射| 国产精品国产高清国产AV| MM1313亚洲国产精品无码试看| 亚洲色欲色欲WWW在线观看| 无码国产精成人午夜视频一区二区| 欧美色成人综合天天影院| 久久精品日日躁夜夜躁欧美| 国产精品女上位好爽在线| 波多野结衣AV大全| 中文字幕AV在线一二三区| 亚洲国产成人久久综合| 天天影视网色香欲综合网| 欧美一区二区放荡人妇| 久久青草精品38国产| 国产亚洲精品第一综合另类灬| 春色精品久久久久午夜aⅴ| 97久久欧美极品少妇XXXXⅩ| 亚洲色播爱爱爱爱爱爱爱| 午夜无码福利伦利理免| 日韩一区二区三区av| 女人双腿搬开让男人桶| 久久精品A一国产成人免费网站| 国产精品综合一区二区三区| 成人无码一区二区三区| 99久久无色码中文字幕人妻| 一本一道AV中文字幕无码| 亚洲VA久久久噜噜噜熟女8| 无码欧美毛片一区二区三在线视频| 日本丰满少妇毛茸茸| 欧美国产激情二区三区| 可播放的免费男同GAY| 精品人妻少妇一区二区三区夜夜嗨| 国产精品嫩草影院一二三区入口| 大炕上的肉体交换农村乱睡| FREE国产粉嫩熟妇XXXHD| 中文字幕精品亚洲无线码一区| 亚洲人成电影网站色WWW| 学生妹流白浆喷水被草| 挽起裙子迈开腿坐上MBA| 日韩免费A级毛片无码A∨| 欧美在线观看免费做受视频| 男男av在线播放| 麻豆妓女爽爽一区二区三 | 国产嫖妓一区二区三区无码| 高清一区二区三区日本久| 菠萝菠萝蜜菠萝菠萝5| AA丁香综合激情| 最新亚洲春色AV无码专区| 一女多男3根一起进去爽吗| 亚洲熟妇无码久久精品导航| 亚洲VA久久久噜噜噜久久狠狠| 香蕉直播永久免费版APP| 天堂AV无码一区二区三区| 日文中字乱码一二三区别在| 日本丰满熟妇55乱偷| 人妻AV一区二区三区精品| 欧美交换配乱婬粗大| 嫩草影院网站进入| 免费真人视频APP| 老师趴讲台屁股撅起来作文 | 亚洲精品乱码久久久久66| 亚洲AV中文无码乱人伦在线r▽| 亚洲AⅤ秘区二区三区4| 无码少妇一区二区三区浪潮AV| 天堂√中文最新版在线| 双腿白浆白丝护士高潮视频| 少妇高潮惨叫久久久久久电影| 日韩无码av一区二区| 日韩亚洲欧美精品综合| 日韩精品人妻无码久久影院| 日本伊人色综合网| 日韩人妻无码视频| 日韩一区二区三区无码影院| 日日噜噜夜夜狠狠VA视频| 三级日本高清完整版热播| 日韩无码视频一区二区三区| 日日摸夜夜添夜夜添无码国产| 日韩成人无码专区一视频| 日老太太毛茸茸B.内射| 日韩欧美视频一区二区| 色天使色偷偷色噜噜噜| 色综合久久中文字幕无码| 四川老妇女乱HD| 玩弄JAPAN白嫩少妇HD| 无码人妻品一区二区三区精99| 无人区码卡二卡乱码字幕| 亚洲 欧美 叧类人妖| 亚洲成A人片77777KKKK| 亚洲乱码国产乱码精品精姦| 亚洲一区二区三区中文字幕在线| 野花高清在线观看免费官网中文版| 一級黃色毛片免費看| 中文字幕人妻无码系列第三区| 97久久香蕉国产线看观看| JIZZ成熟丰满韩国女人少妇| 波多野结衣乳巨码无在线观看| 纯肉无遮挡H肉动漫在线观看网址 纯肉无遮挡H肉动漫在线观看国产 | 国语自产拍精品香蕉在线播放 | 国产精品宾馆在线精品酒店 | 少妇爆乳无码AV无码专区| 四虎永久在线精品免费无码| 无码一区二区三区亚洲人妻| 亚洲AV无码成H在线观看| 亚洲国产区男人本色| 野花社区WWW官网在线观看| 中文无码人妻影音先锋| A级毛片毛片免费观看久潮喷| 锕锕锕锕锕锕锕好痛免费网址| 丁香色欲久久久久久综合网| 国产精品99久久99久久久| 国产在线孕妇孕交| 精品亚洲A∨无码一区二区三区| 久久夜色撩人精品国产AV| 欧美人与动牲交XXXXBBBB| 日韩精品无码免费一区二区三区|