新聞中心

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

實(shí)驗(yàn)二:排序、加法(80C51單片機(jī)匯編語(yǔ)言編程)

作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
有兩個(gè)長(zhǎng)度為10H的數(shù),分別放到30H和40H為首地址的存儲(chǔ)器中(低字節(jié)),求其對(duì)應(yīng)之和,放在50H為首地址的存儲(chǔ)器中(處理進(jìn)位位),然后按升序排列,放在70H為首地址的存儲(chǔ)器中
匯編程序:
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;將兩個(gè)數(shù)求和
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R3,JIA

CLR A;查看最后一個(gè)數(shù)是否有進(jìn)位位
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計(jì)數(shù)
AA:MOV R0,#70H
MOV R1,#71H
PUSH DPL;保護(hù)DPL
BB:CLR C
MOV A,@R0
SUBB A,@R1
JC CC;第一個(gè)數(shù)小于第二個(gè)數(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


評(píng)論


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

關(guān)閉