close


標題:

使用8051寫一個三數比大小的程式

發問:

想了解一下8051三數比大小的程式如何寫 目前只會兩數比大小 EQU 40H V2 EQU 41H RR EQU 42HSTART: CLR C MOV A,V2 MOV R0,A MOV A,V1 SUBB A,R0 JNC VG MOV A,V2 MOV RR,A JMP CC VG: MOV A,V1 MOV RR,A CC: JMP $ END 麻煩~感謝

最佳解答:

V1 EQU 40H V2 EQU 41H RR EQU 42H START: CLR C MOV A,V2 MOV R0,A MOV A,V1 SUBB A,R0 JNC VG ;if V1 > V2 goto VG MOV A,V2 JMP CC VG: MOV A,V1 CC: MOV R0,A CLR C SUBB A,RR JNC DD ;if A > RR goto DD MOV A,RR JMP EE DD: MOV A,R0 EE: NOP ;這裡的A 便是 V1,V2,RR 三者的最大值 END 2011-07-29 13:00:10 補充: 請把紅字的部份改成如下: MOV R0,A MOV A,RR CLR C SUBB A,R0 JNC DD ;if RR > R0 goto DD MOV A,R0 JMP EE DD: MOV A,RR EE: NOP ;;;;;;; 這裡的A便是 V1,V2,RR三者的最大值 2011-07-30 13:20:34 補充: 本題,用CJNE 是比較適切的做法, 原題已用SUBB,所以順水推舟,延用相同寫法。 [CJNE] 和 [SUBB配合JNC或JC] 相較,雖可避免A被改變, 但 CJNE 只是比較是否相等,要比大小還是得看 Carry, 同樣還是要配合用JNC或JC。 所以誇張到「很簡單」那樣的說法,有點譁眾取寵! 用「較簡單」,才是適切的用詞。

其他解答:

試試 CJNE, 可以很簡單找到大小 http://tw.myblog.yahoo.com/jl0821/article?mid=88&prev=93&next=71&l=f&fid=157C4CB18E23D7C5B7

arrow
arrow
    創作者介紹
    創作者 cxxw3lindayhr 的頭像
    cxxw3lindayhr

    游莉丞

    cxxw3lindayhr 發表在 痞客邦 留言(0) 人氣()