gpt4 book ai didi

assembly - 如何在 LC-3 汇编语言中否定寄存器中的值?

转载 作者:行者123 更新时间:2023-12-04 08:28:03 24 4
gpt4 key购买 nike

我是 LC-3 汇编语言的新手,正在编写一个比较两个字符的程序。程序提示用户输入要检查的字符(我使用GETC 将用户输入加载到R0 中)。
我得到的骨架代码将“g”的否定值加载到 R0 中,它以十六进制表示为 xFF99(不过,我不确定这个值是如何获得的,因为它是给定的)。然后,将一个单独的字符加载到 R7 中并检查它们是否相等,程序将 R0 与 R7 相加,并将结果存储在 R0 中。然后,如果设置了零条件代码,则运行分支语句。
我的问题是如何获得用户输入的否定值?我必须做的就是简单地使用GETC 将用户输入获取到R0 中,然后否定该值。之后,该程序将按预期工作。

最佳答案

LC-3 没有取反指令,甚至没有减法指令 (!),因此您需要通过直接构造 2 的补码来取反数字。这需要用 NOT 指令对位进行补码,然后用 ADD 加 1。

关于assembly - 如何在 LC-3 汇编语言中否定寄存器中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65162548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com