13.U——反汇编命令
命令格式:U [起始地址] [结束地址]
功能说明:
该指令实现汇编的反过程,将指定程序存储器区域内的机器码,反汇编成符号化的汇编语言指令。在使用SIM447调试程序的过程中,如果需要观察某一单元或某一区域程序存储器中的指令,使用U命令是很方便的。配合该命令,如果此前已经(用命令ESYM)激活了符号化调试功能,SIM447系统会将您原先在程序中定义的标号同时显示出来。
U命令既可以跟随两个地址(即起始地址和结束地址,用十六进制数表示),也可以只跟随一个起始地址,还可以不跟随地址。如果您在输入U命令时不指定起始地址和结束地址,SIM447系统会将此前最后一次反汇编的结束地址,当作是这一次进行反汇编的起始地址,显示一屏所能容纳的行数就自动停下来。
14.W——目标程序文件存盘命令
命令格式:
W [文件名称]
功能说明:
将SIM447系统内目前正在调试的目标程序,以.CDS文件保存到磁盘中,以便及时保护自己的劳动成果。当您用SIM447对于自己设计的程序进行了在线修改、汇编以及调试之后,您可以将退出SIM447系统之前的结果以目标程序文件(.CDS)形式,输出到硬盘或者软盘中保存起来,以便以后继续调试,或准备下一步将目标程序烧录到目标单片机中实验。
应用举例:
下面的操作过程,实现将SIM447系统的程序存储器中第0单元到第20号单元内的机器码,保存在名称为LED123.CDS的程序文件中。在第一行命令输入完毕回车后,系统会出现询问起始地址的提示行“Begin Ad-dress:”;在完成起始地址的输入后,系统又会出现询问结束地址的提示行“End Address:”;输入结束地址并回车,如果正常的话,系统就会出现“保存完成”的提示行“Save Com-plete”。

