你如何在 pep9 中对一个数求平方?

How can you square a number in pep9?

我正在尝试在 pep9 中将一个数字与自身相乘以获得该数字的平方。但是,我不确定该怎么做,因为如果我尝试在末尾自行添加数字,它会给我一个随机值。请帮忙。

代码:

main1:  STRO msg4,d
        DECI nNum,d          
niLoop: LDWA nNum,d 
        BREQ done1
        SUBA 0x0001,i
        STWA nNum,d
        LDWA result1,d
        ADDA nNum,d 
        STWA result1,d    
        BR niLoop
done1:  BR main2

输入值时得到的输出,例如6,是15吗?不知道为什么。 如有任何帮助,我们将不胜感激!

单步迭代,你会发现问题所在:

你正在做的是计算 0 + 5 + 4 + 3 + 2 + 1 = 15。

你想要做的是计算 0 + 6 + 6 + 6 + 6 + 6 + 6 = 36,或者只是 6 + 6 + 6 + 6 + 6 + 6 + 6 = 36