ARM中LR存儲的是PC的值,IR存儲的是下一條將要執行的指令,有什麼區別?
先看定義:
(1)PC是程序計數器,存儲將要執行的指令地址
(2)LR是鏈接寄存器,是ARM處理器中一個有特殊用途的寄存器,當調用函數時,返回地址即PC的值被保存到LR中(mov lr,pc)。
(3)IR是指令寄存器,用來保存當前正在執行的一條指令。當執行一條指令時,先把它從內存取到數據寄存器(DR)中(有的書上叫做緩沖寄存器,BR),然後再傳送至IR。
說白了,LR存的是指令地址,IR存的是指令內容。
ARM匯編偽指令
gdb調試匯編指令和查看寄存器
ARM FP寄存器及frame pointer介紹
ARM匯編程序---用ARM匯編實現R0寄存器中數據調換數據
ARM寄存器總結
ARM的偽指令總結
嵌入式Linux ARM匯編(三)——ARM匯編指令(四)
嵌入式Linux ARM匯編(三)——ARM匯編指令(三)