在该例中如果在W后面不直接跟随文件名称,则系统会出现一条“Input the OBJ Filename:”的提示行,意思是“请输入目标文件名称”。
15. Q或QUIT——退出模拟器命令
命令格式:
Q或QUIT
功能说明:
结束SIM447的调试过程,回到DOS或Windows操作系统。当您想利用该命令结束调试过程时,SIM447系统会询问您要不要把调试的环境设置参数保存起来,如果您回答“Y”,下次重新启动SIM447系统时,您就可以马上恢复到先前的工作环境中;如果您回答“N”或直接回车,则该次的环境设置自动丢弃。练习过程中通常不需要保存。环境设置的内容包含:被调试程序的名称、断点设置情况、快捷键定义、各个组件开启状况、SKIP命令定义的子程序名称和时间参数等信息。
16. SET——快捷键定义命令
命令格式:
SET Fn 系统命令
功能说明:
对6只功能键9邀Fn9妖(n=1~6)定义一些常用的操作功能。命令格式中的“系统命令”可以代表DOS系统命令或SIM447系统命令。定义之后的功能键被用作SIM447系统命令的快捷键,即只有在“>”提示符下方可有效。
应用举例:
在用SIM447调试一个程序时,如果将调试过程中较常用的一些操作定义在功能键9邀F19妖至9邀F69妖中,可以有效地提高工作效率。例如,把调试者最常用的源程序编辑、汇编目标程序装载、系统复位、从头运行操作定义如下:
当这样设定之后,只要按动9邀F19妖,系统就会自动进入文本编辑器的环境,并且使源文件LXH_LED.ASM处于编辑状态,从而把十余次的击键动作浓缩成一次;按下功能键9邀F29妖,系统就会启动宏汇编器且自动对源文件LXH_LED.ASM进行汇编;按下功能键9邀F39妖,系统会自动把目标文件LXH_LED.CDS装载到SIM447;按下功能键9邀F49妖,系统会自动复位;按下功能键9邀F59妖,系统会自动从ROM地址0000H处执行程序;按下功能键9邀F69妖,系统会自动对于ROM内0010H到0018H区间的机器码进行反汇编。在举例中,前两条是把DOS命令定义为SIM447快捷键,后4条是把SIM447命令定义为SIM447快捷键。
17. KEY——引脚开关定义命令
命令格式:
KEY Fn 端口地址.位址
功能说明:
把2只功能键9邀Fn9妖(n=1、2)定义成端口引脚上的外接按钮开关,用于控制引脚电平的反转。命令格式中的“端口地址”可以代表端口5~7;“位址”可以代表数字0~7。定义之后的功能键被用作虚拟单片机引脚上数字量的输入,即只有在程序执行期间有效。SIM447系统默认为:9邀F19妖键为P5.0脚的按钮开关、9邀F29妖键为P5.1脚的按钮开关。需要说明一点,与实际按钮开关输入存在差异,它会强行改变端口数据寄存器的值,而不受端口方向寄存器IOC内容的限制。
应用举例:
假如在程序执行过程中,需要频繁从引脚P5.5和P7.7上送入开关量,则可以按以下方式定义,如果定义成功,系统会提示“OK!”:
>KEY F1 5.5↓
>KEY F2 7.7↓
在作如上定义之后,用G命令运行程序期间按动9邀F29妖键,会得到提示信息“Set 7.7 High!”,再次按动9邀F29妖键,又会得到提示信息“Set 7.7 LOW!”。同时可以在寄存器显示区看到P7的内容变化。
18. RESET——系统复位命令
命令格式:
RESET
功能说明:
对SIM447系统进行复位。在复位虚拟单片机的过程中会完成多项动作,比如:程序计数器PC(R2)清零、状态寄存器R3的高3位和RAM选择寄存器R4的高2位清零、所有端口方向寄存器置为全1(即所有端口设定为输入模式,高阻状态)、看门狗定时器WDT以及分频器清零、中断状态寄存器R3F和中断使能寄存器IOCF清零等。
19. CLS——清屏命令
命令格式:
CLS
功能说明:
清除画面并重新显示。清除命令对话框中显示信息的历史记录和寄存器区域中的内容更动的变色记录等。
20. CLOSE——组件关闭命令
命令格式:
CLOSE [组件代号] 或 [ALL]
功能说明:
在用户程序执行过程中,将会发现在各个相关寄存器内容变化的同时,示波器、数码管、点阵显示器等组件也在相应地动态显示。SIM447系统初次启用时的默认设置是,实验电路板区中的所有电子组件全部处于被打开状态。您可以使用CLOSE和OPEN两条命令,单独指定您想主要模拟的电子组件种类。如此一来,不但可以提高程序的运行效率,也可以避免不必要的视觉干扰而便于集中精力。这些组件在SIM447系统内都分别具有专门定义的“组件代号”,如表3所示。

