繁体   English   中英

LC3程序电源function?

[英]LC3 program power function?

我想实现一个 function,它用 LC-3 为汇编语言中的数字提供动力。

我可以使用 4 个寄存器 R0、R1、R2 和 R3,并使用嵌套循环。

更准确地说,它将为 R2 供电给 R3,以便 R2^R3。

到目前为止,这是我的代码:

MyPOW   ADD     R3, R3, #0
BRz     ZeroP
        AND     R0, R0, #0
        ADD     R1, R3, #0

; Outer Loop
OLoop   AND     R3, R3, #0
; Inner Loop
ILoop   ADD     R0, R0, R2
        ADD     R2, R2, #-1
        BRp     ILoop
        ADD     R3, R3, R0
        ADD     R1, R1, #-1
        BRp     OLoop
        RET

ZeroP   AND     R3, R3, #0
        ADD     R3, R3, #1
        RET

所以 MyPow 是 function 的名称,它会首先检查 R3 是否为 0,如果为 0,它将跳转到 ZeroP,立即返回 1。

否则,它将循环并将 R2 本身乘以 R3 次。 这就是我的目标。

预计内部循环将执行自乘工作,外部循环计算 R3 并递减,因此它将重复 R3 次。

但它不能正常工作,它只是进行正常的乘法运算,例如如果 R2 = 2 和 R3 = 3 则返回 6。

我不知道为什么,有人可以帮忙吗? 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM