2013-03-03 96 views
0

我是新来的汇编程序,我需要一些帮助。阶乘汇编代码

我的编译器反应仅此命令

load i 
store i 
loadi i 
addi i 
subi i 
move S T  
loadin i j 
storein i j 
all kind of jumps 

,我需要编写程序在数据存储的一个发现门店数量的阶乘,假设在第一小区提前

感谢

+0

我不承认汇编语言,但不管怎样,你似乎需要先学习汇编语言的基础知识。另外,我认为“数据存储在一个数据存储器中”是没有意义的(应该是“存储在一个数据存储器中的数字”)?最后,一般来说,“数据存储”和“第一单元”在汇编语言的语境中是太模糊的概念。 – nrz 2013-03-03 21:10:42

回答

0

你需要弄清楚的第一件事是如何繁殖,因为你没有操作码。你可以这样做:

loop add mul1 to result 
     subtract 1 from mul2 
     if counter is greater zero jump to loop 

你在哪里试图计算MUL1 * MUL2当循环退出你的答案将是结果。

现在你需要弄清楚如何做阶乘。它会使用我刚写的乘法是这样的:

 load num 
     set i = num 
top multipy num and i 
     subtract 1 from i 
     if i is greater than 0 jump to top 

现在对于翻译成你的汇编的操作码这个,我不打算这样做。我对它的了解不够多,即有多少个寄存器,操作码规范等等,因为有许多不同种类的汇编代码。

帮助我开始使用ASM的主要事情是将任务分解为更小,更易于管理的任务。祝你好运!

+0

谢谢。我做到了:) – unknown 2013-03-03 22:53:02

+0

不要忘记接受你的问题的答案。欢迎来到SO! – Raufio 2013-03-04 00:29:14