最新《单片机》读程序题题库答案.docx

上传人:b****6 文档编号:7991830 上传时间:2023-01-27 格式:DOCX 页数:60 大小:40.59KB
下载 相关 举报
最新《单片机》读程序题题库答案.docx_第1页
第1页 / 共60页
最新《单片机》读程序题题库答案.docx_第2页
第2页 / 共60页
最新《单片机》读程序题题库答案.docx_第3页
第3页 / 共60页
最新《单片机》读程序题题库答案.docx_第4页
第4页 / 共60页
最新《单片机》读程序题题库答案.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

最新《单片机》读程序题题库答案.docx

《最新《单片机》读程序题题库答案.docx》由会员分享,可在线阅读,更多相关《最新《单片机》读程序题题库答案.docx(60页珍藏版)》请在冰豆网上搜索。

最新《单片机》读程序题题库答案.docx

最新《单片机》读程序题题库答案

四、阅读下列程序,注释并填写指令执行后的结果(每题10分)

1、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVR0,#20H;#20H->R0(R0)=20H

MOVR1,#30H;#30H->R1(R1)=30H

MOVA,R0;(R0)->A(A)=20H

ADDA,#36H;(A)+#36H->A(A)=56H

MOVP1,A;(A)->P1(P1)=56H

INCR0;(R0)+1->R0(R0)=21H

INCR1;(R1)+1->R0(R1)=31H

ANLA,R1;(A)&(R1)->A(A)=10H

SWAPA;累加器A的高低4位交换(A)=01H

PUSHACC;累加器A内容压栈

MOVP1,A;(A)->P1(P1)=01H

POPB;堆栈内容出栈到B寄存器(B)=01H

MOVR0,A;(A)->R0(R0)=01H

MOVDPTR,#2200H;#2200H->DPTR(DPTR)=2200H

SETBC;1->Cy(Cy)=1

ADDCA,#0;(A)+0+(Cy)->A(A)=02H

MOVX@DPTR,A;(A)->(DPTR)(2200H)=02H

END

(R0)=01H(R1)=31H(P1)=01H

(B)=01H(2200H)=02H

2、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVSP,#50H;#50H->SP(SP)=50H

MOVR2,#10H;#10H->R2(R2)=10H

MOVDPTR,#3000H;#3000H->DPTR(DPTR)=3000H

CRLA;0->A(A)=0

LOOP:

MOVX@DPTR,A;(A)->(DPTR)

INCDPTR;(DPTR)+1->DPTR

DJNZR2,LOOP;(R2)-1->R2若(R2)不等于零则转移到LOOP处

INCDPH;(DPH)+1->DPH(DPH)=31H(R2)=00H(DPL)=10H

INCDPH;(DPH)+1->DPH(DPH)=32H

MOV20H,#36H;#36H->(20H)(20H)=36H

SETB00H;位地址00H置120H.0=1(20H)=37H

MOVA,20H;(20H)->A(A)=37H

MOVX@DPTR,A;(A)->(DPTR)(DPTR)=3210H(3210H)=37H

INCA;(A)+1->A(A)=38H

INCA;(A)+1->A(A)=39H

PUSHACC;累加器A内容压栈(SP)=51H

XCHA,R2;累加器A的内容与R2内容互换(A)=00H(R2)=39H

POPDPH;堆栈内容弹到DPH(DPH)=39H

ADDA,#55H;(A)+#55H->A(A)=55H

PUSHACC;累加器A内容压栈

END

(A)=55H(R2)=39H(20H)=37H(DPTR)=3910H(SP)=51H

3、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVR0,#30H;#30H->R0(R0)=30H

MOVA,#12H;#12H->A(A)=12H

SETBC;(Cy)=1

ADDCA,R0;(A)+(R0)+Cy->A(A)=43H

MOV@R0,A;(A)->(R0)(30H)=43H

SWAPA;累加器A高低4位交换(A)=34H

INCA;(A)+1->A(A)=35H

MOVDPTR,#2000H;#2000H->DPTR(DPTR)=2000H

INCDPH;(DPH)+1->DPH(DPH)=21H

MOVP1,A;(A)->P1(P1)=35H

INCA;(A)+1->A(A)=36H

MOVX@DPTR,A;(A)->(DPTR)(2100H)=36H

XCHA,R0;(A)⇔R0(A)=30H(R0)=36H

RLA;累加器A内容循环左移(A)=60H

PUSHACC;累加器A的内容入栈

RLA;累加器A内容循环左移(A)=0C0H

POPACC;堆栈内容弹出到累加器A(A)=60H

END

(A)=60H(R0)=36H(DPTR)=2100H

