第 二 章 指令系统和汇编语言程序设计实验
本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 MCS-51单片机内部结构、 指令系 统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
第一节 指令系统实验
实 验 一 熟 悉 键 盘 操 作 及 数 传 指 令 编 程 设 计 一、实验目的
1.熟悉软件模拟调试的环境及键盘操作。
2.掌握汇编语言程序设计的方法,加深对指令的理解。 3.学会软件模拟调试和察看修改观察项的方法。 二、 实 验内容
印证数据传送指令的功能、寻址方式以及 PC 指针、 SP 指针、 DPTR 指针、 Ri 指针分别 对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。
三、 实验步骤
1.进入调试软件环境,输入源程序; 2.汇编源程序; 3.用单步方式运行程序;
4.检查并记录各寄存器和存储单元内容的变化。 四、程序清单
1. 内部 RAM 数据传送
需要查看的数据有 30H,31H,A,R0等。 ORG 0000H MOV R0,#30H MOV 30H,#45H MOV 31H,#46H MOV R2,30H MOV 02H,31H MOV A,#87H MOV 0E0H,30H MOV 30H,A MOV 31H,@R0 SJMP $ END
2. 外部数据传送
需要查看的数据有外部数据存储器单元 2000H ,外部程序存储器单元 2001H 。 ORG 0000H
MOV A,#89H MOV DPTR,#2000H
MOVX @DPTR,A INC DPTR CLR A
MOVC A,@A+DPTR SJMP $ ORG 2000H DB 44H DB 78H DB 67H END 3. 堆栈操作
需要查看的数据有 50H 、 51H 、 A 及 SP 指针和堆栈区中数据随 PUSH 和 POP 指令执行后 的变化情况和数据的存放次序等。
1 可用于保护现场和恢复现场的程序 ORG 0000H MOV SP,#5FH MOV 50H,#3BH MOV 51H,#2FH MOV A,#12H
PUSH 50H PUSH 51H PUSH ACC POP 0E0H POP 51H POP 50H SJMP $ END
2可用于数据交换的程序 ORG 0100H MOV SP,#6FH MOV 50H,#3BH MOV 51H,#2FH PUSH 50H PUSH 51H POP 50H POP 51H SJMP $ END