我在R0和R1中加载了两个十六进制值。然后我将R2设置为寄存器,我的总和应该结束。我如何一点一点地添加这些十六进制值?我试图传递两个数字以及存储结果的位置。然后将结果存储在ram中并传回该地址,如果没有溢出则传回0,如果有溢出则传回1.
这是在ARM程序集中
AREA mydata,DATA
SUM DCD 0
AREA mycode,CODE
THUMB
EXPORT __main
NUM1 DCD 0x275
NUM2 DCD 0x963
__main PROC
LDR R0,=NUM1
LDR R0,[R0] ;R0 has NUM1
LDR R1,=NUM2
LDR R1,[R1] ;R1 has NUM2
LDR R2,=SUM
LDR R2, [R2] ;R2 has SUM
BL adder
exit B exit
ENDP
adder PROC
BX LR ;branch and exchange instruction set LR holds the return address
ENDP
END