第三章 MCS-51 的指令系统
3-1 简述MCS-51汇编语言指令格式。
3-2 MCS-51指令操作数主要有哪几种寻址方式?试举例说明。
3-3 设A=0FH,R0=30H,内部RAM的(30H)=0AH、(31H)=0BH、(32H)=0CH,请指出在执行下列程序段上后上述各单元内容的变化。
MOV A,@R0
MOV @R0,32H
MOV 32H,A
MOV R0,#31H
MOV A,@R0
3-4 对访问内部RAM和外部RAM,各采用那些寻址方式?
3-5 请用数据传送指令来实现下列要求的数据传送。
(1) R0的内容输出到R1。
(2) 内部RAM 20H单元的内容传送到A中。
(3) 外部RAM 30H单元的内容送到R0。
(4) 外部RAM 30H单元的内容送到内部RAM 20H单元。
(5) 外部RAM 1000H 单元的内容送内部RAM 20H单元。
(6) 程序存储器ROM 2000H单元的内容送到R1。
(7) ROM 2000H单元的内容送到内部RAM 20H单元。
(8) ROM 2000H单元的内容送到内部RAM 30H单元。
(9) ROM 2000H单元的内容送外部RAM 1000H单元。
3-6 设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?
MOV R0,#30H ;
MOV A,@R0 ;
MOV R1,A ;
MOV B,R1 ;
MOV @R1,P1 ;
MOV A,P1 ;
MOV 40H,#20H ;
MOV 30H,40H ;
3-7 设A=5AH,R1=30H,(30H)=E0H,Cy=1。分析下列各指令执行后A的内容以及对标志位的影响(每条指令都以题中规定的原始数据参加操作)。
(1) XCH A,R1
(2) XCH A,30H
(3) XCH A,@R1
(4) XCHD A,@R1
(5) SWAP A
(6) ADD A,R1
(7) ADD A,30H
(8) ADD A,#30H
(9) ADDC A,30H
(10) INC A
(11) SUBB A,30H
(12) SUBB A,#30H
(13) DEC A
(14) RL A
(15) RLC A
(16) CPL A
(17) CLR A
(18) ANL A,30H
(19) ORL A,@R1
(20) XRL A,#30H
3-8判断下列指令的正误:
(1)MOV 28H,@R2 (2)DEC DPTR
(3)INC DPTR (4)CLR R0
(5)CPL R5 (6)MOV R0,R1
(7)PUSH DPTR (8)MOV F0,C
(9)MOV F0,ACC.3 (10)MOVX A,@R1
(11)MOV C,30H (12)RLC R0
3-9假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容是什么?
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
3-10已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:
POP DPH
POP DPL
MOV DPTR,#4000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH A
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH A
RET
ORG 4000H
DB 10H,80H,30H,50H,30H,50H
请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。
3-11下列程序段的功能是什么?
PUSH A
PUSH B
POP A
POP B