实验内容
(1)已知32位有符号数X存放在寄存器R0中,要求实现:
其中Y的值存放在寄存器R1中。(X分别取正数、负数和0进行测试)
(2)计算S的值,S=1+2×3+3×4+4×5+…+N(N+1),直到N等于10为止。将S保存在寄存器R0中。
(1)已知32位有符号数X存放在寄存器R0中,要求实现:其中Y的值存放在寄存器R1中。(X分别取正数、负数和0进行测试)
代码实现
AREA test1,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#-2
CMP R0,#0
BEQ ZERO
BGT PLUS
MOV R1,#-1
B FINISH
ZERO
MOV R1,#0
PLUS
MOV R1,#1
B FINISH
FINISH
B START
END
Debug
(2)计算S的值,S=1+2×3+3×4+4×5+…+N(N+1),直到N等于10为止。将S保存在寄存器R0中。
代码实现
AREA test2,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#1
MOV R1,#2
REPEAT
ADD R2,R1,#1
MUL R3,R2,R1
ADD R0,R0,R3
ADD R1,R1,#1
CMP R1,#10
BLE REPEAT
B START
END