ARM數據處理指令
寄存器傳送指令
移位指令
算術(shù)運算指令
邏輯運算指令
比較指令
乘法指令
1.
實(shí)驗一:
根據提示信息完成程序并運行驗證。(exp5_1_1.s)
AREA lab1,CODE,READONLY
START
STOP
思考題:
a)
SUBS R4,R0,R1
SUBS R4,R1,R0
后,程序狀態(tài)寄存器CPSR的標志位各有何變化?為什么?
b)
SUB R4,R0,R1
SUB R4,R1,R0
后,程序狀態(tài)寄存器CPSR的標志位各有何變化?為什么?
實(shí)驗二:
編寫(xiě)ARM匯編程序。有兩個(gè)128位數,第一個(gè)數0x00000004000000c3000000
2.
實(shí)驗六:根據提示信息完成程序并運行驗證。(exp5_1_6.s)
AREA lab3,CODE,READONLY
START
;32位無(wú)符號乘加計算R0*R1+R0,R5存結果
;32 位無(wú)符號乘法計算R2*R3,R6存結果
;64位無(wú)符號乘法計算R2*R3,R7存低32位,R8存高32位
STOP
思考題:
在上述程序中,執行語(yǔ)句
MUL R6,R2,R3
UMULL R7,R8,R2,R3
SMULL R9,R10,R2,R3
后,解析個(gè)寄存器的值。
3.
實(shí)驗三:
根據提示信息完成程序并運行驗證。(exp)
START
;測試寄存器R0中的第2位是否為1,并根據結果修改CPSR的標志位(若是,跳轉到START)
實(shí)驗四:
編寫(xiě)簡(jiǎn)單的匯編語(yǔ)言程序,功能是計算1+2+3+。。。。+n的值,并把累加的結果存儲到寄存器中。 (exp3_1_1)
4.
實(shí)驗五:
將0x3FC0的第4~11位用0xDD替換,變成0x3DD0。根據提示信息完成程序并運行驗證。 (exp)
START
STOP
思考:
在上述程序中,如果將0x3FC0替換為0xCFC0,應該如何修改程序?
評論