汇编语言上机练习(共6页)_第1页
汇编语言上机练习(共6页)_第2页
汇编语言上机练习(共6页)_第3页
汇编语言上机练习(共6页)_第4页
汇编语言上机练习(共6页)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE PAGE 9汇编语言(hu bin y yn)上机操作DOS的基本操作命令(mng lng)显示磁盘(c pn)文件目录命令 DIR格式:DIR 盘符:路径文件名扩展名/P/W/A:attrib/O:order/S/B/L/P:显示一屏后暂停,敲任一键继续/W:横向显示文件目录,每行显示5个文件名/A:attrib:显示指定属性的目录名和文件/O:order:以某种排序显示目录/S:在所有目录中搜索指定的文件并显示目录及文件名/B:仅列出文件名及扩展名,不显示文件长度、日期、时间/L:以小写字母显示文件及目录名建立子目录命令 MD 45上机步骤汇编语言的工作环境要进行汇编语言的编辑和

2、运行,需要以下工作环境:编辑程序,如EDIT.EXE、WORD、写字板汇编程序,如MASM.EXE连接程序,如LINK.EXE调试程序,如DEBUG.EXE汇编语言上机过程编辑源程序可用编辑程序编辑源程序,程序的扩展名为:.ASM。如:XYZ.ASM汇编源程序使用汇编程序将源程序翻译成机器语言的目标程序。目前使用最多的汇编程序是宏汇编程序MASM程序, 使用MASM的格式:MASM *.ASM经MASM汇编后的源程序可能产生三个程序文件:目标程序文件*.OBJ、列表文件*.LST、交叉引用文件*.CRF。目标程序文件(.OBJ):是一个二进制代码文件,不能用DOS在屏幕上直接显示,也不能被计算

3、机直接执行。列表文件(.LST):列出了源程序中的各个语句及对应的目标代码,各语句所属段内的偏移地址,使用的段名、段长度和属性,使用的标号、变量和符号的名字、类型和值。交叉引用文件(.CRF):为建立交叉引用表而生成的,交叉引用表给出了源程序中定义的所有符号(段名、变量名、标号等),对于每个符号列出了其定义的所在行和引用行好的情况,并按字母顺序排列。使用交叉引用表,需要调用CREF.EXE程序。格式:CREF 文件名连接(linji)程序格式(g shi):LINKd:pathfilename1+filename2+filename3+作用:把目标程序文件(wnjin)转换成重定位的可执行文件

4、(*.EXE)。当一个程序由多个程序模块组成时,连接程序将它们连接在一起,生成可执行文件。连接程序可产生两个文件:可执行文件*.EXE、,内存映象文件*.MAP。如果程序由多个模块组成,如有三个源文件A1、A2、A3,则应先将它们分别汇编,汇编无语法错误后,用“+”连接起来,生成一个可执行文件,第一个目标程序文件的主名作为可执行程序文件的主名。结果:LINK A1+A2+A3可执行程序文件(*.EXE)内存映象文件(*.MAP):列出各段在内存中的分配情况,主要有各段名字、起点、终点、长度等信息。调试程序DEBUG调试程序DEBUG用于在DOS下调试一个可执行文件(*.EXE、*.COM),主

5、要是汇编语言程序。DEBUG的功能:可调试程序,建立、修改运行汇编语言程序。调用格式:DEBUG 文件名DEBUG的命令,DEBUG共有19条命令,命令不分大小写显示命令D(Dump)格式: D地址 ;显示当前或指定开始地址的主存内容 D范围 ;显示指定范围的主存内容显示的内容:左边主存逻辑地址,中间是连续的16个字节(16进制数,以字节为单位),右边是这16个字节内容的ASCII字符显示,不能显示的用“.”表示,一个D命令只能显示“8行*16个字节”的内容。【例】-D 100 ;显示数据段100H开始的主存单元 -D CS:0 ;显示代码段的主存单元-D2F0 L20 ;显示DS:2F0H开

6、始的20H个主存单数据-D DS:200;表示从(DS)+200H开始显示80H个字节单元的内容-D DS:200220;表示从(DS)+200H开始显示20H个字节单元的内容。修改命令E(Enter)有两种格式:E 地址 内容表 ;用内容表的数据代替指定地址范围内的内存单元内容。【例】-E DS:100 8DABCD;用8D/A/B/C/D这5数依次代替以DS:100开始的连续5个字节单元的内容E 地址 ;修改指定地址的内容【例】-E DS:100 ;先显示DS:100原先的内容,然后修改反汇编命令U(Unassemble)反汇编将目标代码还原成源程序的符号的操作过程。功能:目标代码反汇编后

7、除显示源程序的符号指令(zhlng)外,还能显示每条指令的物理地址,这些地址可为G命令中设置断点地址提供方便。格式(g shi):U 地址(dzh) ;从指定的地址开始显示32个字节目标代码的源程序符号指令,若地址被省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节所对应的符号指令U 地址范围 ;在指定的地址范围内进行反汇编,或指定起始地址和长度从左到右,依次为:段地址:偏移地址 机器语言指令 汇编语言指令【例】-U CS:0;显示CS指向的段前32个字节目标代码的符号指令-U CS:10 20;显示偏移地址为10H到20H范围内的目标代码的符号指令如果没有指定地址,则接着上一

