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