《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 計算機系統原理(十四) 數據格式、訪問信息及操作數指示符

計算機系統原理(十四) 數據格式、訪問信息及操作數指示符

2017-06-22
關鍵詞: 匯編語言

引言

本文的內容其實可以成為匯編語言的基礎,因為匯編語言大部分時候是在操作一些我們平時開發看不到的東西,因此本文的目的就是搞清楚,匯編語言都是在操作些什么東西。或者更準確的說,各種匯編指令都是在操作什么樣的對象。

匯編層次的對象

在平時的開發過程中,CPU處理器的狀態對開發者是隱藏的,我們看不到CPU當中各個對象的狀態。但是在匯編語言中,我們可以清楚的看到這些對象的狀態,其中CPU主要包含以下幾個對象。

程序計數器(PC):記錄下一條指令的地址。

整數寄存器文件:共8個,可以存儲一些地址或者整數的數據。

條件寄存器:保存算數或邏輯指令的狀態信息,可以實現程序的流程控制。

浮點寄存器:存儲浮點數。

可以看出,這些都是CPU處理器當中的對象,上一章我們寫過一個簡單的C程序,相信如果不是看了匯編代碼,各位也都看不出來在程序運行過程中,CPU當中這些對象都在做著一些什么樣的操作,又在存儲著一些什么樣的內容。

數據的格式

在上一章當中,幾乎所有的匯編指令后面都有一個字母l,比如movl、addl、subl、pushl等等,這個l的后綴其實就是表示的數據格式,表示我們操作的是32位的數值。

在計算機從16位擴展到32位,以至于當前的64位來講,數據格式就一直在變。但是歷史總會多少影響著未來的走向,因此我們習慣稱16位為“字”,而32位則為“雙字”,相應的,64位則為“四字”。

需要一提的就是,long long int在IA32架構中是不支持這種數據格式的,因此就沒有列出它的后綴。另外,long double是一種擴展類型,通常采用12個字節來表示。


寄存器是CPU當中非常重要的對象,一般情況下,很多臨時變量都會存儲在這里,就像上一章當中的臨時變量t,在優化之后,t將不再進入主存,而只留在寄存器當中。這樣可以提高程序運行的速度,因為寄存器的速度要高于主存,而且在寄存器與主存之間傳輸數據,也是十分耗時間的一件事。

下面是一張書中的寄存器圖示,它基于IA32架構給出。

可以看到,對于%esp和%ebp寄存器來講,圖中標注了它們分別是棧指針以及幀指針。而對于另外六個寄存器來講,它們大部分時候是一樣的,但是還是有些許的不同。

比如%eax寄存器,它很多時候用來存儲函數的返回值。而對于%eax、%ecx、%edx、%ebx來講,它們都可以被訪問單獨的字節。另外需要一提的是,這八個寄存器都可以被訪問雙字節。

除了以上的區別之外,對于%eax、%ecx、%edx和%ebx、%esi、%edi來講,它們的使用慣例也有些許不同,這個在后面我們將深入討論。這里各位只要大概認識一下這八位神仙就行了。

操作數指示符

操作數指示符這個稱謂是書上給的,但LZ覺得這個概念不太容易理解,操作數指示符其實指的就是一種取值的標識方式,用來獲取參與各種操作的操作數。

這些標識方式一共有三種,一種是$符號后跟一個標準C表示的整數,比如$100,$0x11等等。第二種則是寄存器,當它作為一個操作數的時候,則是取的寄存器當中的數值。另外,對于寄存器來說,也可以選擇性的操作4個、2個、1個字節,而并不一定非要操作4個字節。最后一種,則是我們相對來說最熟悉的,就是存儲器或者說內存。當它作為一個操作數的時候,會去計算存儲器地址的數值,然后去這個地址取相應的數值。


由于存儲器相對來說,理解起來比較困難一點。因此這里LZ舉個簡單的例子,比如對于4(%esp,%eax,4)這個操作數來講,它代表的是內存地址為4+%esp+4*%eax的存儲器區域的值。

操作數是大部分指令都有的,因此上面的這些標識方式,在之后的文章中我們會經常看到,它們將會成為各位猿友很好的朋友。

文章小結

