汇编上机参考文档i.doc_第1页
汇编上机参考文档i.doc_第2页
汇编上机参考文档i.doc_第3页
汇编上机参考文档i.doc_第4页
汇编上机参考文档i.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

汇编语言上机步骤一、 上机前的软件准备:MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等)在此,一般使用win中的dos文本编辑器 (如:EDIT.COM , TURBO.EXE , TC.EXE , C.EXE ,等),在此一般用win中的记事本,汇编程序 (如:MASM.EXE , ASM.EXE 等)连接程序 (如:LINK.EXE 等)调试程序 (如:DEBUG.EXE 等)二、汇编程序建立过程:f.如果不正确,用调试工具调试,重新修改(逻辑错误)a.建立汇编源程序b.编译为目标文件d.连接为可执行文件 c.如果不通过,重新修改(语句错误) e运行三、 进行详细说明以该程序为例:该程序用于输出一个字符串“hello”,源文件为 hb。txtcs1 segment assume cs:cs1,ds:cs1start: push cs pop ds mov ah,0 int 10h lea dx,str0 mov ah,9 int 21h mov ah,4ch int 21hstr0 db hello,$cs1 ends end starta:建立汇编源程序(即:建立 文件名.asm) 如果你建立源程序是.txt文件也可以B编译你的源文件 先启动dos,到你的汇编文件夹目录下(汇编程序 连接程序 ,源文件都在该目录下) D: CD MASM50如果是 。ASM文件,则可以不加后缀名如果汇编成功,则生成HB。OBJ文件,也可以自己命名再输入命令 MASM HB。TXT 接下来默认生成NUL。CRF文件,即不生成输入22,则生成22.CRF 文件默认生成NUL。LST文件,即不生成输入11,则生成11.LST 文件回车后汇编成功,无警告和错误 那么就在该目录下生成3个文件我们可以用记事本 或者word打开。11。LST 文件看看这个里面是什么一个标号,一个变量有 一个段各条指令各条指令的机器码各条指令的有效地址如果在汇编的时候有错误,那么我们可以根据。LST 文件的提示来修改,直到可以汇编通过、 给出一些常见出错信息,以便查对:1、Register already defined 汇编内部出现逻辑错误2、Unknown symbol type 在符号语句的类型中,有些不能识别的东西3、Symbol is multi-defined 重复定义一个符号4、Symbol not defined 符号没有定义5、Syntax error 语句的语法与任何可识别的语法不匹配6、Symbol is reserved word 企图非法使用一个汇编程序的保留字(例:定义add为一变量)7、Not proper align/combine type SEGMENT参数不正确8、One operand must be const 这是加法指令的非法使用9、Operands must be same or 1 abs 这是减法指令的非法使用10、Already have base register 试图重复基地址11、Illegal size for item 引用的项的长度是非法的,(如:双字移位)12、Illegal register value 指定的寄存器值不能放入“reg” 字段13、Must be AX or AL 某些指令只能用AX或AL14、Improper use of segment reg 段寄存器使用不合法(如:mov ds,0)15、Division by 0 or overflow 给出一个用0作除数的表达式16、value is out of range 数值大于需要使用的17、CS register illeal usage 试图非法使用CS寄存器18、DUP is too large for linkerDUP嵌套太长,以至于从连接程序不能得到所要的记录 C:连接过程在程序中我们没有定义堆栈段,所以在连接的时候会提示没有堆栈段,但是不影响我们使用堆栈,如果你没有定义,系统会自动生成一个堆栈段在连接的时候需要哪些库文件生成的地图文件可以不用后缀名经过连接之后,又生成了HB。EXE OO。MAPD:运行 输入HB 就可以了啊运行结果E:调试过程在dos中,命令提示符为 看清楚了啊在DEBUG中,命令提示符为_必须有后缀名 基本的DEBUG命令:(注:在指令中用 括起来的内容可缺省)1)D(Dump)显示指定内存单元内容(一般用来看数据数的内容,即DS段):格式:d地址 从地址指定的内存单元显示128个字节的内容地址缺省时,显示上一个DUMP命令后面的内容d 地址范围 显示指定范围内的内存内容。示例:-d100 显示从DS段100H开始的内容(以十六进制显示)2)E(Enter)修改存储单元内容(一般在DS段)格式:e 地址 数据 用给定的数据代替指定范围的存储单元内容e 地址 修改一个指定内存单元的内容示例:-e ds:200 djxFF00AA 就可将DS段从200开始至205的内容替换为64 6A 78 FF 00 AA3)G(GO)运行命令格式:-g =地址断点地址1 断点地址2 .断点地址10从指定地址开始执行程序(如地址缺省从当前CS:IP开始),运行至断点地址1停止,显示所有寄存器及标志位内容与下一条指令,如后面还有断点,可键入g,继续执行。示例:-g001a 则执行从当前cs:ip至001a的指令注意:地址设置必须从指令的第一字节设起4)T(Trace)执行一条语句格式: -t =地址 从指定地址起执行一条语句后停下来,显示所有寄存器内容及标志位的值与下一条指令。如地址缺省则从当前CS:IP开始执行-t =地址value 从指定地址起执行value条指令后停止。5)P(proceed)执行一个循环;一个软中断或call子过程格式:-p =地址n示例: mov ah,02hmov dl,41hint 21h此时用: -p 回车后系统将显示一个字符A,如果在这不用P,而改用T,那么系统将进入INT 21H的中断调用中,出不来,这时你会误以为你的程序编错了,一定注意!6)R(register)显示并可修改寄存器内容格式:-r 显示所有寄存器内容-r 寄存器名 修改指定

温馨提示

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

评论

0/150

提交评论