新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 實驗二:排序、加法(80C51單片機匯編語言編程)

        實驗二:排序、加法(80C51單片機匯編語言編程)

        作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
        有兩個長度為10H的數(shù),分別放到30H和40H為首地址的存儲器中(低字節(jié)),求其對應(yīng)之和,放在50H為首地址的存儲器中(處理進位位),然后按升序排列,放在70H為首地址的存儲器中
        匯編程序:
        ORG 0000H;設(shè)置初始位置
        START:MOV R0,#30H
        MOV R1,#50H
        MOV R3,#10H
        CF:MOV A,@R0;將30H的數(shù)放在50H
        MOV @R1,A
        INC R0
        INC R1
        DJNZ R3,CF

        MOV R0,#50H
        MOV R1,#40H
        MOV R3,#10H
        CLR C
        JIA:MOV A,@R0;將兩個數(shù)求和
        ADDC A,@R1
        MOV @R0,A
        INC R0
        INC R1
        DJNZ R3,JIA

        CLR A;查看最后一個數(shù)是否有進位位
        ADDC A,#00H
        MOV 60H,A

        MOV R0,#50H;將50H的數(shù)放到70H
        MOV R1,#70H
        MOV R3,#10H
        ZY:MOV A,@R0
        MOV @R1,A
        INC R0
        INC R1
        DJNZ R3,ZY

        MOV DPL,#0FH;用DPL計數(shù)
        AA:MOV R0,#70H
        MOV R1,#71H
        PUSH DPL;保護DPL
        BB:CLR C
        MOV A,@R0
        SUBB A,@R1
        JC CC;第一個數(shù)小于第二個數(shù)跳轉(zhuǎn)
        MOV A,@R0
        XCH A,@R1
        MOV @R0,A
        CC:INC R0
        INC R1
        DJNZ DPL,BB;減一不等于零跳轉(zhuǎn)(內(nèi)循環(huán))
        POP DPL
        DJNZ DPL,AA;減一不等于零跳轉(zhuǎn)(外循環(huán))
        SJMP $
        END


        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 广宁县| 淮阳县| 襄城县| 射洪县| 淮北市| 临湘市| 凌云县| 普宁市| 尉氏县| 新安县| 密山市| 定州市| 河北区| 兴仁县| 新巴尔虎右旗| 闽侯县| 马公市| 绍兴县| 天柱县| 霍林郭勒市| 赤水市| 龙南县| 嘉禾县| 平果县| 重庆市| 绥滨县| 永修县| 海阳市| 嘉善县| 汤原县| 绩溪县| 绍兴市| 读书| 峨眉山市| 错那县| 定南县| 灵武市| 平度市| 萝北县| 白银市| 长沙市|