指令系统和汇编语言程序设计实验报告
姓名: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小时内删除。