現如今,單片機的編程大多是使用C語言完成,但是有時候代碼中必須要嵌入匯編語言才能夠解決某些特定的問題,單片機匯編語言對于程序調控來說也是至關重要的。直接使用匯編指令編寫單片機程序,可以更直接地控制硬件,操作物理地址、寄存器、端口等;其他更先進的語言依賴于類庫來控制硬件。此外,對于一些對程序大小和運行速度有非常嚴格要求的項目,必須使用匯編指令。C語言只是為了方便編寫,處理機器實際上是2進制代碼,匯編語言是這些代碼的名稱和規則,但比C語言更難理解,今天宇凡微就給大家帶來單片機匯編語言介紹。
一、匯編語言的結構
匯編語言程序是一系列語句,它們一般是ADD和MOV等匯編語言指令,或者是被稱為指令的語句。
首先由一個指令告訴CPU做什么,而指令給出指令編碼,比如ADD和MOV指令是CPU 運行的命令,而ORG 和END 是匯編指令。當使用 ORG 指令時,編輯器將操作代碼放置在內存位置0,而end指示源代碼的結尾。
程序語言指令由以下四個字段組成:
[label:] mnemonics [operands] [;comment](其中“[ ]”表示該字段是可選的。
該標簽字段允許程序通過名稱來指代一行代碼。標簽字段不能超過一定數量的字符。該助記符和操作數的字段一起執行程序的實際工作和完成的任務。像 ADD A , C & MOV C, #68 這樣的語句,其中 ADD 和 MOV 是產生操作碼的助記符;“A,C”和“C,#68”是操作數。這兩個字段可以包含指令。指令不生成機器代碼,僅由匯編程序使用,而指令則被翻譯成機器代碼供 CPU 執行。
匯編語言主要由三類指令組成:
(1)匯編指令:機器碼的助記符,有對應的機器碼。
(2)偽指令:沒有對應的機器碼,由編譯器執行,計算機并不執行。
(3)其他符號:如+ - 等,由編譯器識別,沒有對應的機器碼
二、匯編語言的特點
匯編語言使用助記符和符號地址,所以它要比機器語言易于掌握,與高級語言相比較,匯編語言有以下特點。
(1)匯編語言與計算機關系密切
匯編語言中的指令是機器指令的符號,與機器指令一一對應,與計算機密切相關。不同類型的CPU有不同的匯編語言,也有不同的匯編程序。匯編語言源程序的通用性和可移植性遠低于高級語言源程序。
(2)匯編語言程序效率高
由于構成匯編語言主體的指令是由機器指令的符號表示的,因此每個指令對應一個機器指令,匯編語言程序可以直接利用計算機硬件系統的許多特性,例如允許程序員使用寄存器、標志等進行編程。匯編語言編寫的源程序編譯后獲得的目標程序效率高,主要體現在空間效率和時間效率上,即目標程序短、運行速度快。在使用相同算法的前提下,與匯編語言相比,任何高級語言程序的效率都無法達到。
(3)特殊的使用場合
匯編語言可以實現高級語言難以勝任甚至無法完成的任務。匯編語言具有直接、簡單的特點,可以準確描述算法,充分發揮計算機硬件的功能。在程序設計中,匯編語言直接方便,執行速度快,效率高。
匯編語言提供了一些連接模塊的方法。一個大任務可以分解成幾個模塊,用匯編語言編寫執行頻率高的模塊,可以大大提高大型軟件的性能。
以上就是關于單片機匯編語言的全部內容分享,匯編語言的主體是匯編指令,匯編指令是機器指令便于記憶的書寫格式,它可以解決使用機器語言的各種麻煩,比如說難于辨別和記憶等等。宇凡微提供ic晶元生產及封裝定制,作為九齊一級代理商,擁有十多年的單片機芯片應用方案設計經驗,為廣大電子產品生產商提供 MCU應用功能定制開發服務。
ALL RIGHT RESERVED 2022. 粵ICP備17095549號 技術支持: 牛商股份 百度統計 粵公網安備 44030402004503號