指令和偽指令的區別

2021-08-21 04:13:23 字數 529 閱讀 8653

這個標題看似簡單,但是我卻一下子沒明白,這裡做下記錄。

指令:每一條指令語句在源程式彙編時都要產生可供計算機執行的指令**(即目標**),所以這種語句又叫做可執行語句,每一條指令語句表示cpu具有的乙個基本能力,比如資料傳送,兩數相加或相減,移位等,而這種能力是在目標程式執行時完成的,是依賴於cpu、儲存器、io等介面裝置來實現的。

偽指令:顧名思義,它不是真正的指令,也就是不是最終的指令,是用於指示匯程式設計序如何彙編源程式,所以這種語句又叫命令語句,例如偽指令告訴匯程式設計序,該源程式如何分段,有哪些邏輯段在程式段中,哪些是當前段等等,偽指令語句的這些命令功能是由匯程式設計序在彙編源程式時,通過執行另外一段程式來完成的,而不是在執行目標程式時實現的。

那麼為什麼要有偽指令,而不直接都用指令呢?原因是為了實現更高階的功能。

總結:指令是控制程式執行時的機器**運作的,是cpu執行的依據,程式設計、編譯、執行都是有效的。

偽指令不直接控制執行時刻的機器,但是控制翻譯程式如何生成機器指令**,也就是只為編譯服務,編譯完成後,偽               指令的作用也就消失了。

指令和偽指令和巨集指令區別

指令 編譯軟體最終編譯成機器碼 偽指令 不編譯成機器碼 只是告訴編譯器應該怎麼做 巨集指令 將一堆指令合併編寫 完成乙個特定的任務 這裡要讓編譯器知道是否是巨集指令就需要偽指令宣告 這裡舉例 lea命令和offset命令 lea為機器指令 offset為偽指令 比如lea ax,1 就是一條機器指令...

LDR指令和LDR偽指令的區別

arm指令集中,ldr通常都是作載入指令,但是它也可以作偽指令。初學者一般不會注意到它們的區別,其實在嵌入式開發過程中,這兩條指令時非常常用的!我們應該了解他們的區別。ldr偽指令的形式是 ldr rn,expr 作用是裝在乙個32bit常數和乙個位址到暫存器。下面舉乙個例子來說明它的用法。coun...

ldr指令 ldr偽指令和mov指令的區別

arm是risc結構,資料從記憶體到cpu之間的移動只能通過l s指令來完成,也就是ldr str指令。比如想把資料從記憶體中某處讀取到暫存器中,只能使用ldr 比如 ldr r0,0x12345678 就是把0x12345678這個位址中的值存放到r0中。而mov不能幹這個活,mov只能在暫存器之...