新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > GNU ARM匯編--(一)開篇

        GNU ARM匯編--(一)開篇

        作者: 時間:2016-11-26 來源:網絡 收藏
        在大學的時候,匯編就是學的很爛.一是對匯編這門語言沒概念,二是那些指令集很難記清楚,用的機會也少,自然學的不好.但是現在覺得相當有必要重頭學習一下匯編.部分原因我在上一篇寫完設備模型的總結時提到了而.最近在看一本書《ARM:Assembly Language Programming》,作者是Peter Knaggs & Stephen Welsh.作者在開頭也提出學習匯編的必要性和重要性,借他們的話重新說一下:
        他們首先用三個問句來引出為什么要學習匯編:
        外科醫生為了知道手術刀的用法而需要學習冶金嗎?飛行員需要學習熱力學理論來理解飛機引擎是如何工作的?報社的記者要學習電子學來理解照相機如何工作的?答案當然是“NO”,那么為什么要讓學生學習匯編語言和計算機結構呢?
        第一就是教育和培訓不是一碼事,大學就應該學大學里該教的內容,當然學生也得好好學.
        第二是匯編語言是計算機體系結構和計算機軟件的基礎
        第三:匯編可以幫助我們更好的理解數據類型,指針,堆棧、函數調用、遞歸調用以及參數傳遞,匯編可以更直接的訪問IO和設備,幫助理解設備驅動等等.
        總之匯編會告訴我們計算機系統內部正在發生什么
        而按照目前我個人的體會是:
        學習匯編可以讓我更好的寫C,學習匯編可以讓我更好的理解loader,學習匯編可以讓我更好的理解進程和內存管理,虛擬存儲器和存儲器映射等知識.總之,好處多多.目前匯編成了我的一個瓶頸,那搞定它可以讓我上一個臺階.
        接下來學習匯編的環境為:操作系統為ubuntu,編譯器arm-linux-gcc,平臺是s3c2440(ARM920).
        ARM匯編的指令集就那些,但是windows下的arm匯編和linux的arm匯編有細微區別.windows下是用ADS codewarrir等環境來開發,編譯器是armasm,而linux用的是gnu arm,更個接近于AT&T風格.偏向于linux下的環境,所以就選擇了GNU ARM匯編.
        學習GNU ARM匯編的計劃和目標:
        ARM體系結構
        ARM下的指令集
        GNU匯編的風格
        在s3c2440平臺上的驗證
        當然最終的目的還是為了學習loader和linux.
        開始吧,新的學習目標~~~


        關鍵詞: 匯編編譯器linu

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 龙口市| 南宁市| 阜新市| 登封市| 达尔| 乌鲁木齐市| 思茅市| 普格县| 龙里县| 巴楚县| 咸阳市| 博乐市| 中超| 九寨沟县| 清原| 清镇市| 平遥县| 玛多县| 新安县| 同心县| 盖州市| 富源县| 黑龙江省| 宜宾市| 鄂托克旗| 从化市| 西和县| 积石山| 德安县| 兰考县| 大渡口区| 萨嘎县| 乌审旗| 马鞍山市| 上思县| 襄樊市| 兖州市| 余江县| 侯马市| 塘沽区| 新和县|