微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LC3程序电源功能?

如何解决LC3程序电源功能?

我想用 LC-3 用汇编语言实现一个为数字赋能的函数

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

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

这是我目前的代码

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

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

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

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

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

内循环应该做自乘工作,外循环会递减 R3,所以它会重复 R3 次。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。