本章只介紹了一些匯編當中基礎的知識,這些內容相對來講不是特別困難,但卻是打開后面神秘大門的鑰匙。因此倘若有哪位猿友不是太理解本章的內容的話,LZ希望各位可以從實踐入手去理解一下本章的內容。這一點可以結合上一章來看,從上一章給出的匯編代碼中尋找數據格式、操作數以及寄存器的部分,這應該是十分輕松的,因為上一章的匯編代碼中充斥著這三個部分的內容。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久噜噜亚洲综合| 国产精品区一区| 亚洲欧美制服中文字幕| 99精品欧美一区二区三区| 亚洲福利视频网站| 欧美一进一出视频| 先锋影音国产精品| 午夜伦理片一区| 午夜伦理片一区| 性欧美1819性猛交| 欧美在线观看天堂一区二区三区| 午夜精品视频在线观看| 亚洲欧美欧美一区二区三区| 亚洲女人av| 午夜在线视频观看日韩17c| 亚洲欧美国产精品va在线观看| 亚洲影院在线观看| 午夜久久资源| 久久精品99久久香蕉国产色戒| 亚洲电影免费观看高清| 亚洲国产婷婷综合在线精品| 亚洲欧洲在线看| 99在线精品视频在线观看| 亚洲私人影院| 欧美亚洲免费电影| 久久精品一二三区| 模特精品在线| 欧美三区在线观看| 国产精品日本欧美一区二区三区| 国产伦精品一区二区三区视频孕妇 | 久热国产精品| 欧美黄色视屏| 国产精品久久波多野结衣| 国产伦精品一区二区三区照片91| 国产亚洲午夜| 亚洲激情影视| 亚洲一区在线观看视频| 久久精品久久99精品久久| 亚洲美女精品成人在线视频| 国产精品99久久久久久久vr| 欧美一区三区二区在线观看| 蜜桃av噜噜一区| 欧美人与禽猛交乱配| 国产精品日韩久久久久| 国产一区自拍视频| 亚洲日本国产| 亚洲欧美日韩国产综合精品二区 | 日韩视频欧美视频| 午夜精品在线看| 免费人成精品欧美精品| 欧美日一区二区在线观看| 国产色产综合色产在线视频| 亚洲国产另类精品专区| 亚洲午夜极品| 亚洲人成网站777色婷婷| 亚洲欧美激情视频在线观看一区二区三区 | 欧美一区二区三区视频在线观看| 亚洲肉体裸体xxxx137| 亚洲免费中文| 久久这里有精品视频| 欧美日韩亚洲国产精品| 国产亚洲精品一区二555| 亚洲精品视频在线| 欧美在线中文字幕| 亚洲视频一区在线| 麻豆9191精品国产| 国产精品外国| 99pao成人国产永久免费视频| 欧美一区永久视频免费观看| 99国产精品久久久久久久久久| 欧美一级网站| 欧美日韩精品| 国内精品久久久久影院 日本资源| 99re6热只有精品免费观看| 欧美在线一二三四区| 亚洲视屏在线播放| 老司机午夜精品视频| 国产精品手机视频| 亚洲精选视频免费看| 亚洲第一区在线观看| 欧美一区二区大片| 欧美日韩国产页| 精品99视频| 午夜精品福利一区二区三区av| 一本久久精品一区二区| 免费短视频成人日韩| 国产欧美精品va在线观看| 99热在这里有精品免费| 亚洲精品影视在线观看| 久久亚洲精品欧美| 国产日韩欧美不卡| 亚洲影院色在线观看免费| 一本久久精品一区二区| 你懂的视频一区二区| 国产曰批免费观看久久久| 亚洲免费一区二区| 亚洲欧美国产精品专区久久| 欧美日韩在线精品| 亚洲美女中文字幕| 日韩视频一区二区三区在线播放免费观看 | 久久精品国产77777蜜臀| 性欧美激情精品| 国产精品二区在线观看| 亚洲人成在线播放| 亚洲日本va午夜在线电影 | 免费成人激情视频| 一区二区三区在线观看视频| 午夜免费久久久久| 欧美一级播放| 国产欧美日韩高清| 性久久久久久久| 久久精品1区| 国产视频久久| 欧美呦呦网站| 久久中文久久字幕| 激情五月婷婷综合| 亚洲福利免费| 蜜臀a∨国产成人精品| 伊人久久大香线| 亚洲国产精品悠悠久久琪琪 | 欧美大片免费观看在线观看网站推荐| 极品尤物一区二区三区| 亚洲第一福利视频| 美女视频一区免费观看| 在线成人国产| 亚洲精品乱码久久久久久| 欧美成人午夜| 亚洲另类黄色| 亚洲永久字幕| 国产色爱av资源综合区| 亚洲大胆美女视频| 欧美黄网免费在线观看| 日韩视频在线免费| 亚洲欧美国产不卡| 一区二区三区黄色| 欧美日韩国产美| 国产性做久久久久久| 久久激情久久| 欧美肥婆在线| 一二三区精品福利视频| 欧美一区1区三区3区公司| 国产一区二区三区的电影| 亚洲国产精品欧美一二99| 欧美激情网站在线观看| 夜夜精品视频一区二区| 午夜在线精品偷拍| 国产在线精品二区| 亚洲精品在线三区| 国产精品激情| 欧美在线观看你懂的| 鲁大师影院一区二区三区| 亚洲欧洲精品天堂一级| 亚洲天堂激情| 国产三级欧美三级| 亚洲激情在线观看| 欧美日韩一区二区三区四区在线观看 | 麻豆国产精品777777在线| 亚洲欧洲精品天堂一级| 亚洲自啪免费| 国产在线不卡视频| 一本久久a久久精品亚洲| 国产精品永久免费在线| 亚洲国产一区二区三区a毛片| 欧美日韩成人综合天天影院| 午夜一区二区三区在线观看| 欧美福利一区二区| 亚洲先锋成人| 欧美aⅴ一区二区三区视频| 一本色道久久综合亚洲二区三区| 久久精品99| 99精品视频免费观看视频| 久久久人成影片一区二区三区观看 | 欧美日韩一区二区在线观看| 欧美一区二区三区视频免费| 欧美精品一区二区三区在线看午夜 | 韩国av一区二区三区在线观看| 一本久道久久久| 国产综合欧美在线看| 亚洲性线免费观看视频成熟| 国产一区二区成人久久免费影院| 亚洲裸体视频| 国产视频一区三区| 亚洲午夜视频在线观看| 一区二区在线观看av| 午夜精品一区二区三区四区| 亚洲激情在线播放| 久久精品国产成人| 洋洋av久久久久久久一区| 久热精品在线| 亚洲欧美区自拍先锋| 欧美日韩国产区一| 亚洲第一久久影院| 国产日韩欧美在线播放不卡| 亚洲视频欧美在线| 亚洲高清在线观看一区| 欧美专区日韩视频| 亚洲视频免费| 欧美日韩一区三区| 亚洲美女在线一区| 一区二区三区在线观看视频|