x86彙編語言簡介

彙編語言是最古老的編程語言,它是所有語言中最接近原生機器語言的。它擁有直接訪問計算機硬件的特權。

彙編器和鏈接器

彙編器是一種工具程序,用於將彙編語言符號轉換成機器語言的“0101”二進制。鏈接器同樣也是工具程序,通過鏈接器把彙編器生成的單個文件組成一個可執行程序。

彙編語言與高級語言的區別

首先我們要知道機器語言是一種數字語言,處理器被設計成可以專門計算這些數字語言的結構。但是要我們人去識別這些數字是很難的,所以需要一些好記的符號代表這些數字語言的含義。機器語言和彙編語言是一一對應的:每條彙編指令對應一條機器語言指令。

高級語言和彙編語言是一對多的關係,比如我們常見的一條賦值語句就需要要多條彙編語言來組成實現。

彙編語言是不可移植的

一種語言可以在不同的的計算機操作系統中編譯運行,我們就稱爲這種語言是可移植的。我們最常見的C++和Java等高級語言就是可移植的,只要滿足一定的條件它們幾乎可以在任何計算機下運行。

彙編語言卻是不可移植的,因爲這種語言是專門爲一種處理器架構所設計的。目前廣爲人知的不同種類的彙編語言,每一種都是基於一種處理器系列。彙編語言指令會直接與該計算機體系結構進行匹配,或者在執行使用一種被稱爲僞代碼解釋器的處理器內置程序來進行轉換。

學習彙編語言可以幹什麼

1)編寫嵌入式程序。嵌入式程序是指一些存放在專用設備中小容量存儲器內的端程序,例如:電話、汽車燃油和點火系統、空調控制系統、安全系統、數據採集一起、顯卡、聲卡、硬盤驅動器、調制解調器和打印機。

2)處理仿真和硬件監控的實施應用程序要求精確定時和響應。高級語言不會讓程序員對編譯器生成的機器代碼進行精確控制。彙編語言則允許程序員精確指定程序的可執行代碼。

3)電腦遊戲要求軟件在減少代碼大小和加快執行速度方面進行高度優化。因爲彙編語言允許直接訪問計算機硬件。所以可以爲了提高遊戲速度進行手工優化。

4)有助於形成對計算機硬件、操作系統和應用程序之間交互的全面理解。使用彙編語言可以很方便的檢驗從計算機體系結構和操作系統資料中獲得的理論知識。

5)一些高級語言對其數據表示進行了抽象,使得它們在執行底層任務時不是很方便。這種情況下,程序員可以調用彙編語言編寫的子程序完成它們的任務。

6)硬件製造商爲銷售的設備創建設備驅動程序。設備驅動程序是一種把用戶操作系統指令轉換爲對硬件細節的具體引用的程序。誰讓驅動需要與硬件打交道,而彙編又有直接訪問硬件的權力呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章