单片机实验——汇编语言指令
成绩
单片机原理及应用
实验报告
实验名称汇编语言指令实验班级姓名学号指导教师实验日期
实验一汇编语言指令
一、实验目的
1、掌握KEIL软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等。
2、熟悉AT89C51单片机的指令系统。
二、实验内容
完成以下内容:
1、假定外部数据存储器20XXH单元的内容为80H,执行下列指令后,累加器A中的内容是: ORG 0000H
MOV DPTR,#20XXH MOV A,#80H MOVX @DPTR,A MOV  P2,#20H MOV  R0,#00H MOVX  A,@R0 END
注意:完成本实验,需完成题目的“假定”条件,将外部数据存储器20XXH单元预先赋值,如何实现?
2、假定=60H,=25H,=80H,执行下列指令: ORG 0000H MOV SP,#60H MOV ACC,#25H MOV B,#80H PUSH  ACC PUSH  B
END
后,的内容是,61H单元的内容是,62H单元的内容是.
注意:完成本实验,需完成题目的“假定”条件,将SP、ACC和B中赋好值,如何实现?
3、假定=85H,=20H,=0AFH,执行下列指令: ORG 0000H MOV A,#85H MOV R0,#20H MOV 20H,#0AFH ADD  A,@R0 END 后,A的内容是,CY的内容是,AC的内容是,OV的内容是。
注意:完成本实验,需完成题目的“假定”条件。
4、假定=0FFH,=0FH,=0F0H,=40H,=00H,执行下列指令:MOV R3,#0FH MOV 30H,#0F0H MOV R0,#40H MOV 40H,#00H INC  A INC  R3 INC  30H INC  @R0 END 后,A的内容是,R3的内容是,30H的内容是,40H的内容是。
注意:完成本实验,需完成题目的“假定”条件。
5、假定=059H,=73H,执行下列指令: ORG 0000H MOV A,#059H MOV R5,#73H ADD  A,R5 DA  A END
后,A的内容是,CY的内容是。
6、程序如下: MOV A, #0BFH MOV 20H, #85H SETB C ADDC  A, 20H
结果为:(A)= 45H CY= 1 AC= 1 OV= 1 P= 1
指示汇编程序如何汇编的指令
7、程序如下: MOV A, #0BFH MOV 20H, #85H
SETB C SUBB A, 20H
结果为:(A)= 39H CY= 0 AC=  0 OV= P=  0
8、假定=0FH,=19H,=00H,=40H,=0FFH,执行下列指令: ORG 0000H MOV A,#0FH MOV R7,#19H MOV 30H,#00H MOV R1,#40H MOV 40H,#0FFH DEC A
DEC R7 DEC 30H DEC @R1 END
后,A的内容是,R7的内容是,30H的内容是,40H的内容是。
注意:完成本实验,需完成题目的“假定”条件。
9、假定=0FH,=0A0H,,执行下列指令: ORG 0000H MOV A,#0FH MOV B,#12H MUL AB END
后,A的内容是,B的内容是,AC的内容是,OV的内容是。
注意:完成本实验,需完成题目的“假定”条件。
10、假定=0FBH,=12H,,执行下列指令: ORG 0000H MOV A,#0FBH MOV B,#12H DIV  AB END
后,A的内容是,B的内容是,AC的内容是,OV的内容是。注意:完成本实验,需完成题目的“假定”条件。
11、假定=0C5H,执行下列指令: ORG 0000H MOV A,#0C5H SWAP  A END
后,A的内容是,AC的内容是,OV的内容是。注意:完成本实验,需完成题目的“假定”条件。
12、假定=83H,=17H,=34H,执行下列指令: ORG 0000H
MOV A,#83H;(A)=83H MOV @R0,#17H;((R0))=17H MOV 17H,#34H;(17H)=34H ANL A,#17H ; (A)=03H ORL 17H,A  ;(17H)=17H XRL A,@R0 ; (A)=34H CPL A ; (A)=0CBH END 后,A的内容是。写出每条指令执行后的目的操作数的内容。注意:完成本实验,需完成题目的“假定”条件。
13、执行下列指令:
MOV 71H,#17H;(71H)=17H MOV R0,#71H;(R0)=71H MOV A,@R0;A=((R0)) RL A ;(A)=2E MOV R1,A ;((R1))=2E RL  A ;A=5CH RL A;A=0B8H ADD A,R1;A=0E6H MOV @R0,A ;((R0))=0E6H
后,实现的功能是。写出每条指令执行后的目的操作数的内容。
14、下列程序执行后,SP=?A=?B=?,解释每一条指令的作用,给最终执行结果的合理解释。
ORG  0000H  ;程序从0000开始
LJMP MAIN ;长跳转至MAIN
ORG 0100H ;程序从0100开始
MAIN: MOV SP,#40H  ;将40H赋值给SP
MOV A,#30H;将30H赋值给寄存器  A LCALL 0300H  ;长调用子程序
ADD A,#04H ;将寄存器A的内容加上04H后赋值给A MOV B,A ;将A的值赋值给B
SJMP $ ;原地等待
ORG 0300H;程序从0300H开始MOV DPTR, #0039H ;将0039H赋值给DPTR
PUSH  DPL ;SP加1后赋值给SP,将DPTR的低位值送到SP指示的
内部单元中
PUSH  DPH ;SP加1后赋值给SP,将DPTR的高位值送到SP指示
的内部单元中 RET ;从子程序返回程序执行后,SP=42H,A=30H,B=00H。
三、实验总结

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。