logo资料库

emu8086使用教程.doc

第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
资料共47页,剩余部分请下载后查看
Emu8086 集源代码编辑器,汇编/反汇编工具以及可以运行 debug 的模拟器(虚拟机器)于一身,它优于一般编译器的地方在 于提供了一个虚拟的 80x86 环境,拥有自己一套独立的“硬件”,可 以完成一些纯软件编译器无法完成的功能例如 Led 显示,交通灯, 步进电机等等,而且动态调试(DEBUG)时非常方便。 简单的例子: 安装完成后选择 菜单栏中的文件 examples stepper motor 在编辑框出现了相应的源码。点击 compile 编译选择一个文件保存 保存完之后会弹出一个对话框
点击 run 按钮则程序开始运行 调试时主控界面如下:
再次点击 run 可以停止运行 单击 reload 可以从头开始执行程序 单击 single step 可以单步调试。 单击 step back 可以返回到上一条指令(这个功能也是一般调试器没 有的)。 界面左边是寄存器栏,这里可以动态的观察每一步的执行结果 点击主控界面下面的 screen 可以显示模拟输出窗口 单击 source 可以查看源码窗口
Reset 相当于上面的 reload 键。 单击 aux 会出现一个菜单选择第一项 memory 可以观察程序内存区数 值的变化。 选择 stop on condition 可以设置条件断点: 上面的设定当 ax 的值是 0x0006 是断下来 单击 run 按钮可以看到断下来的时候 ax 值正好等于 6 单击 vars 可以查看运行过程中变量的变化。 Debug 可以更详细的显示每一步的调试结果
通过 Stack(堆栈)可以观察函数调用的过程 Flags 显示标志寄存器的值。如果刚刚执行的那一条指令修改了哪个 标志位的值则以红色显示。 可以到这个网址去下载: http://www.newhua.com/soft/16859.htm 目前网上很多人找这个软件的破解版。。其实根本不用破解。。 只要在用户名一栏输入任意的字符 注册码的前三位输入“112”就可以绕过注册认证了。。 至于为什么我就不多说了有兴趣的可以看一下我在看雪论坛发表的 一篇文章:http://bbs.pediy.com/showthread.php?t=119741 下面是在百度文库下载的一篇基础教程希望能对大家有所帮助。。。。 如何运行? 1.在开始菜单选在它的图标,或者直接运行 Emu8086.EXE 2.在"FILE"菜单中选择"SAMPLE" 3.点击"Compile and Emulate"按纽(或者按快捷键 F5) 4.点击"Single Step"按纽(或者按快捷键 F8),可以查看代码如何运行.
十进制系统 目前使用最多的是十进制.十进制系统有10个数字0,1,2,3,4,5,6,7,8, 9 利用这些数字能表示任何数值,例如754这些数字是由每一位数字乘以“基数”的幂 累加而成的(上一个例子中基数是 10 因为十进制中有十个数字)。 位置对于每一个数字是很重要的。例如,你将上一个例子中的“7”放到结尾:547 数值就成为: 特别提醒:任何数字的 0 次幂都是 1,0 的 0 次幂也是 1 二进制 计算机没有人类聪明(至少现在是这样),制造一个只有开关或者称为 0,1 两种状态的 电子机器很容易。计算机使用二进制系统,只有两个数字 0, 1 基地为 2 每一位二进制数称 作一位(BIT),4 BIT 组成一个半字节(NIBBLE),8BIT 组成一个字节(BYTE),两个 字节组成一个字(WORD),两个字组成一个双字(DOUBLE WORD)(很少使用):
习惯上在一串二进制后面加上“b”,这样,我们可以知道 101b 是二进制表示十进制的 5。 二进制 10100101b 表示十进制的 165,计算方法如下: 十六进制系统 十六进制系统使用 16 个数字 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 基底是 16. 十六 进制非常紧凑,便于阅读。将二进制转换为十六进制很容易,半字节(4bits) 对应一位十 六进制如下表 Decimal (base 10) Binary (base 2) Hexadecimal (base 16) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 A B C D E F
习惯上我们在一个十六进制数的后面加上 "H",以便和其他进制区别, 这样我们就知道 5Fh 是一个十六进制数表示十进制的 95。习惯上,我们也在以字母开头(从A到F)的十 六进制数前面 加上"0" 例如: 0E120h. 十六进制 1234h 等于 4660: 十进制到另外进制的换算 在换算中,将十进制数不断除以目标进制的基底,每一次都要记录下商和余数,直到商0。 余数用来表示结果。 下面是一个十进制39(基底是10)到十六进制(基底是16)的换算: 上例中所有的余数都小于10,不必使用字母。再举一个更复杂的例子:十进制 43868 换 结果为 27H 算为十六进制:
分享到:
收藏