我是汇编程序的新手,我需要一些帮助。
我的编译器只对这个命令做出反应
load i
store i
loadi i
addi i
subi i
move S T
loadin i j
storein i j
all kind of jumps
我需要编写程序在一个数据存储中查找数字存储的阶乘,假设在第一个单元格中
提前致谢
您需要弄清楚的第一件事是如何相乘,因为您没有操作码可以这样做。您可以执行以下操作:
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 的主要因素是将任务分解为更小、更易于管理的任务。祝你好运!