版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《單片機(jī)原理及應(yīng)用》編程題題庫參照答案六
1、內(nèi)部RAM30H和31H單元中寄存著2個(gè)0部的ASCII碼(高位字節(jié)在前),請將其轉(zhuǎn)換為壓縮
BCD碼(高位在前)并存入外部RAM2300H單元中。
解:ORGOH
LJMPSTART
ORG3011
START:MOVA,30H
ANLA,8OFH
SWAPA
MOVRO,A
MOVA,31H
ANLA,#OFH
ORLA,RO
MOVDPTR,#230011
MOVX@DPTR,A
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對的可得5分,指令完全寫對可得分。若僅
寫對少許指令,可酌情給1-3分:若僅有少許指令寫錯(cuò),可酌情扣1-3分。
2、將寄存在內(nèi)部RAM30H-35H單元的壓縮型BCD碼轉(zhuǎn)換成對應(yīng)的ASCII碼,依次寄存到外部RAM
2100H開始的單元區(qū)中。
ORGOH
LJMPSTART
ORG3OH
START:MOVRO,#3011
MOVR2,#06H
MOVDPTR,#2100H
LOOP:MOVA,?RO
SWAPA
ANLA,#OFH
ORLA,#30H
MOVX@DPTR,A
INCDPTR
MOVA,@R0
ANLA,#oni
ORLA,#30H
MOVX領(lǐng)PTR,A
INCDPTR
INCRO
DJNZR2,LOOP
SJMP$
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對口勺可得5分,指令完全寫對可得1。分。若僅
寫對少許指令,可酌情給卜3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
3、內(nèi)部RAM20H和30H開始H勺單元分別寄存著16個(gè)16進(jìn)制數(shù),請將對應(yīng)單元H勺內(nèi)容相加(不考
慮溢出),并將和存入外部RAM2023H開始的單元中。
解:0RG0
LJMPSTART
0RG30H
START:MOVRO,#20H
MOVRI,#30H
MOVDPTR,#202311
MOVR2,#08H;每個(gè)單元寄存2個(gè)16進(jìn)制數(shù),故16個(gè)16進(jìn)制數(shù)占用8個(gè)單
元
LOOP:MOVA,@R()
ADDA,@R1
MOVX?DPTR,A
INCR0
INCRI
INCDPTR
DJNZR2,LOOP
SJMP$
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對的可得5分,指令完全寫對可得1。分。若僅
寫對少許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
4、請編寫多字節(jié)無符號數(shù)減法程序。被減數(shù)寄存在內(nèi)部RAM20H開始的18個(gè)單元中,減數(shù)寄存在
內(nèi)部RAM30H開始的8個(gè)單元,請將差寄存到外部RAM2023H開始的8個(gè)單元中,借位寄存到0V標(biāo)志
中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的次序寄存。
ORG0
LJMPSTART
ORG30H
START:MOVRO,#20H
MOVRL#30H
MOVDPTR,#2023H
MOVR2,#08H
CLRC
LOOP:MOVA,@R0
SUBBA,@R1
MOVX?DPTR,A
INCRO
INCRI
INCDPTR
DJNZR2,LOOP
MOVOV,C
SJMP$
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對II勺可得5分,指令完全寫對可得19分。若僅
寫對少許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
5、內(nèi)部RAM40H和41H單元中寄存著2個(gè)0-9的ASCII碼(高位字節(jié)在前),請將其轉(zhuǎn)換為壓縮
BCD碼(席位在前)并存入外部RAM2023H單元中。
解:ORGOH
LJMPSTART
ORG30H
START:MOVA,40H
ANLA,#OFH
SWAPA
MOVRO,A
MOVA.41H
ANLA,#OFH
ORLA,RO
MOVDPTR,#2O23H
MOVX@DPTR,A
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對的可得5分,指令完全寫對可得13分。若僅
寫對少許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
6、將寄存在內(nèi)部RAM20H-2FH單元日勺壓縮型BCD碼(高位在前)轉(zhuǎn)換成對應(yīng)的ASCII碼,依次寄存
到外部RAM1000H開始的單元區(qū)中。
ORG011
IJMPSTART
ORG30H
START:MOVRO,#20H
MOVR2,#10H
MOVDPTR,#1000H
LOOP:MOVA,@R0
SWAPA
ANLA,#OFH
ORLA,#3011(或ADDA,#3011)
MOVX@DPTR,A
INCDPTR
MOVA,@RO
ANLA,#OFH
ORLA,#3011(或ADDA,#3011)
MOVX@DPTR,A
INCDPTR
INCRO
DJNZR2,LOOP
SJMP$
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對日勺可得5分,指令完全寫對可得19分。若僅
寫對少許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
7、內(nèi)部RAM30H和38H尸始口勺單元分別寄存著8個(gè)壓縮BCD碼,請將對應(yīng)單元口勺內(nèi)容相加(不考
慮溢出),并將和存入外部RAM1000H開始的單元中。
解:ORG0
LJMPSTART
ORG30H
START:MOVRO,#30H
MOVRI,#38H
MOVDPTR,#IOOOH
MOVR2,#08
LOOP:MOVA,@RO
ADDA,@R1
DAA
MOVX@DPTR,A
INCRO
INCRI
INCDPTR
DJNZR2,LOOP
SJMP$
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對口勺可得5分,指令完全寫對可得19分。若僅
寫對少許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣卜3分。
8、請編寫多字節(jié)無符號數(shù)加法程序。被加數(shù)寄存在內(nèi)部RAM20H開始的8個(gè)單元中,加數(shù)寄存在
內(nèi)部RAM30H開始的8個(gè)單元,請將和寄存到外部RAM2023H開始的8個(gè)單元中,進(jìn)位寄存到F0標(biāo)志
中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的次序寄存。
ORG0
LJMPSTART
ORG3011
START:MOVRO,#2011
MOVRI,#30H
MOVDPTR,#2023H
MOVR2,#08H
CLRC
LOOP:MOVA,@R0
ADDCA,@R1
MOVX@DPTR,A
INCRO
INCRI
INCDPTR
DJNZR2,LOOP
MOVFO,C
SJMP$
END
評分措施:不規(guī)定寫出程序的注釋.程序設(shè)計(jì)思緒對口勺可得5分,指令完全寫對可得19分。若僅
寫對少許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
9、兩個(gè)8字節(jié)壓縮BCD碼分別寄存在內(nèi)部RAM30H和40H開始時(shí)持續(xù)單元中(低位字節(jié)在前),請
將兩者求和(不考慮溢出狀況),并將和存入外部RAM1000H開始的單元中。
解:ORG0
MOVR0,#3011
MOVRI,#40H
MOVDPTR,#1OOOH
MOVR2,#8
CLRC
LOOP:MOVA,@R0
ADDCA,@RI
DAA
MOVX@DPTR,A
INCRO
INCRI
INCDPTR
DJNZR2,LOOP
SJMP$
END
10、將寄存在內(nèi)部RAM2CH-2FH單元日勺十六進(jìn)制數(shù)轉(zhuǎn)換成ASCII碼,依次寄存到外部RAM2023H
開始的單元中。
解:MOVKO,#2OH
MOVR2,#16
MOVDPTR,#2023H
MOVR3,DPH
MOVR4,DPL
LOOP:MOVA,@RO
ANLA,#OFH
MOVDPTR,#TAB
MOVCA,0A+DPTR
MOVDPH,R3
MOVDPL,R4
MOVX0DPTR,A
INCDPTR
MOVR3,DPH
MOVR4,DPL
MOVA,0RO
SWAPA
ANLA,#OFH
MOVDPTR,#TAB
MOVCA,QA+DPTR
MOVDPH,R3
MOVDPL,R4
MOVX@DPTR,A
INCDPTR
MOVR3,DPH
MOVR4,DPL
INCRO
DJNZR2,LOOP
SJMP
TAB:I)B<ABCDEF,
ENI)
11、內(nèi)部RAM30H和外部RAM2200H開始的單元分別寄存著兩個(gè)8字節(jié)十六進(jìn)制數(shù)(低位字節(jié)寄
存在前),請將兩者相加(不考慮溢出狀況),并將和存入內(nèi)部RAM40H開始的單元中。
解:ORG0
MOVRO,#30H
MOVRI,#40H
MOVDPTR,#220011
MOVR2,#8
CLRC
LOOP:MOVXA,?DPTR
ADDCA,@R0
MOV@R1,A
INCRO
INCRI
INCDPTR
DJNZR2,LOOP
SJMP$
END
12、請編寫多字節(jié)無符號數(shù)減法程序。被減數(shù)寄存在內(nèi)部RAM30H開始H勺8個(gè)單元中,減數(shù)寄存在
內(nèi)部RAM38H開始H勺8個(gè)單元,請將差寄存到外部RAM1000H開始的8個(gè)單元中,借位寄存到F0標(biāo)志
中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的次序寄存。
解:ORG0
LJMPSTART
ORG30H
START:MOVRO,#30H
MOVRI,#38H
MOVDPTR,#100011
MOVR2,#8
CLRC
LOOP:MOVA,@R0
SUBBA,@R1
MOVX@DPTR,A
INCRO
INCRI
INCDPTR
DJNZR2,LOOP
MOVC,FO
SJMP3
END
13、請編寫多字節(jié)無符號數(shù)減法程序。被減數(shù)寄存在內(nèi)部RAM20H開始的16個(gè)單元中,減數(shù)寄存
在內(nèi)部RAM30H開始的16個(gè)單元,請將差寄存到外部RAM2023H開始的16個(gè)單元中,借位寄存到0V
標(biāo)志中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的次序寄存
解:ADDR1EQU20H
ADDR2EQU30H
LENEQU16
ADDR3EQU2023H
ORG0
LJMPSTART
ORG30H
START:MOVRO,#ADI)R1
MOVRI,#ADDR2
MOVDPTR,SADDR3
MOVR2,升LEN
CLRC
LOOP:MOVA,@R0
SUBBA,@R1
MOVX@DPTR,A
INCRO
INCRI
INCDPTR
DJNZR2,LOOP
MOVov,c
SJMP$
END
14、將寄存在內(nèi)部RAM20H-3FH單元H勺壓縮BCD碼轉(zhuǎn)換成ASCII碼,依次寄存到外部RAM2300H
開始的單元中。(注:每個(gè)單元均先轉(zhuǎn)換高四位)
解:LEMEQU20H
ADDRIEQU2011
ADDR2EQU2300H
ORG0
LJMPSTART
ORG30H
START:MOVRO,#ADDR1
MOVDPTR,#ADDR2
MOVR2,#LEN
LOOP:MOVA,@R0
ANLA,ftOFOH
SWAPA
ORLA,#3011(或ADI)A,#3011)
MOVX@DPTR,A
INCDPTK
MOVA,@R0
ANLA,#OFH
ORLA,#30H(或ADDA,#30H)
MOVX@DPTR,A
INCDPTR
INCRO
DJNZR2,LOOP
SJMP$
ENI)
評分措施:程序設(shè)計(jì)思緒對時(shí)可得5分,指令完全寫對可得10分。不規(guī)定使用偽指令。若僅寫對少
許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
15、將寄存在內(nèi)部RAM3CH-35H單元的十六進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)H勺ASCII碼,依次寄存到外部RAM
UOOH開始的單元區(qū)中。(注:每個(gè)字節(jié)轉(zhuǎn)換時(shí)先轉(zhuǎn)換高四位)
解:ORG0
MOVRO,#30H
MOVDPTR,#110011
MOVR2,#6
LOOP:MOVA,eRO;取需要轉(zhuǎn)換H勺數(shù)
ANLA,#OFOH;屏蔽低4位
SWAPA
PUSHDPH
PUSHDPL;保護(hù)目H勺地址
MOVDPTR,#TAB
MOVCA,@A+DPTR;查表得ASCII碼
POPDPL
POPDPH;恢復(fù)目的地址
MOVX@DPTR,A;存轉(zhuǎn)換后口勺ASCII碼
INCDPTK;修改日的地址指針
MOVA,@R0;取需要轉(zhuǎn)換的數(shù)
ANLA,#OFH;屏蔽高4位
PUSHDPH
PUSHDPL;保護(hù)目的地址
MOVDPTR,#TAB
MOVCA,gA+DPTR;查表得表CH碼
POPDPL
POPDPI!;恢復(fù)目的地址
MOVX@DPTR,A
INCDPTR;修改目H勺地址指針
INCRO;修改源地址指針
DJNZR2,LOOP;未轉(zhuǎn)換完則繼續(xù)
SJMP$
TAB:DB'ABCDEF'
END
評分措施:程序設(shè)計(jì)思緒對的可得5分,指令完全寫對可得10分。若僅寫對少許指令,可酌情給
1-3分;若僅有少許指令寫錯(cuò),可酌情扣13分。
16、內(nèi)部RAM30H開始的單元中寄存著16個(gè)0-9的ASCH碼(高位字節(jié)在前),請將其轉(zhuǎn)換為壓縮
BCD碼(而位在前)并存入外部RAM1000H開始II勺單元中。
解:ORG0
MOVRO,#30H
MOVDPTR,#100011
MOVR2,#8;16個(gè)ASCII碼轉(zhuǎn)換為8個(gè)壓縮BCD碼
LOOP:MOVA,@R0
ANLA,#OFH;屏蔽高4位得到BCD碼
SWAPA
MOVRI,A
INCRO;指向下一種ASCII碼
MOVA,@R0
ANLA,#OFH;屏蔽高4位得到BCD碼
ORLA,RI;合成壓縮BCD碼
MOVX@DPTR,A;存壓縮BCD碼
INCDPTR
INCRO
DJNZR2,LOOP
SJMP$
END
設(shè)有兩個(gè)長度為16字節(jié)口勺數(shù)組,分別寄存在外部RAM0200H和0300H為首址的存儲區(qū)域中,
試編寫程序求其對應(yīng)項(xiàng)之和(不考慮溢出的狀況),成果寄存在以0400H為首址H勺外部RAM中。
解:參照程序清單如下:
ORG0
MOVR2,口6;數(shù)組長度為16個(gè)字節(jié)
MOVR3,W2H;數(shù)組1的首地址高8位
MOVR4,#0311;數(shù)組2的首地址高8位
MOVR5,#0411;和數(shù)組的首地址高8位
MOVDPL,#0;數(shù)據(jù)指針低8位清零
LOOP:MOVDPH,R3
MOVXA,@DPTR;取被加數(shù)
MOVRI,A;存被加數(shù)
MOVDPH,R4
MOVXA,@DPTR;取加數(shù)
ADDA,RI;求和
MOVDPH,R5
MOVX@DPTR,A;存和
INCDPL;指向下一字節(jié)
DJNZR2,LOOP;未加完則循環(huán)
END
評分措施:程序設(shè)計(jì)思緒對內(nèi)可得5分,指令完全寫對可得10分。若僅寫對少許指令,可酌情給
1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
18、編程求內(nèi)部RAM中40H?4FH共16個(gè)單元中的內(nèi)容的和(成果為2字節(jié)),并將和放入50H和
51H單元中(高8位在50H)。
解:參照程序清單如下:
ORG0
LJMPSTART
ORG3011
START:MOVRO,#40H;數(shù)據(jù)區(qū)首地址送R()
MOVR2,#16;單元數(shù)送R2
MOVR3,#0;和的高8位清零
CLRA;和時(shí)低8位清零
LOOP:CLRC
ADDA,@R0;求和
JNCNEXT;沒有進(jìn)位則轉(zhuǎn)移
INCR3;和的高8位存儲單元內(nèi)容加1
NEXT:INCRO;指向下一種單元
DJNZR2,LOOP;沒加完則循環(huán),和在口3和八中
MOV51H,A;存低8位成果
MOV50H,R3;存高8位成果
SJMP$
END
19、有一種長度為16字節(jié)的ASCII碼字符串寄存在外部RAM1000H為首址的存儲區(qū)域中,字符串
中的每一種字符均不相似,試編寫程序查找字符串中與否存在ASCII碼“9"。假如在字符串中存在ASCII
碼“9”,則將其存儲單元的地址寄存到內(nèi)部RAM30H和31H單元中(高8位地址在30H單元中),同步
將0V標(biāo)志位清零。否則,將30H和31H單元的內(nèi)容清零,并將OV標(biāo)志位置“1”。
解:ORG0
MOVSP,#6(川
MOVDPTR,#1()OOH
MOVR2,#16
LOOP:MOVXA,@DPTR
CJNEA,#39H,EXIT
MOV30H,DPH
MOV31H,DPL
CLROV
SJMP$
EXIT:INCDPTR
DJNZR2,LOOP
MOV30H,#0
MOV31H,#0
SETBOV
SJMP
END
20、有兩個(gè)8字節(jié)的16進(jìn)制數(shù)a和b,它們分別寄存在內(nèi)部RAM中30H?37H和40H?47H日勺單元中
〔高位字節(jié)在前)。請編程求a-b,并將差存入30H開始H勺內(nèi)部RAM單元中(高位字節(jié)在前),若差不大
于零則將F0標(biāo)志位置“1”,否則清零。
解:設(shè)計(jì)思緒:從16進(jìn)制數(shù)的最低位字節(jié)(37H和47H)開始對應(yīng)字節(jié)帶借位相減,然后修改地
址指針在對次低位字節(jié)進(jìn)行相減,一共循環(huán)8次完畢兩個(gè)8字節(jié)16進(jìn)制數(shù)H勺相減。最終將Cy標(biāo)志的內(nèi)
容傳送給F0標(biāo)志位即可。
0RG0
MOVRO,#37H
MOVRI,#47H
MOVR2,#8
CLRC
LOOP:MOVA,@R0
SUBBA,@R1
MOV@R0,A
DECRO
DECRI
DJNZR2,LOOP
MOVF0,C
SJMP
END
21、若外部RAM的(3000H)=X,(3001H)=Y,編程實(shí)現(xiàn)Z=X*X+2Y,并將成果存到片內(nèi)RAMFJ勺4011
單元(設(shè)ZV256)?
解:XEQU3000H
YEQU3001H
ZEQU40H
ORG0
MOVDPTR,#X;變量X的地址送DPTR
MOVXA,@DPTR;取變量X
MOVB.A;變量X的值送給B寄存器
MULAB;求*X,根據(jù)題意知積為1字節(jié)(在A中)
MOVRO,A;X*XH勺成果存入R0中
INCDPTR;指向變量Y
MOVXA,@DPTR;取變量Y
MOVB,#2
MULAB;求2*Y,根據(jù)題意知積為1字節(jié)(在A中)
ADDA,RO;求X*X+2*Y
MOVZ,A;和存入40H單元
SJMP$;停機(jī)
END
評分措施:不規(guī)定寫出程序的I注釋和使用偽指令。程序設(shè)計(jì)思緒對的可得5分,指令完全寫對可得
1D分。若僅寫對少許指令,可酌情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
22、設(shè)外部RAM2023H單元為數(shù)據(jù)塊的起始地址,數(shù)據(jù)塊長度為1(),試編程求數(shù)據(jù)塊中的最小值,
存入內(nèi)部RAM30H單元。
解:設(shè)計(jì)思緒:將數(shù)據(jù)塊的第1個(gè)數(shù)據(jù)放入成果單元,然后依次與剩余的9個(gè)數(shù)據(jù)進(jìn)行比較。假如
新的數(shù)據(jù)比成果單元中的數(shù)據(jù)還小則將該數(shù)據(jù)存入成果單元,9次比較完畢則成果單元中日勺數(shù)據(jù)就是最
小值。
ORG0
MOVDPTR,#2023H
MOVXA,@DPTR;取數(shù)據(jù)塊的第一種數(shù)
MOV30H,A;存入成果單元
MOVR2,#9;共比較9次
INCDPTR;指向第2個(gè)數(shù)
LOOP:CLRC
MOVXA,@DPTR
SUBBA,30H
JNCLP;沒有借位則闡明成果單元H勺數(shù)小,不用更換最小值
MOVXA,@DPTR
MOV30H,A;更換最小值
LP:INCDPTR;指向下一種數(shù)
DJNZR2,LOOP;沒有比較完則繼續(xù)循環(huán)
SJMP$;停機(jī)
END
評分措施:不規(guī)定寫出程序的注釋。程序設(shè)計(jì)思緒對時(shí)可得5分,指令完全寫對可得13分。若僅
寫對少許指令,可酌情給『3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
23、若外部RAM日勺(1000H;=X,(1001H)=Y,請編程實(shí)現(xiàn)Z=2X+Y*Y+5(設(shè)Z<65536),并將成果保
留到片內(nèi)RAM日勺30H和31H單元(31H單元寄存成果的高8位,30H單元寄存成果的低8位到
解:XEQU1000H
ZHEQU31H
ZLEQUSOH
ORG0
MOVzH,#0;成果單元清零
MOVZL,no
MOVDPTR,?1000H
MOVXA,@DPTR;取乂的值
MOVB,#2
MULAB;計(jì)算2乂
ADDA,ZL
MOV2L,A;存成果低8位
MOVA,B;取乘積高8位
ADDA,ZH
MOV2H,A;存成果高8位
INCDPTR;指向Y
MOVXA,?DPTR;取Y
MOVB,A
MULAB;計(jì)算Y*Y
ADDA,ZL;計(jì)算成果低8位
MOVzL,A
MOVA,B;取乘積U勺高8位
ADDCA,ZH;計(jì)算成果高8位,注意必須帶進(jìn)位加
MOV2H,A
MOVA,ZL
ADDA,#5;計(jì)算成果加5
MOV2L,A
MOV2H,A;存成果低8位
ADDCA,#0;將低8位進(jìn)位加到成果高8位,注意必須帶進(jìn)位加
MOVZH,A;存成果高8位
END
評分措施:不規(guī)定寫出程序的注釋和使用偽指令。程序設(shè)計(jì)思緒對的可得5分,指令完全寫對可得
1。分。若僅寫對少許指令,可酌情給1-3分:若僅有少許指令寫錯(cuò),可酌情扣1-3分。
24、設(shè)外部RAM1000H單元為數(shù)據(jù)塊R勺起始地址,數(shù)據(jù)塊長度為6()字節(jié),試編程求數(shù)據(jù)塊中所有
數(shù)據(jù)附和,并將其存入內(nèi)部RAM30H和31H單元(30H單元寄存和H勺低8位,31H單元寄存和的高8位據(jù)
解:
ADDREQU100HH;數(shù)據(jù)塊首地址
LENEQU60;數(shù)據(jù)塊長度
ZHEQL-31H;和日勺高8位地址
ZLEQU30H;和的低8位地址
ORG0
MOVDPTR,#ADDR;數(shù)據(jù)塊首地址送DPTR
MOVR7,#LEN;數(shù)據(jù)塊長度送R7
MOVZH,#0;成果單元清零
MOVZL,#O
LOOP:MOVXA,@DPTR;取數(shù)據(jù)
ADDA,ZL;將數(shù)據(jù)加到成果單元U勺低8位
MOVZL,A;存成果低8位
MOVA,ZH;取成果高8位
ADDCA,#0;將低8位計(jì)算的進(jìn)位加到高8位中
MOVZU,A;存高8位
INCDPTR;修改地址指針,指向下一種數(shù)據(jù)
DJNZR7,L00P;沒有計(jì)算完則繼續(xù)
SJMP$
END
評分措施:不規(guī)定寫出程序口勺注釋和使用偽指令。程序設(shè)計(jì)思緒時(shí)的可得5分,指令完全寫對可得
1。分。若僅寫對少許指令,可防情給1-3分;若僅有少許指令寫錯(cuò),可酌情扣1-3分。
25、若外部RAM時(shí)(1000H)=X,內(nèi)部RAM(30H)=Y,請編程實(shí)現(xiàn)Z=X*X+3Y+18(設(shè)Z<65536),并
將成果保留到片內(nèi)RAM的40H和41H單元(41H單元寄存成果的高8位,40H單元寄存成果的低8位)。
解:XEQU1000H
YEQU30H
ZHEQU41H
ZLEQU40H
0RG0
MOVZH,#O;成果單元清零
MOVZL,#0
MOVDPTR,#1000H
MOVXA,@DPTR;取乂的值
MOVB,A
MULAB;計(jì)算x*x
ADDA,ZL
MOVZL,A;存成果低8位
MOVA,B;取乘積高8位
ADDA,ZH
MOVZH,A;存成果高8位
MOVXA,Y;取丫
MOVB,#3
MULAB;計(jì)算3*Y
ADDA,ZL;計(jì)算成果低8位
MOVZL,A
MOVA,B;取乘積的高8位
ADDCA,ZH;計(jì)算成果高8位,注意必須帶進(jìn)位加
MOVZH,A
MOVA,ZL
ADDA,#18;計(jì)算成果加18
MOVZL,A;存成果低8位
MOVA,ZH;取成果高8位
ADDCA,#0;將低8位進(jìn)位加到成果高8位,注意必須帶進(jìn)位加
MOVZH,A;存成果高8位
END
評分措施:不規(guī)定寫出程序的注釋和使用偽指令。程序設(shè)計(jì)思緒對的可得5分,指令完全寫對可得
1。分。若僅寫對少許指令,可酌情給1-3分:若僅有少許指令寫錯(cuò),可酌情扣1-3分。
26、若外部RAM時(shí)(1000H)=X,請編程實(shí)現(xiàn)Y=X?+2X+1(設(shè)Y<65536),并將成果保留到片內(nèi)RAM
的30H和31H單元(3IH單元寄存成果U勺高8位,30H單元寄存成果II勺低8位)。
解:
ORG0
MOV30H,no;成果單元清零
MOV31H,#0
MOVDPTR,t±1000H
MOVA,@DPTR;取乂的值
MOVB,A
MULAB;求乂的立方
MOV30H,A;存低8位
MOVA,B
MOV31H,A;存高8位
MOVXA,?DPTR;取乂的值
MOVB,#2
MOVAB:求2X
ADDA,30H;求低8位和
MOV3011,A;存和的1低8位
MOVA,B;取積的高8位
ADDCA,31H;求高8位和
MOV31H,A;存和的高8位
MOVA,30H
ADDA,#l;加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班主任培訓(xùn)課件教學(xué)
- 玻璃產(chǎn)業(yè)介紹
- 環(huán)球經(jīng)濟(jì)師培訓(xùn)課件
- 2025年四川省巴中市中考英語真題卷含答案解析
- 中藥栽培技術(shù)試題及答案
- 2025年春季浙江省計(jì)算機(jī)等級考試試卷及答案(三級網(wǎng)絡(luò)技術(shù))
- 2025年中級注冊安全工程師《安全生產(chǎn)專業(yè)實(shí)務(wù)道路運(yùn)輸安全》真題及答案
- 施工現(xiàn)場安全管理?xiàng)l例
- 國企求職面試技巧與方法
- 《基督山伯爵》讀書筆記
- 理解當(dāng)代中國 大學(xué)英語綜合教程1(拓展版)課件 B1U3 Into the green
- 醫(yī)藥展會活動方案
- 【庫潤數(shù)據(jù)】2025口服抗衰消費(fèi)者趨勢洞察報(bào)告
- 快遞車輛運(yùn)輸管理辦法
- 麻醉術(shù)后健康教育
- 《COUNS門禁CU-K05使用說明書》
- 麻醉蘇醒期并發(fā)癥及處理
- tpm自主設(shè)備管理制度
- 公司網(wǎng)約車公司管理制度
- 格力電器公司財(cái)務(wù)風(fēng)險(xiǎn)評價(jià)與防范研究
- 工廠數(shù)字化管理制度
評論
0/150
提交評論