实验一汇编基本操作.ppt_第1页
实验一汇编基本操作.ppt_第2页
实验一汇编基本操作.ppt_第3页
实验一汇编基本操作.ppt_第4页
实验一汇编基本操作.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 汇编基本操作,一、实验目的,熟悉在PC机上建立、汇编、链接、调试、和运行汇编语言程序的全过程; 设计一个完整的顺序结构汇编语言程序,学习数据传送和算术运算指令的用法。,源程序 (文本文件) *.ASM,目标文件 (二进制文件) *.OBJ,可执行文件 (二进制文件) *.EXE,库文件 (各种函数),masm.exe,link,二、实验内容,示例题:在屏幕上显示信息:“5A”,DATA SEGMENT ;定义数据段 x db 5 ;定义字节型变量x, x值存放于内存DATA段字节偏移量处 y db A ;定义字节型变量y, y值存放于内存DATA段字节偏移量1处 DATA ENDS CODE SEGMENT;定义代码段(伪指令,编译器使用) ASSUME CS:CODE,DS:DATA(伪指令,编译器使用) START: MOV AX,DATA;数据段在内在重定位,以便程序能够正确引用的在数据段中 MOV DS,AX,MOV DL, x; x值即48D(或31H)“5”的ASCII码存入寄器DL MOV AH, 2; INT 21H ; 调用号DOS中断,用于显示DL中存放的字符 MOV BX,01 MOV DL,BX ;通过BX寄存器间接址将y值存入DL(与第3行有相同的作用) MOV AH,2 INT 21H ;此段语句功能同上一段 MOV AH,4CH INT 21H ;4C号DOS中断,功能是结束程序,将系统控制权返给操作系统 CODE ENDS ;以下两句为伪指令,不占用内存,编译器使用 END START,实验步骤,1、从“开始”“运行”输入“CMD”命令,进入仿真DOS状态; 2、键入D: ,进入D盘(表示回车键); 3、输入CD MASM6,进入MASM6目录(即汇编程序所在目录); 4、输入EDIT(即DOS下的文本编辑程序)编辑宏汇编语言源程序,或者用TC编辑环境,或者用Windows的文本编辑程序均可。 选用你熟悉的文本编辑程序,按要求逐条输入给出的源程序,并对输入完毕的源程序存盘,其文件名由自己定,但文件的扩展名必须是.ASM(如果用Windows编辑程序,文件格式一定要选纯文本文件),文件保存位置为D: MASM6。例如把示例题源程序文件取名为hello.asm。,5、对源程序进行编译以生成.OBJ目标文件(框内为键盘输入的内容,表示回车): D: MASM6MASM hello.asm Microsoft(R) Macro Assembler Version 5.0 Copyright(C) Microsoft Corp 1981-1985,1987,All rights reserved. 工 Source filenamehello.ASM: 注:源文件名,上边已输入在此直接回车即可 Object filenamehello.OBJ: 注:目标文件名,默认与源文件同名 Source ListingNUL.LST: 注:列表文件,直接回车表示不生成该文件 Cross-referencenul.CRF: 注:交叉索引文件直接回车表示不生成该文件 50636+408356 Bytes symbol space free 0 Warning Errors 注:编译过程没有警告性错误 0 Severe Errors 注:没有严重错误,编译成功,如不为0刚需打开源程序按此处给出的错误提示修改错误 D: 注:返回DOS环境,不同版本时,以上显示内容可能不同,但基本原理是一致的。MASM完成对源程序的编译,若编译过程中发现语法错误,则列出错误的语句代码及错误类型,最后列出警告错误和语法错误的总数。此时,就可以根据错误的性质分析错误,并使用编辑程序修改源程序,再重新汇编源程序,直至汇编后无错误发生为止。,6、链接目标文件,对上步生成的目标文件进行链接生成扩展名为.exe的可执行文件 D: MASM6 LINK Microsoft(R) 8086 Object,linker Version 3.05 Copyright(C) Microsoft Corp 1983,1984,1985,All rights reserved. Object Modules .OBJ:hello 注:目标文件名,扩展名不用输入 Run FileHELLO.EXE: 注:可执行文件名,默认与目标文件同名 List FileNUL.MAP: 注:不输出MAP文件 Libraries.LIB: 注:不链接库文件 若连接过程有错,则显示错误信息,此时需要重新调用编辑程序修改源程序,然后再重新汇编,再经过链接,直至无错为止。,7、运行程序及调试程序 连接成功后,在D: MASM6目录下生成了一个可执行文件(扩展名为.exe),DOS下用DIR命令可以看见该文件(或者在Windows中文件管理器中也可看见该文件)。操作者可在该目录下直接键入文件名(或在文件管理器中双击)运行此程序: D: MASM6 hello.exe 注:大小写均可,扩展名可不输入 回车后屏幕将显示 :5A,自己编程:仿照上面程序,将自己的英文名字打印到屏幕上。 反复对以上过程进行练习,认真理解各步的作用,掌握“编辑”、“编译”和“链接”的概念,了解各步的需要的输入文件,输出文件是什么。,实验报告要求(实验1),1. 实验题目; 2. 实验目的; 3. 实验内容 (1). 编程任务 (2). 解决问题的基本思路 (3). 源程序 (4). 程序运行步骤 4. 实验结论; 5. 本次实验的主要收获和体会(100字左右);,利用debug调试宏汇编程序,debug.exe是DOS系统自带的汇编调试软件,debug命令是DOS的内部命令,只要进入DOS系统在任何目录下都可以运行。,debug调试程序有多种命令,可以显示修改内存、汇编、反汇编、单步运行程序,中断运行程序等,是调试汇编程序的常用工具。,debug可以直接在运行中汇编指令,进行调试,但由于使用这一功能要记住内存地址,所以在这里不做介绍,有兴趣可以看有关的参考书,在这里只介绍完整的源程序的调试方法。,调试步骤:,首先编写源程序,可以用任何文本文字(不带格式符)编辑系统编写源程序,如Windows下的记事本,在这里我们一般使用DOS下的文本编辑器edit.exe,与debug.exe一样,edit也是DOS系统的内部命令,在任何目录下都可以运行。但是要注意,无论用哪种编辑器,源程序的后备名必须是.asm。如a.asm等。,用记事本编辑源程序,文件名为b.asm,在DOS下运行edit,编辑a.asm源程序,输入源程序,文件菜单,可以存盘、重命名、退出等,源文件编辑完成后,存盘退出,这时应将源文件编译成目标程序 .obj文件。,同样在DOS下运行宏汇编编译程序masm.exe。这个程序不是DOS系统命令,须将该可执行文件拷贝至源程序的目录处。,在DOS下运行masm命令,同时输入源文件名,编译程序依次询问三个选项,均输入回车,如果源程序无语法错误,提示0个错误,表示已生成a.obj文件,如果存在错误,指出源程序的错误行数,错误类型,应返回编辑器修改。,两个错误,错误,多个逗号,错误,少个逗号,当前光标所在行数,成功生成a.obj文件后,对obj文件进行连接,在DOS的当前目录下执行link.exe文件。,执行link a,对这三个选项均回车跳过,如果源程序没有堆栈段,程序会提示,这时,我们已经成功地生成了a.exe文件,因为这个汇编程序没有涉及到屏幕的输入输出,即运行结果存在内存中,虽然能在DOS及Windows下正确运行,但什么结果都看不到。,为了观察程序的运行结果或为了调试程序,我们需要运行debug.exe调试程序来观察cpu的寄存器的运行状态及数据段内存的数据。,在当前目录下输入debug a.exe,进入debug程序,这是debug的提示符,可以在这个提示符下直接输入debug的各项命令,U 反汇编,可以看源程序 格式: U 地址 功能:把指定地址范围的内存块全部反汇编,一次最多显示32字节机器码。,机器码,CS:IP,原指令,T:单步运行程序 格式: T =地址 功能:从指定地址处,(默认为当前CS:IP地址)处运行一条指令,并显示寄存器内容、标志寄存器的状态和下一条指令。,t 命令,CPU各寄存器内容,标志寄存器状态,下一条指令及地址、机器码,G:执行程序,直至程序结束或断点处。 格式: G =地址 断点地址 功能:从指定地址或当前地址开始运行,遇到断点则停止,并显示断点处的各种状态。,运行到0015H,0015H处寄存器状态,下一条指令,D 显示内存命令 格式: D 地址 (例如 D DS:0000 ) 功能:显示指定范围的地址内容,最多128个字节。 如 D DS:0020 L 40 显示数据段从0020H开始的40个字节的内容。,显示内存命令,DS:偏移地址,内存内容,均为16进制形式,对应内容的ASC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论