实验三传送指令编程调试 实验目的 1.掌握MCS-51指令系统传送指令的汇编语言程序设计和调试方法; 2.熟悉用IBM-PC交叉汇编调试软件MBUG机器汇编及ME-5103在线仿真器调试。 实验设备 1.ME-5103在线仿真器1台: 2. IBM-PC微机1台: 3.直流稳压电源1台 三.实验内容 1.编写多字节数据的传送程序,把内部RAM的30H-37H单元置为10H-17H,然后 传送到外部的RAM的0100H-0107H单元:再将0100H-0107H单元逐一求反后送到内部 RAM的30H-37H单元。 2.程序结构采用循环结构 程序用R0作内部RAM指针,用DPTR作外部RAM指针,R7作为计数初值N,本实 验N=8 用文本编辑软件如EDIT编写源程序,用IBM-PC交叉汇编和调试软件MBUG对程 序进行汇编,产生目标代码文件,文件的类别为HEX及调试 4.参考程序 地址机器码 源程序 注释 ORG 0000H 0000H0130 START AJMP MAIN转入程序 ORG 0030H 内部RAM传送到外部RAM 0030H7830 MAIN: MOV RO,#30H指向低字节 MOV DPTR #0100H R7#08H LOOP A,@R0 MOVX @DPTR, A NC DPTR NZ RZLOOP 外部RAM逐一求反传送到内部RAM MOV DPTR, #O100H LOOPl: MOVX A, @DPTR 求反 MOV aRO.A INC RO
实验三 传送指令编程调试 一.实验目的 1.掌握 MCS-51 指令系统传送指令的汇编语言程序设计和调试方法; 2.熟悉用 IBM-PC 交叉汇编调试软件 MBUG 机器汇编及 ME-5103 在线仿真器调试。 二.实验设备 1.ME-5103 在线仿真器1台; 2.IBM-PC 微机1台; 3.直流稳压电源1台。 三.实验内容 1.编写多字节数据的传送程序, 把内部 RAM 的 30H--37H 单元置为 10H-17H,然后 传送到外部的 RAM 的 0100H--0107H 单元;再将 0100H--0107H 单元逐一求反后送到内部 RAM 的 30H--37H 单元。 2.程序结构采用循环结构 程序用 R0 作内部 RAM 指针,用 DPTR 作外部 RAM 指针,R7 作为计数初值 N,本实 验 N=8。 3.用文本编辑软件如 EDIT 编写源程序,用 IBM-PC 交叉汇编和调试软件 MBUG 对程 序进行汇编,产生目标代码文件,文件的类别为 HEX 及调试。 4.参考程序 地址 机器码 源程序 注释 ORG 0000H 0000H 0130 START: AJMP MAIN ;转入程序 ORG 0030H ;内部 RAM 传送到外部 RAM 0030H 7830 MAIN: MOV R0,#30H ;指向低字节 MOV DPTR,#0100H MOV R7,#08H LOOP: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,LOOP ;外部 RAM 逐一求反传送到内部 RAM MOV R0,#38H MOV DPTR,#0100H MOV R7,#08H LOOP1: MOVX A,@DPTR CPL A ;求反 MOV @R0,A INC R0
INC DPTR DJNZ R7.LOOP 1 HERE, AJMP HERE 程序结束 4.用ME-5103仿真机或和 IBM-PC联机软件MBUG调试 (1)编辑好源程序,通过汇编后,将目标程序装入ME-5103仿真机,分别用ME-5103 仿真机和IBM-PC查看已装好的程序。 (2)用单步执行或断点连续执行,记下执行指令后表格中相应寄存器的数值 执行指令 A RO DPTRR7 MOV R7.#08H 第一次循环|MOvA.aR0 第二次循环|MOvA@RO 第三次循环| MOV AOR0 第四次循环|MovA@RO 第五次循环「 MOV,Ro 第六次循环 OV AORO 第七次循环|MovA@RO 第八次循环|MOVA,aRo 第一次循环| MOVX ODPTR, A 第二次循环|Mox@DPRA 第三次循环| MOVX @DPTR. A 第四次循环|MOwx@ DPTR, A 第五次循环|Mox@ DPTR,A 第六次循环 OVX DPTR A 第七次循环|Mowx@DPRA 第八次循环|Mowx@DPRA (3)同时观察相关存储器的变化情况,记录结果。 四.实验报告 1.写出本程序调试过程和运行结果 2.本程序如何修改为内部RAM的30H-37H单元传送到内部RAM的38H-3FH单 元并调试,写出过程和运行结果 3.如何修改程序,可把外部RAM的0100H-010FH单元传送到外部RAM的 0110-01IFH单元并调试,写出过程和运行结果 4.如把外部ROM的0100H-010FH单元传送到内部RAM的30H-3H单元,写出过 程和运行结果
INC DPTR DJNZ R7,LOOP1 HERE: AJMP HERE ;程序结束 4.用 ME-5103 仿真机或和 IBM-PC 联机软件 MBUG 调试 (1) 编辑好源程序,通过汇编后,将目标程序装入 ME-5103 仿真机,分别用 ME-5103 仿真机和 IBM-PC 查看已装好的程序。 (2) 用单步执行或断点连续执行,记下执行指令后表格中相应寄存器的数值: 执行指令 A R0 DPTR R7 MOV R7,#08H 第一次循环 MOV A,@R0 第二次循环 MOV A,@R0 第三次循环 MOV A,@R0 第四次循环 MOV A,@R0 第五次循环 MOV A,@R0 第六次循环 MOV A,@R0 第七次循环 MOV A,@R0 第八次循环 MOV A,@R0 第一次循环 MOVX @DPTR,A 第二次循环 MOVX @DPTR,A 第三次循环 MOVX @DPTR,A 第四次循环 MOVX @DPTR,A 第五次循环 MOVX @DPTR,A 第六次循环 MOVX @DPTR,A 第七次循环 MOVX @DPTR,A 第八次循环 MOVX @DPTR,A (3) 同时观察相关存储器的变化情况,记录结果。 四.实验报告 1.写出本程序调试过程和运行结果. 2.本程序如何修改为内部 RAM 的 30H--37H 单元传送到内部 RAM 的 38H—3FH 单 元并调试,写出过程和运行结果. 3.如何修改程序,可把外部 RAM 的 0100H—010FH 单元传送到外部 RAM 的 0110-011FH 单元并调试,写出过程和运行结果. 4.如把外部 ROM 的 0100H—010FH 单元传送到内部 RAM 的 30H-3FH 单元,写出过 程和运行结果.