(P1)=35H(30H)=43H

4、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVSP,#50H;#50H->SP(SP)=50H

MOVDPTR,#3000H;#3000H->DPTR(DPTR)=3000H

MOVR0,#20H;#20H->R0(R0)=20H

MOVA,#23H;#23H->A(A)=23H

MOVR2,#0FH;#0FH->R2(R2)=0FH

SETB01H;置位20H.1(20H.1)=1

SETBC;置位Cy(Cy)=1

ADDCA,@R0;(A)+((R0))+Cy->A(A)=26H

INCR0;(R0)+1->R0(R0)=21H

MOV@R0,A;(A)->((R0))(21H)=26H

LOOP:

DJNZR2,LOOP;(R2)-1->R2若R2内容不等于零则转移

SWAPA;累加器A内容的高低4位交换(A)=62H

PUSHACC;累加器A内容入栈

INCDPH;(DPH)+1->DPH(DPH)=31H

MOVX@DPTR,A;(A)->(DPTR)(3100H)=62H

POPB;堆栈内容弹出到B(B)=62H

RRA;累加器A内容循环右移(A)=31H

ADDA,B;(A)+(B)->A(A)=93H

MOVP1,A;(A)->P1(P1)=93H

END

(21H)=26H(R2)=00H(A)=93H(B)=62H(3100H)=62H

5、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVDPTR,#1000H;#1000H->DPTR(DPTR)=1000H

MOVA,#13H;#13H->A(A)=13H

MOVR0,#20H;#20H->R0(R0)=20H

SETBC;1->Cy(Cy)=1

MOV@R0,A;(A)->((R0))(20H)=13H

RLCA;累加器A的内容带进位循环左移(A)=27H

XCHA,@R0;累加器A的内容与20H单元的内容互换(A)=13H(20H)=27H

PUSHACC;累加器A的内容入栈

POPDPL;堆栈内容弹出到DPL(DPL)=13H

MOVX@DPTR,A;(A)->(DPTR)(1013H)=13H

DECA;(A)-1->A(A)=12H

PUSHDPH;DPH内容压栈

POPB;堆栈内容弹出到B(B)=10H

ADDA,B;(A)+(B)->A(A)=22H

MOVP1,A;(A)->P1(P1)=22H

CLRA;累加器A内容清零

ADDA,B;(A)+(B)->A(A)=10H

END

(P1)=22H(B)=10H(20H)=27H(DPTR)=1013H(R0)=20H

6、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVSP,#50H;#50H->SP(SP)=50H

MOVR0,#20H;#20H->R0(R0)=20H

MOVR2,#10H;#10H->R2(R2)=10H

MOVA,#24H;#24H->A(A)=24H

LOOP:

MOV@R0,A;(A)->((R0))

INCR0;(R0)+1->R0

DJNZR2,LOOP;(R2)-1->R2若R2内容不等于0则跳转到LOOP处

SETB00H;1->位地址为00H的位(20H.0)=1(20H)=25H

SETBC;1->Cy(Cy)=1

ADDCA,#00H;(A)+00H+(Cy)->A(A)=25H

SWAPA;累加器A内容高低四位互换(A)=52H

PUSHACC;累加器A内容压栈

POPDPH;堆栈内容弹出到DPH(DPH)=52H

PUSHACC;累加器A内容压栈

POPB;堆栈内容弹出到B(B)=52H

MOVA,R2;(R2)->A(A)=00H

MOVDPL,A;(A)->DPL(DPL)=00H

MOVA,B;(B)->A(A)=52H

PUSHACC;累加器A内容压栈(SP)=51H

END

(A)=52H(R2)=00H(20H)=25H(DPTR)=5200H(SP)=51H

7、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVDPTR,#2100H;#2100H->DPTR(DPTR)=2100H

CLRA;0->A(A)=00H

MOVR1,#30H;#30H->R1(R1)=30H

SETBC;1->Cy(Cy)=1

ADDCA,R1;(A)+(R1)+Cy->A(A)=31H

MOV@R1,A;(A)->((R1))(30H)=31H

PUSHACC;累加器A的内容压栈

POPDPL;堆栈内容弹出到DPL(DPL)=31H

RRA;累加器A的内容循环右移(A)=98H

MOVR0,A;(A)->R0(R0)=98H

ORLA,#24H;(A)or24H->A(A)=0BCH

MOVP1,A;(A)->P1(P1)=0BCH

SWAPA;累加器A的内容高低四位交换(A)=0CBH

MOVDPH,A;(A)->DPH(DPH)=0CBH

MOVB,#02H;#02H->B(B)=02H

ADDA,B;(A)+(B)->A(A)=0CDH

