EMU8086是学习汇编语言的优秀工具,它结合了先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。该软件包含了学习汇编语言的全部内容。EMU8086集源代码编辑器、汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身。
该软件对于汇编语言的初学者非常有帮助。它能够编译汇编源代码,并在模拟器上单步地执行。可视化界面令操作易如反掌,在执行程序的同时可观察寄存器、标志位和内存。算术和逻辑运算单元(ALU)显示中央处理器内部的工作情况。
这个模拟器是在一台“虚拟”的电脑上运行程序的,它拥有自己独立的“硬件”,这样程序就同诸如硬盘与内存这样的实际硬件完全隔离开,动态调试(DEBUG)时非常方便,并且能够模拟电机运动等一系列硬件实验。8086 的指令集非常小,便于初学者学习。EMU8086同主流汇编程序相比,语法简单得多,但是它可以生成任何能兼容8086机器语言的代码。
第一步 双击如图2-1所示快捷方式,运行EMU8086软件。
图2-1
第二步 选择“new”图标,选择“empty workspace”,新建一个空的工作区,如图2-2所示。
图2-2
第三步 输入示例源程序。
第四步 点击save保存为”mycode.asm”,单击compile图标进行编译,若没有错误,编译成功,将弹出可执行文件(.exe)保存对话框,保存为“mycode.exe”,如图2-3所示。然后单击run,如图2-4所示。
图2-3
图2-4
第五步 将进入如图2-5的调试窗口。单步执行并观察CPU寄存器值、指令的物理地址、逻辑地址、机器码等变化。单击emulate,也可进入调试窗口,如图2-5所示。
图2-5
第六步 可在调试窗口的view→memory中查看内存信息,如图2-6所示。
图2-6(a)
图2-6(b)
第七步 debug窗口、堆栈窗口和flags标志位窗口,如图2-7所示。
图2-7
第八步 除对一般汇编程序编译外,EMU8086还能够利用自带的软件实现“虚拟屏幕显示”、“虚拟打印”、“虚拟LED数码显示”、“虚拟接口”和“虚拟温度控制”实验,还可以进行“交通灯实验”、“步进电机实验”和“机器人实验”,如图 2-8 所示,读者可自行尝试。
图2-8
使步进电机顺时针半步进转动若干圈(如图2-9所示)。
图2-9
编制简单程序使温度计工作,点火时迅速升温(如图2-10所示),关火时缓慢降温(如图2-11所示)。
图2-10 点火迅速升温
图2-11 关火缓慢降温
代码提示:
注意: 如字体不合适,可在如图2-12所示options→font and colors→set font中调整。
图2-12