《单片机》写指令题题库问题详解.docx
《《单片机》写指令题题库问题详解.docx》由会员分享,可在线阅读,更多相关《《单片机》写指令题题库问题详解.docx(25页珍藏版)》请在冰豆网上搜索。
![《单片机》写指令题题库问题详解.docx](https://file1.bdocx.com/fileroot1/2022-11/29/60fa4c8e-b2ea-49f7-8f96-1e92df3fdde3/60fa4c8e-b2ea-49f7-8f96-1e92df3fdde31.gif)
《单片机》写指令题题库问题详解
《单片机原理及应用》写指令题题库答案
五、写出完成下列操作的指令或指令序列(每题2分)
1、从P1口引脚读入数据,并将该数据写入外部RAM2100H单元。
MOVP1,#0FFH
MOVDPTR,#2100H
MOVA,P1
MOVDPTR,A
2、将部RAM30H单元的容求补后,送回30H单元。
MOVA,30H
CPLA
ADDA,#1
MOV30H,A
3、使外部RAM2100H单元容的高两位清“0”,其余位变反。
MOVDPTR,#2100H
MOVA,DPTR
CPLA
ANLA,#3FH
MOVDPTR,A
4、将R6寄存器的容取反。
MOVA,R6
CPLA
MOVR6,A
5、将SCON中的RB8位写入进位位Cy。
MOVC,RB8
6、将部RAM20H单元容送到外部RAM2100H单元中。
MOVA,20H
MOVDPTR,#2100H
MOVDPTR,A
7、将程序存储器0600H单元容送到部RAM30H单元中。
MOVDPTR,#0600H
CLRA(或MOVA,#0H)
MOVCA,A+DPTR
MOV30H,A
8、将外部RAM2100H单元的容取反。
MOVDPTR,#2100H
MOVXA,DPTR
CPLA
MOVXDPTR,A
9、将PSW.3位清“0”。
CLRPSW.3
10、将外部RAM2000H单元容与外部RAM2100H容交换。
MOVDPTR,#2000H
MOVXA,DPTR
MOVR0,A
INCDPH
MOVXA,DPTR
DECDPH
MOVXDPTR,A
MOVA,R0
INCDPH
MOVXDPTR,A
11、将外部RAM2200H单元的容送到部RAM30H单元中。
MOVDPTR,#2200h
MOVXA,DPTR
MOV30H,A
12、将工作寄存器R7的容与外部RAM1000H单元的容进行交换。
MOVDPTR,#1000H
MOVXA,DPTR
MOVR0,A
MOVA,R7
MOVXDPTR,A
MOVA,R0
MOVR7,A
13、将外部RAM2200H单元的容取反。
MOVDPTR,#2200H
MOVXA,DPTR
CPLA
MOVXDPTR,A
14、将SCON寄存器的TB8位状态送到RS1。
MOVC,TB8
MOVRS1,C
15、将外部RAM2200H单元容的高4位清“0”,低4位不变。
MOVDPTR,#2200H
MOVXA,DPTR
ANLA,#0FH
MOVXDPTR,A
16、将外部RAM1000H单元的容送P1口输出。
MOVDPTR,#1000H
MOVXA,DPTR
MOVP1,A
17、将外部RAM3100H单元的容求补后,送回原单元中。
MOVDPTR,#3100H
MOVXA,DPTR
CPLA
ADDA,#01H(或INCA)
MOVXDPTR,A
18、将程序存储器1000H单元的容送到外部RAM2200H的单元中。
MOVDPTR,#1000H
CLRA(或MOVA,#00H)
MOVCA,A+DPTR
MOVDPTR,#2200H
MOVXDPTR,A
19、将数据指针DPTR的容压栈。
PUSHDPH(或PUSHDPL)
PUSHDPL(或PUSHDPH)
20、将外部RAM2000H单元的容与外部RAM2200H单元的容互换。
MOVDPTR,#2000H
MOVXA,DPTR
MOVR0,A
MOVDPTR,#2200H
MOVXA,DPTR
MOVDPTR,#2000H
MOVXDPTR,A
MOVDPTR,#2200H
MOVA,R0
MOVXDPTR,A
21、从P1口引脚读入数据,并将该数据写入部RAM30H单元。
MOVP1,#0FFH
MOVA,P1
MOV30H,A
22、将部RAM30H单元的容求补后,送到31H单元。
MOVA,30H
CPLA
ADDA,#1(或INCA)
MOV31H,A
23、使外部RAM2000H单元容的高两位置“1”,其余位变反。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
ORLA,#0C0H
MOVXDPTR,A
24、将R7寄存器的容取反。
MOVA,R7
CPLA
MOVR7,A
25、将奇偶标志位P写入SCON中的TB8位。
MOVC,P
MOVTB8,C
26、将外部RAM2000H单元容送到部RAM20H单元中。
MOVDPTR,#2000H
MOVXA,DPTR
MOV20H,A
27、将程序存储器1000H单元容送到部RAM20H单元中。
MOVDPTR,#1000H
CLRA(或MOVA,#0H)
MOVCA,A+DPTR
MOV20H,A
28、将外部RAM3300H单元的容求补后送回原单元。
MOVDPTR,#3300H
MOVXA,DPTR
CPLA
ADDA,#1(或INCA)
MOVXDPTR,A
29、将OV标志位清“0”。
CLROV
30、将外部RAM2000H单元容取反后存入外部RAM2100H单元中。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
INCDPH(或MOVDPTR,#2100H)
MOVXDPTR,A
31、将外部RAM2200H单元的容取反后送到部RAM30H单元中。
MOVDPTR,#2200H
MOVXA,DPTR
CPLA
MOV30H,A
32、将工作寄存器R6的容与外部RAM2100H单元的容进行交换。
MOVDPTR,#2100H
MOVXA,DPTR
MOVR0,A
MOVA,R6
MOVXDPTR,A
MOVA,R0
MOVR6,A
33、将外部RAM2200H单元的容求补后送回。
MOVDPTR,#2200H
MOVXA,DPTR
CPLA
INCA(或ADDA,#1)
MOVXDPTR,A
34、将SCON寄存器的RB8位状态送到RS1。
MOVC,RB8
MOVRS1,C
35、将外部RAM2200H单元容的高4位置“1”,低4位不变。
MOVDPTR,#2200H
MOVXA,DPTR
ORLA,#0F0H
MOVXDPTR,A
36、将外部RAM2100H单元的容送P1口输出。
MOVDPTR,#2100H
MOVXA,DPTR
MOVP1,A
37、将外部RAM3100H单元的容求反后,送回原单元中。
MOVDPTR,#3100H
MOVXA,DPTR
CPLA
MOVXDPTR,A
38、将程序存储器1200H单元的容送到外部RAM2000H的单元中。
MOVDPTR,#1200H
CLRA(或MOVA,#00H)
MOVCA,A+DPTR
MOVDPTR,#2000H
MOVXDPTR,A
39、将数据指针DPTR的容压栈。
PUSHDPH(或PUSHDPL)
PUSHDPL(或PUSHDPH)
40、将外部RAM2000H单元的容求补后与外部RAM2200H单元的容互换。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
INCA(或ADDA,#1)
MOVR0,A
MOVDPTR,#2200H
MOVXA,DPTR
MOVDPTR,#2000H
MOVXDPTR,A
MOVDPTR,#2200H
MOVA,R0
MOVXDPTR,A
41、从P1口引脚读入数据,并将该数据写入外部RAM1000H单元。
MOVP1,#0FFH
MOVDPTR,#1000H
MOVA,P1
MOVXDPTR,A
42、将部RAM30H单元的容求补后,送到外部RAM2000H单元。
MOVA,30H
CPLA
INCA(或ADDA,#1)
MOVDPTR,#2000H
MOVXDPTR,A
43、将外部RAM2000H单元容的最高两位清“0”,其余位变反。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
ANLA,#3FH
MOVXDPTR,A
44、将R0寄存器的容取反。
MOVA,R0
CPLA
MOVR0,A
45、将SCON中的RB8位写入奇偶标志位P。
MOVC,RB8
MOVP,C
46、将外部RAM3000H单元容最高两位清零后传送到部RAM21H单元中。
MOVDPTR,#3000H
MOVXA,DPTR
ANLA,#3FH
MOV21H,A
47、将程序存储器2000H单元容取反后传送送到外部RAM1000H单元中。
CLRA(或MOVA,#0)
MOVDPTR,#2000H
MOVCA,A+DPTR
CPLA
MOVDPTR,#1000H
MOVXDPTR,A
48、将工作寄存器R7的容求补。
MOVA,R7
CPLA
INCA(或ADDA,#1)
MOVR7,A
49、将半进位标志AC清零。
CLRAC
50、将外部RAM2000H单元容存入外部RAM2001H单元中。
MOVDPTR,#2000H
MOVXA,DPTR
INCDPTR
MOVXDPTR,A
51、将部RAM30H单元的容最低两位清“0”,其余容不变。
ANL30H,#0FCH
52、将工作寄存器R7的容取反后与外部RAM2000H单元的容进行交换。
MOVDPTR,#2000H
MOVXA,DPTR
MOVR6,A
MOVA,R7
CPLA
MOVXDPTR,A
MOVA,R6
MOVR7,A
53、将外部RAM2000H单元的容求补后送回。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
INCA(或ADDA,#1)
MOVXDPTR,A
54、将F0标志位的状态传送到SCON寄存器的RB8位。
MOVC,F0
MOVRB8,C
55、将外部RAM2000H单元容的高4位取反,低4位置“1”。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
ORLA,#0FH
MOVXDPTR,A
56、将外部RAM2000H单元的容取反后从P1口输出。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
MOVP1,A
57、将外部RAM2000H单元容的最高位置“1”,其余位保持不变。
MOVDPTR,#2000H
MOVXA,DPTR
ORLA,#80H(或SETBACC.7)
MOVXDPTR,A
58、将程序存储器1234H单元的容取补后传送到部RAM40H的单元中。
MOVDPTR,#1234H
MOVA,#0(或CLRA)
MOVCA,A+DPTR
CPLA
INCA(或ADDA,#1)
MOV40H,A
59、将奇偶标志P的状态取反传送到OV位。
MOVC,P
CPLC
MOVOV,C
60、将外部RAM2000H单元的容与外部RAM2001H单元的容互换。
MOVDPTR,#2000H
MOVXA,DPTR
MOVR0,A
INCDPL
MOVXA,DPTR
MOVR1,A
MOVA,R0
MOVXDPTR,A
DECDPL
MOVA,R1
MOVXDPTR,A
61、将部RAM32H单元的容求补后送回。
MOVA,32H
CPLA
INCA(或ADDA,#1)
MOV32H,A
62、从P0口引脚读入数据,并将该数据写入外部RAM2200H单元。
MOVP0,#0FFH
MOVDPTR,#2200H
MOVA,P0
MOVXDPTR,A
63、将外部RAM2200H单元容的最高两位置“1”,其余位变反。
MOVDPTR,#2200H
MOVXA,DPTR
CPLA
ORLA,#0C0H(或SETBACC.7和SETBACC.6)
MOVXDPTR,A
64、将R7寄存器的容取反。
MOVA,R7
CPLA
MOVR7,A
65、将SCON中的TB8位写入奇偶标志位P。
MOVC,TB8
MOVP,C
66、将外部RAM1200H单元容最低两位置“1”后传送到部RAM31H单元中。
MOVDPTR,#1200H
MOVXA,DPTR
ORLA,#03H(或SETBACC.1和SETBACC.0)
MOV31H,A
67、将程序存储器2200H单元容取反后传送送到外部RAM2100H单元中。
MOVDPTR,#2200H
MOVCA,A+DPTR
CPLA
DECDPH(或MOVDPTR,#2100H)
MOVXDPTR,A
68、将工作寄存器R0的容求补。
MOVA,R0
CPLA
INCA(或ADDA,#1)
MOVR0,A
69、将溢出标志OV清零。
CLROV
70、将外部RAM1300H单元容加1后存入外部RAM1301H单元中。
MOVDPTR,#1300H
MOVXA,DPTR
INCA(或ADDA,#1)
INCDPTR(或MOVDPTR,#1301H)
MOVXDPTR,A
71、将部RAM32H单元的容最低两位置“1”,其余容不变。
ORL32H,#03H
72、将工作寄存器R7的容取反后存到外部RAM1000H单元。
MOVDPTR,#1000H
MOVA,R7
CPLA
MOVXDPTR,A
73、将外部RAM1234H单元的容求补后送回。
MOVDPTR,#1234H
MOVXA,DPTR
CPLA
INCA(或ADDA,#1)
MOVXDPTR,A
74、将F0标志位的状态传送到SCON寄存器的TB8位。
MOVC,F0
MOVTB8,C
75、将外部RAM1234H单元容的低4位取反,高4位置“1”。
MOVDPTR,#1234H
MOVXA,DPTR
CPLA
ORLA,#0F0H
MOVXDPTR,A
76、将外部RAM1100H单元的容求补后从P1口输出。
MOVDPTR,#1100H
MOVXA,DPTR
CPLA
INCA(或ADDA,#1)
MOVP1,A
77、将部RAM20H单元容的最高位置“1”,其余位保持不变。
SETB20H.7(或ORL20H,#80H,或SETB07H)
78、将程序存储器1000H单元的容取反后传送到部RAM40H的单元中。
MOVDPTR,#1000H
CLRA(或MOVA,#0)
MOVCA,A+DPTR
CPLA
MOV40H,A
79、将奇偶标志P的状态取反传送到RB8位。
MOVC,P
CPLC
MOVRB8,C
80、将部RAM30H单元的容与部RAM31H单元的容互换。
MOVA,30H或MOVA,30H
XCHA,31HMOV30H,31H
MOV30H,AMOV31H,A
81、从P2口引脚读入数据,并将该数据写入外部RAM1030H单元。
MOVP2,#0FFH
MOVDPTR,#1030H
MOVA,P2
MOVXDPTR,A
82、将部RAM30H单元的容最低两位置“1”,其余位取反后送回原单元。
MOVA,30H
CPLA
ORLA,#03H
MOV30H,A
83、将外部RAM2000H单元容求补后送回原单元。
MOVDPTR,#20000H
MOVXA,DPTR
CPLA
INCA(或ADDA,#1)
MOVXDPTR,A
84、设置定时器T0为13位计数器、硬启动。
MOVTMOD,#0CH
85、将奇偶标志位P写入PSW的F0位。
MOVC,P
MOVF0,C
86、将外部RAM2100H单元的容送P3口输出。
MOVDPTR,#2100H
MOVXA,DPTR
MOVP3,A
87、将部RAM31H单元的容求补后,送回原单元中。
MOVA,31H
CPLA
INCA(或ADDA,#1)
MOV31H,A
88、将程序存储器2000H单元的容送到部RAM35H的单元中。
MOVDPTR,#2000H
CLRA(或MOVA,#0)
MOVCA,A+DPTR
MOV35H,A
89、将数据指针DPTR的容加1。
INCDPTR
90、将OV标志位的容传送到奇偶标志位P中。
MOVC,OV
MOVP,C
91、从P1.5口读入引脚的状态,并将其写入F0标志位。
SETBP1.5(或MOVP1,#0FFH)
MOVC,P1.5
MOVF0,C
92、将部RAM40H单元的容最高和最低位置“1”,其余位不变。
ORL40H,#81H
93、将外部RAM1300H单元容取反后送回原单元。
MOVDPTR,#1300H
MOVXA,DPTR
CPLA
MOVXDPTR,A
94、设置串行口工作方式为方式1,允许接收。
MOVSCON,#50H
95、将部RAM20H和31H单元的容互换。
MOVA,20H
XCHA,31H
MOV20H,A
96、将P1口引脚的状态读入后取反存入部RAM31H单元。
MOVP1,#0FFH
MOVA,P1
CPLA
MOV31H,A
97、将串行口工作方式设定为方式0,同时禁止接收数据。
MOVSCON,#0
98、将外部RAM1500H单元的容最高位清零后送回。
MOVDPTR,#1500H
MOVXA,DPTR
CLRACC.7(或ANLA,#7FH)
MOVXDPTR,A
99、将部RAM40H单元的容加1后送回。
INC40H
100、将累加器A的最低位传送到奇偶标志位P中。
MOVC,ACC.0
MOVP,C
101、从P2口读入引脚的状态,并将其写入部RAM30H单元。
MOVP2,#0FFH
MOV30H,P2
102、将部RAM35H单元的容最高和最低位清“0”,其余位保持不变。
ANL35H,#7EH
103、将外部RAM2000H单元容求补后送回原单元。
MOVDPTR,#2000H
MOVXA,DPTR
CPLA
INCA(或ADDA,#1)
MOVXDPTR,A
104、设置串行口工作方式为方式3,允许接收。
MOVSCON,#0D0H(或MOVSCON,#0F0H)
105、将P标志的状态传送给01H位。
MOVC,P
MOV01H,C
106、将P1.0引脚的状态读入后取反存入F1标志位。
SETBP1.0(或MOVP1,#0FFH)
MOVC,P1.0
CPLC
MOVF1,C
107、将串行口工作方式设定为方式0,同时允许接收数据。
MOVSCON,#10H
108、将外部RAM1200H单元的容传送到工作寄存器R2中。
MOVDPTR,#1200H
MOVXA,DPTR
MOVR2,A
109、将累加器A的容与部RAM30H单元的容互换。
XCHA,30H
110、将定时器1的溢出标志清零。
CLRTF1
111、从P2.0口读入引脚的状态,并将其写入F0标志位。
SETBP2.0
MOVC,P2.0
MOVF0,C
112、将部RAM40H单元的容最高和最低位置“1”,其余位保持不变。
ORL40H,#81H
113、将外部RAM1230H单元容加2后送回原单元。
MOVDPTR,#1230H
MOVXA,DPTR
ADDA,#2
MOVXDPTR,A
114、设置串行口工作方式为方式2,单机通信方式,禁止接收。
MOVSCON,#80H
115、将工作寄存器R7的容清零。
MOVR7,#0
116、将P3口引脚的状态读入后取反存入部RAM30H单元。
MOVP3,#0FFH
MOVA,P3
CPLA
MOV30H,A
117、将串行口工作方式设定为方式1,禁止接收数据。
MOVSCON,#40H
118、将外部RAM2500H单元的容传送到B寄存器中。
MOVDPTR,#2500H
MOVXA,DPTR
MOVB,A
119、将累加器A容的低四位与部RAM40H单元容的低四位互换。
MOVR0,#40
XCHDA,R0
120、将串口的发送中断标志清零。
CLRTI
121、从P1.7口读入引脚的状态,并将其写入F1标志位。
SETBP1.7
MOVC,P1.7
MOVF1,C
122、将部RAM31H单元的容最高和最低位清0,其余位保持不变。
ANL31H,#7EH
123、将外部RAM2200H单元容加5后送回原单元。
MOVDPTR,#2200H
MOVXA,DPTR
ADDA,#5
MOVXDPTR,A
124、将工作寄存器R7的容传送给工作寄存器R0。
MOVA,R7
MOVR0,A
125、将累加器容清0。
CLRA
126、从P2口读入引脚的状态,并将其写入部RAM3