我有一个程序,我正在做,我想输入两个数字,以便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
我有一个程序,我正在做,我想输入两个数字,以便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
您正在将两个输入值都存储在first
中,这意味着您用第二个值覆盖第一个值。
修正以上和之后的代码,你的代码不是输出最大的,它是输出秒(不管相对大小)。单步执行或者实际阅读代码应该告诉你为什么。
对不起,这是一个错误,请再次检查代码 – Jeff
解决像这样的简单问题本身就是一种更好的*学习*方式,而不仅仅是复制别人的解决方案。如果你的目标是学习。 – rici
或者至少找个人更好地复制:) –
正如斯科特·亨特已经指出,你打印在两个分支的第二个值。另外请注意,你正在测试**第二秒**,这将不会给你任何有用的信息。请给我们你想要实现的伪代码。 – Prune