2017-10-20 242 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'不是一個有效的指令。 –

相關問題