我有一個程序,我正在做,我想輸入兩個數字,以便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