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