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