8、个U的最后一个单元开始;若还没有使用U,则从当前CS:IP开始。【例】-U显示:14C7:0000 B8CD12 MOV AX,12CD14C7:0000 ;主存逻辑地址B8CD12 ;该指令的机器代码MOV AX,12CD ;对应指令的汇编格式寄存器命令R(Register)格式:R;显示所有寄存器内容和标志位状态R 寄存器名;显示、修改指定寄存器 RF;显示、修改标志位“:”后可输入新数据汇编命令A(Assemble)格式:A地址 功能:从内存指定地址开始输入汇编指令,并汇编成机器码存放在由指定地址开始的内存单元中。DEBUG能检查出输入的错误,并重新显示现行的汇编地址,等待新的输入。注意

9、:A命令中不允许伪指令、宏指令、变量、标号;输入数据用16进制数表示;存储单元的地址放在 中,否则认为是立即数;远返回的助记符是RETF。运行命令G(GO)格式: G=其始地址G=起始地址 断点地址1,断点地址2,断点地址N ;显示当前或指定开始地址的主存内容功能:从起始地址开始执行程序,执行到指定断点时停止,并显示所有寄存器和标志位的值,同时指出下一条要执行的指令地址和指令。未指定地址,从CS:IP开始执行。【例】-G=0 08 ;执行程序,到08处停止注意(zh y):最多10个断点(dun din);起始地址必须(bx)指向真正的程序指令,否则会出现不可预料的结果;堆栈要包含至少6个可供

10、G使用的字节,否则会出现不可预料的结果;单步跟踪命令T(Trace)格式:T = 起始地址T = 起始地址 指令条数从起始地址开始,逐条跟踪指令执行,有指令条数,则执行完指定条数后停止,无指令条数,则执行完一条后停止。并显示所有寄存器和标志位的值。最后一行给出下一条将要执行的地址、机器语言、汇编语言。T不能跟踪ODS、BIOS中断。未指定地址,从当前CS:IP开始执行,或接上条T命令的下条指令执行。【例】-T=4 3 ;从CS:0004开始连续执行3条指令。软中断跟踪命令P(Proceed)格式:P= 起始地址P = 起始地址 指令条数从起始地址开始,逐条跟踪指令执行,遇到INT *H后指令停

11、下,不会跟踪进入中断处理程序。能够一次执行完中断处理程序、子程序、循环指令、重复串指令后(T进入),停在一条指令上。填充命令F(Fill)格式:F 起始地址 终止地址 值表 F 起始地址 L字节数 值表功能:把值表的各项字节数据填充到指定反问的内存单元中。若值表数据少于指定字节单元时,则重复使用值表内容,直到添满。起始地址只含偏移地址时,默认DS段。【例】-F1542: 0100 0106 1,2,3,4,ABCDEF ;D被忽略 -FDS: 0000 002F 1,2,3,4,ABCD注意:字符数据必须用括起来,每个字符占一个字节并以ASCII显示。退出命令Q(Quit)命名命令N(Name

12、)格式:N 磁盘符:路径文件名1,磁盘符:路径文件名2功能:把一个或两个文件标识符存入DEBUG的文件控制块FCB中(在CS:81H开始的缓冲区中,CS:80H存放输入字符的个数),以便其后L、W把文件装入或存盘。读磁盘命令L(Load)格式:L地址L地址 驱动器号 扇区号 扇区数功能:把磁盘上指定的内容装入到指定内存地址。 装入已经在FCB中的文件说明:驱动器号:0(A盘)、1(B盘)、2(C盘)BX、CX包含装入的文件的字节数。若该文件有扩展名*.EXE,BX、CX中包含文件的实际(shj)长度,BX是高位。【例】读磁盘(c pn)文件ADD.EXE-NADD.EXE-L-RCX;查看文件

13、(wnjin)长度写磁盘命令W(Write)格式:W地址 ;将由N命令指定的文件写入磁盘。未指定地址从CS:100开始 W地址 驱动器 扇区号 扇区数 ;把数据写入指定磁盘扇区范围内。【例】把由CS:000AH开始的数据写入B驱起始扇区号为100H的连续12(0CH)个扇区中-W 000A 1 100CI命令格式:I 外部端口地址 ;从指定外部端口读数据并显示【例】-I 2F6 ;从外部端口2F6H读数据O命令格式:O 端口地址 字节数据 ;向指定端口输出一个字节数据【例】-O 3F8 2 ;把02H送端口3F8H传送命令M(Move)格式:M 起始地址 结束地址 目的地址 M 起始地址 L字

14、节数 目的地址功能:把指定内存区域的内容送到另一个区域。若起始地址只含偏移地址,默认DS,目的地址只含偏移地址。【例】把ADD.EXE传送到CS:100H区域DEBUG ADD.EXE-U-MCS:0 LB 100显示传送结果:-UCS:100LB查找命令S(Search)格式:S 起始地址 结束地址 值表 S 起始地址 L字节数 值表功能:把指定内存区域的查找值表的字符(串)。若查找到,显示找到的单元地址,否则无。S只含偏移地址时,默认DS。【例】设内存DS:0开始设有1,2,3,A,B,C重复数据共有21个,查A、F-SDS:0L2F A-SDS:0L2FF F 比较命令C(Compare)格式:C 起始地址 结束地址 目的地址 C 起始地址 L字节数 目的地址功能:比较两个数据块的内容。若比较出不同的字节,则在不同的字节两侧显示他们的地址(dzh)。若起始地址只含偏移地址,默认DS,目的地址只含偏移地址。【例】把ES:0开始4个字节(z ji)与从DS:0

温馨提示

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

评论

0/150

提交评论