《基于Emu8086的汇编语言程序设计探讨_邢江.doc》由会员分享,可在线阅读,更多相关《基于Emu8086的汇编语言程序设计探讨_邢江.doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、64 邢江:基于 Emu8086 的汇编语言程序设计探讨 技术在线 10.3969/j.issn.1671-489X.2010.03.064 * 1 前言 基于 Em u8086 的汇编语言程序设计探讨 邢江 湖北师范学院计算机科学与技术学院 湖北黄石 435002 摘 要 简单介绍 Emu8086 功能,通过汇编程序实例调试,对比 Emu8086 和 Debug 在汇编语言程序设计中的应用。可 以看出, Emu8086 的使用使得汇编语言程序的编译、执行变得更加直观和清晰,有助于提高初学者的学习兴趣。 关键词 Emu8086;汇编语言; Debug 中图分类号 : TP368.1 文献标识码
2、 : B 文章编号 : 1671-489X(2010)03-0064-02 Exploration of Assemble Language Program Design based on Emu8086/Xing Jiang Abstract Firstly functions of Emu8086 are introduced. A program of assemble language is debugged. Emu8086 and debug are contrasted in it. The beginner can make use of Emu8086.Because com
3、piling and running of assemble language program became clearly and easily by Emu8086. Key words Emu8086; assemble language; Debug Author s address College of Computer Science & Technology, Hubei Normal University, Huangshi, Hubei, China 435002 态。不仅如此,系统还可提供机器码、反汇编指令和指令地 有很多人认为汇编语言的应用范围很小,由此忽视它的 重要性。
4、其实汇编语言对每一个希望学习计算机科学与技术 的人来说都是非常重要的,是不能不学习的语言。汇编语言 是计算机能够提供给用户使用的最快而又最有效的语言,也 是能够利用计算机所有硬件特性并能够直接控制硬件的唯一 语言 。 Emu 8086 是 8086 微处理器的仿真软件,完全兼容 Intel 和 Amd 系列,内部集成了汇编程序编译器、连接器和丰富的 参考资料、例程、学习 指南等。该款软件可模拟真实微处理 器运行程序的详细步骤,不仅能够显示寄存器、存储器、堆 栈、标志寄存器以及变量的值,而且还可通过双击鼠标来改 变存储器的值。除此之外,通过 Emu8086 可模拟显示器、直 流步进电机、交通红绿
5、灯和 LED 等外设 。 2 Emu8086 和 Debug 的应用对比 对于 Emu8086,可在工作区输入并编辑源程序。单击工 具栏上的“ emulate”按钮, Emu8086 便会自动完成对源程序 的编译和连接;如无错误,将会进入指令调试界面。通过该 软件提供的单步调试方式,可以方便观察当时寄存器 值和状 址,非常直观、便捷。 动态调试程序 Debug,实际上是 DOS 中的一个外部命令, 功能强大。通过 Debug 提供的命令,可以监视和控制被调试 程序的运行过程;可以装入、显示和修改文件;可对磁盘直 接进行物理读写或逻辑读写。但是对于初学者来说, Debug 难以掌握和理解,缺乏友
6、好的互动界面。 下面通过实例来说明 Emu8086 在汇编语言程序设计中的 运用,同时对比 Debug 的使用。 该程序可将 BX 寄存器内的二进制数用十六进制数的形式 在屏幕上显示出来。 基金项目: 2008 年湖北师范学院教研项目“基于 Internet 的计算机组成与结构虚拟实验系统的设计与实现”。 作者:讲师,工学硕士,主要研究领域为无线传感器网络、网络化控制系统和复杂网络控制等,承担计算机组成与结构、汇编语言程序设计等课程教学 工作。 越丰富,如何充分利用现有网络学习资源构建移动学习环境 福学习实验室开发的 M-lea rning 原型等。通过移动学习和 也是亟待解决的问题。 传统教
7、学的结合,可以促进学习者学习的效果,提高学习绩 5 总结 效。随着移动通信技术的发展,移动学习将越来越普遍,成 目前,国外已有移动学习的成功案例,其中有基于 WAP 为一种新的学习方式,为创建学习型社会和终身学习起到促 的移动学习系统、基于 Pam 掌上电脑的移动学习系统和斯坦 进作用。 参考文献 1卢锋 .WAP 技术:建设完善的移动学习社区 J.福建电脑 ,2003(12) 2郑明秀 ,周竹荣 .移动学习中的学习资源管理模型研究 J.成都理工大学学报 ,2003(8) 3余胜全 .移动学习 当代 E-learning 的新领域 J.中国远程教育 ,2003(22) 2010 年 1 月下
8、第 3 期(总第 189 期) 1 2 技术在线 邢江:基于 Emu8086 的汇编语言程序设计探讨 65 题意分析:可通过循环结构,将 BX 的内容从左到右,每 4 位为一组在屏幕上显示出来;至于字符的显示,可以通过 DOS 功能调用来实现。 1) Emu8086 实现过程。 编辑源代码。在 Emu8086 工作区中输入下列源代码, 并保存,如图 1 所示。 start: push ds sub ax, ax push ax mov bx,1010B mov ch, 4 rotate: mov cl, 4 rol bx, cl mov al, bl and al, 0fh add al, 3
9、0h ; 0 9 ASCII 30H39H cmp al, 3ah jl printit add al, 7h ; A F ASCII 41H46H printit: mov dl, al mov ah, 2 int 21h dec ch jnz rotate ret 编译源程序。单击 Emu8086 工具栏上的“ compile”按 钮,系统会提示编译好的文件存放位置和文件名称。编译成 功后,在弹出的窗口上单击“ run”,即可得到结果,如图 2 所示。 机器指令,以及编译 后的汇编语言指令的执行情况,也可 看 到相关 寄存器 等的 数据变 化情况 。另 外,单 击该窗 口 工具栏上的“ s
10、i ngle st ep”按钮,可控制程序的单步执 行。通过这种方式,可以很方便地观察指令执行情况以及 寄存器 的变化。当然也可单 击“ run ”按钮,直接 执行程 序。 2) Masm Debug 实现过程。 编辑源代码。在文本编辑器中编写源代码,保存。 编译源程序。在 W in do ws X P 的命令行方式下,调用 Mas m 程序,对源程序进行编译、链接,生成可执行文件,如图 4 所 示。运行生成的可执行文件,即可得到结果。如要详细获知 指令执行情况或寄存器状态,则需借助 Debug 的帮助。 Debug 调试。通过 Debug 命令来实现对程序动态跟踪, 则较为麻烦和困难。比如
11、Debug:R 命令可查看或修改寄存器 的内容; Debug:T 可实现单步跟踪的目的,如图 5 所示。 模 拟仿真。编译成功后, 单击 Emu 808 6 工具栏上 的 “ em ula te”按钮 ,便可将已编译好的文件导 入仿真 器执 行,如图 3 所示。在 该窗口中,可以看 到当前正在执行 的 参考文献 3 结语 本文通过一个汇编程序的调试,比较 Em u8086 与 Debu g 的使用。可以看出,初学者通过 Emu8086 可以方便观察数据 的变化和程序的执行,加深对汇编语言的认识,提高学习兴 趣;而 Debug 则稍显麻烦,增加学习的难度。 1沈美明 ,温冬蝉 .IBM-PC 汇编语言程序设计 M.第 2 版 .北京 :清华大学出版社 ,2001 28086 Micro processor EmulatorEB/OL.http: 2010 年 1 月下 第 3 期(总第 189 期)