实验二 交叉汇编软件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仿真器汇编调试的操作过程。