【发布时间】:2023-03-10 18:09:02
【问题描述】:
我有一个问题,我应该接受用户输入(如 TRAP x23),但只能接受某些用户输入。基本上,我的问题看起来像这样的伪:
if value <= 5 & value >=0
print yes
else
print error
我还需要考虑何时有人键入非数字字符,我不知道从哪里开始。任何帮助将不胜感激!
【问题讨论】:
标签: assembly conditional lc3
我有一个问题,我应该接受用户输入(如 TRAP x23),但只能接受某些用户输入。基本上,我的问题看起来像这样的伪:
if value <= 5 & value >=0
print yes
else
print error
我还需要考虑何时有人键入非数字字符,我不知道从哪里开始。任何帮助将不胜感激!
【问题讨论】:
标签: assembly conditional lc3
在 LC-3 中,您只能与 0 进行比较。您可以测试保存在寄存器中的最后一个值是负数、零还是正数。因此,您需要根据与 0 的比较来重写这些语句,并且需要将 if 语句分解为 2。
您的伪代码更易于翻译的版本如下所示
if value-5 > 0 goto PRINT_ERROR
if value < 0 goto PRINT_ERROR
; print yes
如果任何 if 语句的计算结果为 true,则这些更容易转换为 BR 语句,然后您跳转到带有处理打印错误消息的代码的标签。如果它们都没有被带走,那么你打印 yes 之后你可以做任何你想做的事情。
【讨论】: