2017-10-20 238 views
-1

我有一个程序,我正在做,我想输入两个数字,以便LMC可以输出最小的一个。我的代码给了我最大的数字,帮我修复它。设计一个算法来输入2个数字,然后输出小个子计算中的最小数字

INP 
STA first 
INP 
STA second 

SUB second 
BRP secondBig 
LDA second 
OUT 
BRA endProgram 
secondBig LDA second 
OUT 
endProgram HLT 
first DAT 
second DAT 
+1

解决像这样的简单问题本身就是一种更好的*学习*方式,而不仅仅是复制别人的解决方案。如果你的目标是学习。 – rici

+0

或者至少找个人更好地复制:) –

+0

正如斯科特·亨特已经指出,你打印在两个分支的第二个值。另外请注意,你正在测试**第二秒**,这将不会给你任何有用的信息。请给我们你想要实现的伪代码。 – Prune

回答

0

您正在将两个输入值都存储在first中,这意味着您用第二个值覆盖第一个值。

修正以上和之后的代码,你的代码不是输出最大的,它是输出(不管相对大小)。单步执行或者实际阅读代码应该告诉你为什么。

+0

对不起,这是一个错误,请再次检查代码 – Jeff

0

反转您的条件分支:使用BRN(分支负)而不是BRP。 或者,切换决定哪个值可用于输出的逻辑分支。

+0

好吧,让我试试 – Jeff

+0

程序在BRN暂停,是否有可能为我重写代码 – Jeff

+0

'BRN'不是一个有效的指令。 –

相关问题