实验三 传送指令编程调试 一.实验目的 掌握MCS-51指令系统传送指令的汇编语言程序设计和调试方法; 熟悉用IBM-PC交叉汇编调试软件MBUG机器汇编及ME-5103在线仿真器调试。 二.实验设备 ME-5103在线仿真器1台; IBM-PC微机1台; 直流稳压电源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,LOOP1 HERE: AJMP HERE ;程序结束 4.用ME-5103仿真机或和IBM-PC联机软件MBUG调试 编辑好源程序,通过汇编后,将目标程序装入ME-5103仿真机,分别用ME-5103仿真机和IBM-PC查看已装好的程序。 用单步执行或断点连续执行,记下执行指令后表格中相应寄存器的数值: 执行指令 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单元,写出过程和运行结果.