21. OPEN——组件开启命令
命令格式:
OPEN [组件代号]
功能说明:
打开实验电路板区中的电子组件。各个组件代号的定义同表3。
应用举例:
在调试前面的例程“LXH_LED.ASM”时,如果想仅仅打开LED2组件的话,可以用以下两条命令来实现。
>CLOSE ALL
>OPEN LED2
22. SWAP——实验区隐/显命令
命令格式:
SWAP
功能说明:
开启或关闭实验电路板区域的显示。
23. LOW——设定低电平命令
命令格式:
LOW
功能说明:
设定施加到各个虚拟组件的有效电平为低电平。该命令相当于设定是否在单片机引脚与实验电路板上的虚拟组件之间增加一级虚构的“反相器”。
24. HIGH——设定高电平命令
命令格式:
HIGH
功能说明:
设定施加到虚拟组件的有效电平是高电平。SIM447系统(初次启用时的)省缺状态下默认的是高电平有效,也即没有增加上面提到的那级反相器。
25. WDT——看门狗启/闭命令
命令格式:
WDT
功能说明:
在用户程序执行过程中开启或关闭看门狗定时器WDT功能。SIM447系统初次启用时,省缺状态下默认的是看门狗功能被开启,即看门狗处于激活状态。
26. CLOCK——指令周期查看或设定命令
命令格式:
CLOCK [:设定初始值]
功能说明:
“查看”程序运行过程中所占用的指令周期数(实际上SIM447模拟的指令执行的条数),或者将指令周期的累加值“修改”为一个指定值。在仿真的环境中,很难达到与真实电路效率相同的结果。此时我们就需要一个参考值,来感觉“时间”的概念。在SIM447中提供了观察时间的累加器CLOCK。在这里所显示的是指令周期的累加结果,若想换算成真实的执行时间,必须乘上每个指令周期中包含的时钟周期数(为4或2),再乘以时钟周期(相当于再除以计划选用的晶体振荡器的频率)。请注意,字符串“CLOCK”代表着两个含义:系统命令和指令周期累加器。
应用举例:
第一条命令是查看程序执行过程中所占用的指令周期数;第二条命令可以将指令周期累加器CLOCK清零(RESET命令也可以实现清零的动作);第三条命令是将CLOCK修改或者设置为20。
>CLOCK
>CLOCK : 0
>CLOCK : 20
27. SKIP——忽略延时子程序命令
命令格式:
SKIP 延时子程序名 时间(ms)
功能说明:
在被调试的用户程序中经常有延时子程序名的存在。由于SIM447是以软件模拟方式仿真,遇到延时子程序会造成长时间停滞现象,影响调试工作效率。当然可以临时修改延时程序代码或参数以减少延时,但是,如果使用该命令或许更方便一些。它将指定的延时子程序以给定的一段延时代替,从而跳过该延时子程序。需要说明:⑴命令中的“延时子程序名称”必须与用户程序中定义的延时子程序名称保持一致;⑵时间参数以“ms”为单位;⑶时间参数可以选择的范围是0~31072ms。
应用举例:
比如在调试前面的“LXH_LED.ASM”例程时,如果想在遇到DEALY子程序时仅产生10ms的延时,可以利用以下方式实现。
>SKIP DELAY 10
28. HELP——简易求助信息列显命令
命令格式:
HELP
功能说明:
显示简易求助提示信息。
应用举例:
当忘记某些命令的用法时使用HELP命令,SIM447系统就会在命令会话区显示一串如下所示的信息,也许会对您有所帮助。其实,在命令输入状态下,如果您输入了错误的命令,系统大都也会自动显示这些信息。(注:该信息中也存在描述欠准和差错之处)
29. DOS——返回DOS系统
命令格式:
DOS
功能说明:
暂时进入DOS操作系统,以便充分利用现成的一些DOS命令或者可执行文件。一旦您进入了DOS状态,想再回到SIM447系统中,则需要输入DOS命令“EXIT”,方可返回SIM447系统继续调试。
30. /——直接执行DOS命令
命令格式:
/DOS命令
功能说明:
暂时离开SIM447模拟系统。如果想临时性的进入DOS操作系统,以便使用DOS下的一些命令或者可执行文件。此时,可以直接在SIM447命令会话区输入DOS命令,不过前面必须加上一条斜线“/”,作为控制字符。
31.DIR——显示目录文件命令
命令格式:
DIR
功能说明:
查看当前磁盘驱动器目录之下的所有文件,这实际是一条DOS命令。之后按下任意键即可返回SIM447系统。
32. TIME——显示当前时间命令
命令格式:
TIME
功能说明:
查看微机系统中的日历时钟电路自动记录的当前时间。本期有奖问答的题目是:1.在线汇编功能A和在线反汇编功能U有什么用途?会给程序调试过程带来哪些方便?2.什么叫符号化调试功能?打开和关闭符号化调试功能的命令是什么?答案请来信至编辑部,或E-mail至computer@radio.com.cn。本刊第11期“义隆单片机课堂”有奖问答获奖名单徐林峰 许飞燕 陈 伟 马国强 李汉信英崇松 何 杰 肖同悦 杨 朗 王贵生以上读者将收到由义隆公司赠送的IC数据资料光盘。欢迎读者继续积极参加我们的有奖活动!
(大海创作室)