CLRACC.3;0->ACC.3(A)=0C5H

SWAPA;累加器A的内容高低四位交换(A)=5CH

END

(A)=5CH(R0)=98H(DPTR)=0CB31H(P1)=0BCH(30H)=31H

8、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVSP,#50H;#50H->SP(SP)=50H

MOVR3,#10H;#10H->R3(R3)=10H

CLRA;累加器A内容清零(A)=00H

MOVR0,#20H;#20H->R0(R0)=20H

LOOP:

MOV@R0,A;(A)->((R0))(20H)=00H

INCR0;(R0)+1->R0(20H)=01H

DJNZR3,LOOP;(R3)-1->R3若R3不等于零则跳转到LOOP处

SETB00H;1->位地址00H位(20H.0)=1(20H)=01H

SETBC;1->Cy(Cy)=1

SUBBA,#00H;(A)-00H-Cy->A(A)=0FFH

MOVDPL,A;(A)->DPL(DPL)=0FFH

PUSHACC;累加器A的内容压栈

MOVA,R3;(R3)->A(A)=00H

MOVDPH,A;(A)->DPH(DPH)=00H

POPACC;堆栈内容弹出到A(A)=0FFH

MOVX@DPTR,A;(A)->(DPTR)(00FFH)=0FFH

ANLA,#55H;(A)and55H->A(A)=55H

PUSHACC;累加器A的内容压栈(SP)=51H

CLRA;累加器A内容清零(A)=00H

END

(A)=00H(R3)=00H(20H)=01H(DPTR)=00FFH(SP)=51H

9、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVR0,#30H;#30H->R0(R0)=30H

MOVR1,#20H;#20H->R1(R1)=20H

MOVA,R0;(R0)->A(A)=30H

ADDA,#37H;(A)+#36H->A(A)=67H

MOVP1,A;(A)->P1(P1)=67H

INCR0;(R0)+1->R0(R0)=31H

INCR1;(R1)+1->R0(R1)=21H

ANLA,R1;(A)&(R1)->A(A)=21H

SWAPA;累加器A的高低4位交换(A)=12H

PUSHACC;累加器A内容压栈

MOVP1,A;(A)->P1(P1)=12H

SWAPA;累加器A的高低4位交换(A)=21H

POPB;堆栈内容出栈到B寄存器(B)=12H

MOVR0,A;(A)->R0(R0)=21H

MOVDPTR,#2200H;#2200H->DPTR(DPTR)=2200H

SETBC;1->Cy(Cy)=1

ADDCA,B;(A)+(B)+(Cy)->A(A)=34H

MOVX@DPTR,A;(A)->(DPTR)(2200H)=34H

END

(R0)=21H(R1)=21H(P1)=12H(B)=12H(2200H)=34H

10、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVSP,#50H;#50H->SP(SP)=50H

MOVR2,#20H;#20H->R2(R2)=20H

MOVDPTR,#3000H;#3000H->DPTR(DPTR)=3000H

CLRA;0->A(A)=0

LOOP:

MOVX@DPTR,A;(A)->(DPTR)

INCDPTR;(DPTR)+1->DPTR

DJNZR2,LOOP;(R2)-1->R2若(R2)不等于零则转移到LOOP处

INCDPH;(DPH)+1->DPH(DPH)=31H(R2)=00H(DPL)=20H

INCDPH;(DPH)+1->DPH(DPH)=32H

MOV20H,#38H;#36H->(20H)(20H)=38H

SETB01H;位地址01H置120H.1=1(20H)=3AH

MOVA,20H;(20H)->A(A)=3AH

MOVX@DPTR,A;(A)->(DPTR)(DPTR)=3220H(3220H)=3AH

INCA;(A)+1->A(A)=3BH

INCA;(A)+1->A(A)=3CH

PUSHACC;累加器A内容压栈

XCHA,R2;累加器A的内容与R2内容互换(A)=00H(R2)=3CH

POPDPH;堆栈内容弹到DPH(DPH)=3CH

ADDA,#55H;(A)+#55H->A(A)=55H

PUSHACC;累加器A内容压栈,(SP)=51H

END

(A)=55H(R2)=3CH(20H)=3AH(DPTR)=3C20H(SP)=51H

11、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVR0,#20H;#20H->R0(R0)=20H

MOVA,#31H;#31H->A(A)=31H

SETBC;(Cy)=1

ADDCA,R0;(A)+(R0)+Cy->A(A)=52H

MOV@R0,A;(A)->(R0)(20H)=52H

SWAPA;累加器A高低4位交换(A)=25H

DECA;(A)-1->A(A)=24H

