实验二 交叉汇编软件MBUG的使用 MBUG交叉汇编调试软件   在使用ME-5103 型单片机在线仿真器开发时,应用功能强大的MBUG交叉汇编调试软件,可以大大提高效率。 1.主要特性 .支持MCS-51和Piliphs80C51系列单片微机ASM-51,PL/M51,C-51源文件文本调试; .目标文件为Intel HEX, Intel OMF, Metalink格式; .和ME-5103 型单片机在线仿真器联接使用调试时,通信速率可达115.2kbps; .可在IBM-PC的键盘,显示器上联机调试; .仿真目标程序目标数据仿真器程序仿真器数据四种存储器仿真区域。 2.软件组成和使用环境 MBUG交叉汇编调试软件在IBM-PC及兼容机的DOS环境下运行,源程序文件采用一般的文本文件如EDIT, PE, 或Turbo C源程序文件编辑器等进行编辑,然后用本软件交叉汇编和联机调试,本软件包括4个文件: MBUG.COM MBUG.CFG MBUG.HLP MBUG.OVL 在使用时最好在硬盘中建立一个专用的子目录如M51,将上述文件复制到该子目录下使用。本软件处理的文件允许在根目录或子目录下操作,输入文件名可包括路径名,如:D:\M51\USER\MYFILE.ASM。 3.进入软件操作   在DOS命令提示下,输入MBUG,回车后如图2.1显示,包括版本号,功能介绍等信息. MBUG V3.10 CPU:8051 NONAME.HEX I_PS I_RW COM1:READY Manley In-Circuit Emulator Debugger Version 3.10 Copyright ?1990-1993 by Manley electronics co., Ltd . IBM PC/XT/AT,286/386/486,PS/2, or Compatible . Emulate CPU 8051/52,80C652,80C552,8751 etc . Serial Link keeps the highest speed . Source-level debug for Asm51,PL/M51 and C-51 . Assemble,Disassemble,Debug,File,Shell etc. Press any key to continue… 图2.1 MBUG首页 这时,按任意键进入MBUG窗口工作状态如图2.2显示, MBUG V3.10 CPU:8051 NONAME.HEX I_PS I_RW COM1:READY Program:0000(PC:0000)---------------- Rigister ----------------------- PSW -- | R0=00 R4=00 P0=00 C0=0000 | CY=0 | R1=00 R5=00 P1=00 C1=0000 | AC=0 | R2=00 R6=00 P2=00 | FO=0 ======= Main Menu ======= =00 P3=00 | S=00 | Help(Alt-F) | ON=00000000 PCON=00 | OV=0 | OS shell | TMOD=00 | F1=0 | Programming | IP=00000000 SCON=00 | P=0 | Load program | IE=00000000 SBUF=00 |SP=00 | Setup MBUG.CFG | . ) | 0>00 | Assemble |----------------------------- | Disassemble | 00 00 00 00 00 00 . . . . . . . . | Run and Debug | 00 00 00 00 00 00 . . . . . . . . | Quit(Alt-eXit) | 00 00 00 00 00 00 . . . . . . . . ========================== 00 00 00 00 00 00 . . . . . . . . | 20 00 00 00 00 00 00 00 00 . . . . . . . . | 28 00 00 00 00 00 00 00 00 . . . . . . . . | 30 00 00 00 00 00 00 00 00 . . . . . . . . | 38 00 00 00 00 00 00 00 00 . . . . . . . . | 40 00 00 00 00 00 00 00 00 . . . . . . . . | 48 00 00 00 00 00 00 00 00 . . . . . . . . | 50 00 00 00 00 00 00 00 00 . . . . . . . . ------------------------------------------------------------------------------ Help F3-File ^Find ^Next ↑ ↓ ← → PgUg PgDn ^PgUg ^PgDn Home End <ESC> 图2.2 MBUG主菜单 最顶上的一行为系统状态信息包括版本号,CPU类型,以被装入的文件名,仿真模式,串行通讯口的信息等。最下面的一行为命令行提示和错误提示信息.窗口的作用如图2.3所示。 MBUG V3.10 CPU:8051 NONAME.HEX 系统状态信息 I_PS I_RW COM1:READY Program:0000(PC:0000)--------------- Rigister------------------------- PSW -- | R0=00 R4=00 P0=00 C0=0000 | CY=0 | R1=00 R5=00 P1=00 C1=0000 | AC=0 | R2=00 R6=00 P2=00 | FO=0 | R3=00 R7=00 P3=00 | S=00 | A =00 TC       PCON=00 | OV=0 工作窗口 | B =00 寄存器窗口 TMOD=00 | F1=0 | DPH=00        SCON=00 | P=0 | DPL=00 IE=00000000 SBUF=00 |SP=00 | . ISP=00( . ) | 0>00 |-IDATA:0000------------------------------ | 00 00 00 00 00 00 00 00 00 . . . . . . . . | 08 00 00 00 00 00 00 00 00 . . . . . . . . | 10 00 00 00 00 00 00 00 00 . . . . . . . . | 18 00 00 00 00 00 00 00 00 . . . . . . . . | 20 00 00 00       00 . . . . . . . . | 28 00 00 00 存储器窗口 00 . . . . . . . . | 30 00 00 00       00 . . . . . . . . | 38 00 00 00 00 00 00 00 00 . . . . . . . . | 40 00 00 00 00 00 00 00 00 . . . . . . . . | 48 00 00 00 00 00 00 00 00 . . . . . . . . | 50 00 00 00 00 00 00 00 00 . . . . . . . . ----------------------------------------------------------------------------- Help F3-File ^Find ^Next命令行和错误提示 PgDn ^PgUg ^PgDn Home End <ESC> 图2.3 MBUG窗口显示   其中仿真模式用Ctrl+S循环选择,对应ME-5103的指示灯状态,如下表: 仿真 模式 读写区域指示(数据) 取指区域指示(程序) 显示器模式显示  0 暗 暗 I_PS I-RW  1 暗 亮 UPS I-RW  2 亮 暗 I_PS U-RW  3 亮 亮 U_PS U-RW   MBUG主菜单命令解释: 主菜单对应F1-F9功能健   Help(Alt-F) 帮助 OS shell   DOS功能调用 Programming 配合EPROM卡写EPROM Load program 将编译好的HEX文件装入ME-5103 Setup MBUG.CFG 设定显示窗口的格式和内容 Assemble 用户源文件交叉汇编 Disassemble 反汇编文件 Run and Debug 联机运行调试 Quit(Alt-eXit) 退出MBUG 4.用户程序交叉汇编过程 用文本编辑软件将源程序输入计算机,文件的扩展名为ASM,如MYFILE.ASM,进入MBUG主菜单后,选择“ASSEMBLE(汇编) ”,用窗口选择或输入被汇编的文件名,如文件没有语法错误,可生成目标文件,缺省扩展名为HEX,如上的源程序被汇编的文件名为MYFILE.HEX。 如MBUG检查文件有语法错误时,将提示对应行号以及出错类别,用户根据提示退出MBUG用文本编辑软件将源程序修改后再按上述方法汇编,直至成功. 5.用户程序运行和调试 在MBUG主菜单选择“Load program(装入程序) ”,用窗口选择或输入已被汇编生成目标文件的文件名,缺省扩展名为HEX,如上的程序为MYFILE.HEX。也可选择扩展名为ASM的文件,MBUG将自动选择对应已经汇编好的目标文件装入ME-5103仿真机。 此时连续按两次Enter可进入“Run and Debug(运行和调试)”的联机运行调试状态。 或者在MBUG主菜单选择“Run and Debug(运行和调试)” 运行调试状态功能健作用定义:  Ctrl+E 选择仿真目标CPU;  Ctrl+S 选择仿真模式0,1,2,3;  Ctrl+C 选择通讯口,COM1或COM2,波特率自动适应;  Ctrl+M 选择显示存储器的窗口“IDATA内部RAM”“BIT按位显示”“XDATA数据”“CODE程序代码”; 运行和调试键盘命令及对应ME-5103仿真器的操作如下: 键盘命令 提示 对应仿真器命令 作用  F2 或Ctrl+B BP BP 设置断点  Ctrl+T BT BT 设置断点重复次数  F3或Ctrl+N PC  设置程序计数器值  F4 Here  程序执行到光标处  F5或Ctrl+F5 Scal或AUTO Scal  宏单步  F6或Ctrl+F6 ZOOM  窗口变化或交换  F7或Ctrl+F7 Symbol  标号开关及窗口变化  F8或Ctrl+F8 Step或Track Step 单步与自动单步  F9 Exec Exec 连续运行  F10 Menu  返回菜单   二.MBUG软件程序调试  1.熟悉源程序程序的文本编辑,交叉汇编和进入调试的操作; 2.单步执行,设置断点BP运行和Here命令的使用。 (1) 参考程序(参照实验一) (2) 在IBMPC微机用交叉汇编软件MBUG汇编,产生目标码文件; (3) 在MBUG将目标码文件传送到ME-51仿真器进行调试; 传送完后进入运行和调试,在“工作窗口”显示出源程序,也可以用Ctrl+F7切换到同时显示机器码和源程序的窗口。分别用三种方法调试并熟练掌握: a. 单步调试程序:用F8操作,PC指定处,每按一下执行一条指令,PC改变。 b. BP设定断点调试程序:用BP断点设定后,用连续运行命令F9操作,每按一下在断点处停下来。 c. 执行到当前:先把PC设定到起始点(如0000),再将光标移到需暂停处,按一下F4(Here),程序从PC执行到该光标暂停下来。   在每一个需要观察相关的寄存器和相关存储器的地方,可用单步执行停下来,或设定断点,或用Here(即F4键)。 通常把这3种方法结合起来使用,单步调试程序可以看到每一步的结果,但速度慢,在接近需要观察结果的地方设定一个断点,连续运行到断点再用单步执行。 4. 实验报告   写出用MBUG软件和ME-5103仿真器汇编调试的操作过程。