if-statement - LC-3 条件句(对此不熟悉)只是寻找指导或答案
问题描述
我必须编写一个要求 3 个正数(小于 10)的程序。然后输出最大和最小的数。我觉得我在死胡同,不知道下一步该做什么。任何帮助将不胜感激。
.ORIG x3000
LEA R0, MyNameID ;Show name and ID
PUTS
LEA R0, EnterNum1 ;Print enter number 1
PUTS
GETC R1
OUT
LEA R0, EnterNum2 ;Print enter number 2
PUTS
GETC R2
OUT
LEA R0, EnterNum3 ;Print enter number 3
PUTS
GETC R3
OUT
halt
MyNameID .STRINGZ "\nName, ID number: "
EnterNum1 .STRINGZ "\nPlease enter number 1:"
EnterNum2 .STRINGZ "\nPlease enter number 2:"
EnterNum3 .STRINGZ "\nPlease enter number 3:"
SmallestNum .STRINGZ "\nThe smallest number is:"
LargestNum .STRINGZ "\nThe largest number is:"
.end
解决方案
因此,您需要通过翻转位然后添加一个来否定其中一个寄存器。然后,如果您将该否定值添加到寄存器中的另一个数字,如果它们的值相等(在否定之前),则总和将为零。或者如果第二个数字更大,总和将为正数。或者如果第一个数字为负数,则总和将为负数。使用 BRz BRn 和 BRp 分支跳转到适当的标签。从那里使用相同的加法过程将相同的否定数字与您的第三个数字进行比较。通过这种方式,您可以确定哪个值最大,哪个值最小。
推荐阅读
- cmake - 如何防止 CMake 从 add_subdirectory() 包含的项目中安装()-ing 目标?
- node.js - 使用没有中间件功能的 multer 上传到 S3
- python - 熊猫计算范围之间每个值的出现次数
- reactjs - NotSupportedError:无法获取 ServiceWorkerRegistration 对象:用户拒绝使用 Service Worker 的权限
- ios - 无法在 Xcode 12 上启动 iOS 13.7 模拟器
- python - VIDIOC_G_STD:失败:不适当的 ioctl doer 设备
- r - rmarkdown 加密输出丢失情节和传单情节
- python - 玩家掷 2 个骰子,直到一个达到 100
- jquery - 未捕获的 SyntaxError:意外令牌:标识符
- sql - 参数化查询(Visual Studio)