MOVDPTR,#2000H;#2000H->DPTR(DPTR)=2000H

INCDPH;(DPH)+1->DPH(DPH)=21H

DECDPL;(DPL)-1->DPL(DPL)=0FFH

MOVP1,A;(A)->P1(P1)=24H

INCA;(A)+1->A(A)=25H

MOVX@DPTR,A;(A)->(DPTR)(21FFH)=25H

XCHA,R0;(A)⇔R0(A)=20H(R0)=25H

RLA;累加器A内容循环左移(A)=40H

PUSHACC;累加器A的内容入栈

RLA;累加器A内容循环左移(A)=80H

POPACC;堆栈内容弹出到累加器A(A)=40H

END

(A)=40H(R0)=25H(DPTR)=21FFH(P1)=24H(20H)=52H

12、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVSP,#50H;#50H->SP(SP)=50H

MOVDPTR,#2000H;#3000H->DPTR(DPTR)=2000H

MOV20H,#06H;#06H->20H(20H)=06H

MOVR0,#20H;#20H->R0(R0)=20H

MOVA,#35H;#35H->A(A)=35H

MOVR2,#10H;#10H->R2(R2)=10H

SETB00H;置位20H.0(20H.0)=1(20H)=07H

SETBC;置位Cy(Cy)=1

ADDCA,@R0;(A)+((R0))+Cy->A(A)=3DH

INCR0;(R0)+1->R0(R0)=21H

MOV@R0,A;(A)->((R0))(21H)=3DH

LOOP:

DJNZR2,LOOP;(R2)-1->R2若R2内容不等于零则转移

SWAPA;累加器A内容的高低4位交换(A)=0D3H

PUSHACC;累加器A内容入栈

INCDPH;(DPH)+1->DPH(DPH)=21H

MOVX@DPTR,A;(A)->(DPTR)(2100H)=0D3H

POPB;堆栈内容弹出到B(B)=0D3H

RRA;累加器A内容循环右移(A)=0E9H

ADDA,B;(A)+(B)->A(A)=0BCH

MOVP1,A;(A)->P1(P1)=0BCH

END

(21H)=3DH(R2)=00H(A)=0BCH(B)=0D3H(2100H)=0D3H

13、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVDPTR,#2000H;#2000H->DPTR(DPTR)=2000H

MOVA,#36H;#36H->A(A)=36H

MOVR0,#30H;#30H->R0(R0)=30H

SETBC;1->Cy(Cy)=1

MOV@R0,A;(A)->((R0))(30H)=36H

RLCA;累加器A的内容带进位循环左移(A)=6DH

XCHA,@R0;累加器A的内容与20H单元的内容互换(A)=36H(30H)=6DH

PUSHACC;累加器A的内容入栈

POPDPL;堆栈内容弹出到DPL(DPL)=36H

MOVX@DPTR,A;(A)->(DPTR)(2036H)=36H

DECA;(A)-1->A(A)=35H

PUSHDPH;DPH内容压栈

POPB;堆栈内容弹出到B(B)=20H

ADDA,B;(A)+(B)->A(A)=55H

MOVP1,A;(A)->P1(P1)=55H

CLRA;累加器A内容清零

ADDA,B;(A)+(B)->A(A)=20H

END

(P1)=55H(B)=20H(30H)=6DH(DPTR)=2036H(R0)=30H

14、ORG0

LJMPSTART;跳转到(PC)=0030H处

ORG30H

START:

MOVSP,#60H;#60H->SP(SP)=60H

MOVR0,#20H;#20H->R0(R0)=20H

MOVR2,#10H;#10H->R2(R2)=10H

MOVA,#24H;#24H->A(A)=24H

LOOP:

MOV@R0,A;(A)->((R0))

INCR0;(R0)+1->R0

DJNZR2,LOOP;(R2)-1->R2若R2内容不等于0则跳转到LOOP处

SETB01H;1->位地址为01H的位(20H.1)=1(20H)=26H

SETBC;1->Cy(Cy)=1

ADDCA,20H;(A)+(20H)+(Cy)->A(A)=4BH

SWAPA;累加器A内容高低四位互换(A)=0B4H

PUSHACC;累加器A内容压栈

POPDPH;堆栈内容弹出到DPH(DPH)=0B4H

PUSHACC;累加器A内容压栈

POPB;堆栈内容弹出到B(B)=0B4H

MOVA,R2;(R2)->A(A)=00H

MOVDPL,A;(A)->DPL(DPL)=00H

ADDA,B;(A)+(B)->A(A)=0B4H

PUSHACC;累加器A内容压栈(SP)=61H

END

(A)=0B4H(R0)=30H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1