资源描述:
《实验一debug和emu8086软件的使用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一Debug和Emu8086软件的使用 一、 实验目的:(1)熟悉Debug软件和汇编语言开发环境。(2)掌握Emu8086软件使用方法。(3)了解汇编语言的程序结构、调试一个简单的程序。(4)理解寻址方式的意义。二、 实验内容及要求:1、Debug的使用根据课本104页的实验1中的预备知识的说明,学习使用Debug软件。编程实现:在显示器上显示字符串WelcometoTianHecollege!两个64位无符号数相加2、Emu8086的使用(1)打开桌面上的Emu8086的图标,出现如图所示的对话框,选择【继续……】首次打开软件,界面中默认已有一段小程序。该程序实现在屏幕上显示三段
2、字符串的功能。若用户需要自己重新编程,可点击工具栏的【new】图标,出现如图所示的对话框,选择编程所采用的模板。选择不同的模板,在程序源代码中会出现如下标记:#MAKE_COM#选择COM模板#MAKE_BIN#选择BIN模板#MAKE_EXE#选择EXE模板#MAKE_BOOT#选择BOOT模板#MAKE_COM#最古老的一个最简单的可执行文件格式。采用此格式,源代码应该在100H后加载(即:源代码之前应有ORG100H)。从文件的第一个字节开始执行。支持DOS和Windows命令提示符。#MAKE_EXE#一种更先进的可执行文件格式。源程序代码的规模不限,源代码的分段也不限,但程序中
3、必须包含堆栈段的定义。您可以选择从新建菜单中的EXE模板创建一个简单的EXE程序,有明确的数据段,堆栈段和代码段的定义。程序员在源代码中定义程序的入口点(即开始执行的位置),该格式支持DOS和Windows命令提示符。这两种模板是最常用的模板(2)选择COM模板,点击【确定】,软件出现源代码编辑器的界面,如图所示:在源代码编辑器的空白区域,编写如下一段小程序:DATASSEGMENTSTRINGDB'WelcometoTianHecollege!',0AH,0DH,'$'DATASENDSCODESSEGMENTASSUMECS:CODE,DS:DATASSTART:MOVAX,DATA
4、SMOVDS,AXLEADX,STRINGMOVAH,9INT21HMOVAH,4CHINT21HCODESENDSENDSTART代码编写结束,点击菜单【文件】【另存为……】,将源代码换名保存。本例将源代码保存为1.asm。点击工具栏的【模拟】按钮,如果源程序无错误,则编译通过,出现如图所示的界面:点击【单步执行】,程序将每执行一条指令便产生一次中断。点击【运行】,程序将从第一句直接运行到最后一句。界面的左侧可以观察程序运行过程中,各个寄存器的值的变化。若是查看内存区域的值,可以选择菜单【查看】【外部存储器】,出现如下界面:屏幕结果:(二)在源代码编辑器的空白区域,编写如下一段小程序:
5、DATASEGMENTN1DW1234H,5678H,9ABCH,0DEF0HN2DW1971H,0313H,1968H,1123HSUMDW9DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEABX,N1MOVAX,[BX]ADDAX,[BX+8]MOV[BX+16],AXINCBXINCBXMOVAX,[BX]ADCAX,[BX+8]MOV[BX+16],AXINCBXINCBXMOVAX,[BX]ADCAX,[BX+8]MOV[BX+16],AXINCBXINCBXMOVAX,[BX]AD
6、CAX,[BX+8]MOV[BX+16],AXMOVAX,0ADCAX,0MOV[BX+18],AXMOVAH,4CHINT21HCODEENDSENDSTART