指令系统和汇编语言程序设计实验报告
姓名:XXX
班级:XXXXXXX
学号:000000
3.2 指令系统实验
实验一 熟悉键盘操作及数传指令编程设计
一、 实验目的
1. 熟悉软件模拟调试的环境及键盘操作。
2. 掌握汇编语言程序设计的方法,加深对指令的理解。
汇编语言如何编程3. 学会软件模拟调试和察看修改观察项的方法。
二、 实验内容
印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。
三、实验步骤
1. 进入调试软件环境,输入源程序;
2. 汇编源程序;
3. 用单步方式运行程序;
4. 检查并记录各寄存器和存储单元内容的变化。
四、程序清单及实验结果
1. 内部RAM数据传送
1)寄存器寻址与立即寻址,需要查看的数据有A、PSW和不同寄存器区的Rn等单元的内容。
ORG 0000H
MOV PSW,#00H
MOV R0,#30H
MOV A,R0
MOV R6,A
MOV PSW,#14H
MOV R0,#30H
MOV A,R0
MOV R6,A
MOV PSW,#10H
MOV R0,#30H
MOV A,R0
MOV R6,A
MOV PSW,#08H
MOV R0,#30H
MOV A,R0
MOV R6,A
SJMP $
END
数据记录:
2) 直接寻址,需查看30H、31H、32H、40H、ACC、PSW等单元的内容。
ORG 0100H
MOV 30H,#45H
MOV 31H,#46H
MOV 02H,31H
MOV 0E0H,30H
MOV 32H,ACC
MOV ACC,PSW
MOV 40H,ACC
SJMP $
END
数据记录:
3)寄存器间接寻址,需查看@R0、RO等的内容。
ORG 0200H
MOV 30H,#66H
MOV R0,#30H
MOV @R0,#30H
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 $
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论