虽然在汇编编程中声明了keil u-version4

时间:2013-11-08 12:10:18

标签: assembly arm

我想在汇编编程keil uversion 4中翻译这个upcode:

n = 5,
fac = 1,
next = 2

while  next <= n do

   fact = fact * next
   next = next + 1``

end

感谢

1 个答案:

答案 0 :(得分:0)

据我所知,Keil使用ARM CPU。基本顺序将是:

mov r0, #5 ;n
mov r1, #1 ;fact
mov r2, #2 ;next
b LoopCheck

Loop:
mul r1, r1, r2
add r2, r2, #1

LoopCheck:
cmp r2, r0
ble Loop   

您的汇编程序的语法可能会有所不同。此外,硬件/ OS可能更喜欢Thumb指令集;我不会知道这件事。

您的代码段忽略了所有内容中最毛茸茸的细节 - 如何获取输入值以及如何处理结果。该算法是纯粹的香草ARM,独立于平台的细节; I / O不会。