收藏 分销(赏)

汇编实验指导.doc

上传人:xrp****65 文档编号:7041328 上传时间:2024-12-25 格式:DOC 页数:32 大小:767KB
下载 相关 举报
汇编实验指导.doc_第1页
第1页 / 共32页
汇编实验指导.doc_第2页
第2页 / 共32页
点击查看更多>>
资源描述
第一章 汇编语言程序设计过程 2 1-1 程序设计过程概述 2 一、源程序的编辑 2 二、源程序的汇编 2 三、链接 2 四、程序调试 2 1-2 汇编程序开发环境概述 3 一、集成环境 3 二、DOS环境 4 第二章 调试工具DEBUG 6 2-1 DEBUG程序的调用 6 2-2 DEBUG命令及使用方法 6 一、显示存储单元命令D(Dump) 6 二、修改存储单元内容命令E(Enter) 7 三、检查和修改寄存器内容命令R(Register) 8 四、汇编命令A(Assemble) 9 五、反汇编命令U(Unassemble) 9 六、运行命令G(Go) 10 七、跟踪命令T(Trace) 11 八、退出命令Q(Quit)。 11 九、其它命令 11 第三章 EDIT编辑器 13 一、DOS系统EDIT的基本使用方法 13 二、用EDIT建立源文件的推荐格式 17 三、WINDOWS下编辑源文件的方法 17 第四章 汇编程序MASM的使用方法 19 一、用MASM汇编源文件的一般格式 19 二、用MASM汇编源文件的推荐格式 20 第五章 链接程序LINK的使用方法 21 一、用LINK链接程序的一般格式 21 二、用LINK链接程序的推荐格式 21 第六章 集成开发环境使用方法 23 一、编辑源文件 23 二、汇编 24 三、链接 24 四、程序运行 24 第七章 BIOS中断和DOS功能调用 26 7-1 BIOS和DOS中断类型 26 7-2 DOS系统功能调用方法 27 一、DOS键盘功能调用 28 二、DOS显示功能调用 30 三、程序结束系统功能调用 32 第一章 汇编语言程序设计过程 本章介绍汇编语言程序设计的基本步骤,主要目的是了解汇编程序的开发过程,各步骤的详细介绍请参考有关章节。 1-1 程序设计过程概述 在学习了高级语言如C/C++程序设计后,程序员对程序的开发过程已经建立了清晰的程序设计步骤,即编辑、编译、链接、运行和调试。同样,在进行汇编语言程序设计开发时,也需要类似的步骤,图1.1给出了汇编语言程序设计的基本步骤。 文本编辑 (EDIT.COM) 创建源文件 (文件名.asm) 汇编程序 (MASM.EXE) 建立目标文件 (文件名.obj) 链接程序 (LINK.EXE) 形成可执行文件 (文件名.exe) 调试程序 (DEBUG.EXE) 得到应用程序 出错返回 出错返回 图1.1 汇编语言程序设计的过程 一、源程序的编辑 用户首先要用文本编辑器产生自己的汇编语言源程序(扩展名为ASM的文件),而汇编语言源程序就是用语句(MASM中可使用伪指令语句和指令性语句)编写的一种文本文件。而编辑文本文件的工具较多,如EDIT、Turbo C2.0、Windows记事本和MASM集成环境等。具体选择用那一种,按用户的习惯决定。 二、源程序的汇编 汇编语言源程序是不能为计算机直接识别的,所以用户要用汇编程序(如MASM.EXE)把源程序翻译成由机器代码构成的浮动目标文件(扩展名为OBJ的文件),目标文件虽然已经是二进制目标文件,但它还不能直接执行。 三、链接 用户程序要想成为可执行程序必须要经过链接程序(LINK.EXE)把目标文件与库文件合成一个可执行程序(扩展名为EXE或COM的文件),这个文件在DOS操作系统下只要输入文件名就可以执行。 四、程序调试 链接成功后的可执行文件虽说可以运行,但还不一定是用户所需的最终应用程序,当程序运行后出现诸如结果不对或是结果输出格式不妥等非语法错误时,这就需要程序员重新对自己的程序进行更加细致地分析和检查,找出原因并解决它。有时程序员还想进一步了解程序执行过程中的其它细节,诸如CPU寄存器内容的变化过程、堆栈变化过程、内存内容的变化过程等,这就需要借助调试工具来完成,也就是图1.1中程序设计过程的最后一步。汇编语言程序设计过程中常用的调试工具就是DEBUG。 以上过程中,当汇编或链接后出现错误提示时,程序员需要返回到最初的步骤即编辑状态下对源文件进行检查和修改,然后再逐步进行。 总结上述内容,汇编程序的开发过程可分为以下步骤: (1)用文本编辑器创建源文件(文件名.asm); (2)用汇编程序建立目标文件(文件名.obj); (3)用链接程序形成可执行文件(文件名.exe); (4) 在操作系统下直接执行或用DEBUG调试可执行文件。 1-2 汇编程序开发环境概述 前面我们已经简单地叙述了汇编语言程序从建立到执行的过程,要完成这一过程,在计算机系统中就要相应的环境或程序,DOS环境下一般要有编辑程序、汇编程序、链接程序和调试程序。基于Windows的开发环境多为集成开发工具,如VisualASM、WenMASM等。在实际开发应用中程序员可按照各自的条件灵活开发环境。以下简介两种开发环境的基本应用方法。 一、集成环境 用于汇编语言程序开发的集成环境种类较多,其共有的基本特点就是,开发过程的各步骤功能都基于同一平台下。图1.2给出了VisualASM的界面示例。 图1.2 VisualASM界面 图1.2是已打开源文件(Lei11.asm)的VisualASM界面示例。可见,VisualASM与Windows环境下的其它语言开发平台风格相似,对于使用过Windows环境下其它语言开发平台(如Visual C++6.0)的用户来说,其使用方法易于掌握。 二、DOS环境 在DOS环境下,要想完成汇编程序的开发过程,一般要有如下文件: ⑴文本编辑器 ⑵MASM.EXE ⑶LINK.EXE ⑷DEBUG.EXE 以下以使用编辑程序EDIT为例概述汇编程序的开发基本步骤。 1) 创建ASM文件 若用EDIT创建源程序,当用户源文件名为MOVES时,其DOS下的命令格式为: C:\>EDIT MOVES.ASM 8(回车) 这就可以在C盘根目录下,创建以MOVES.ASM为文件名的源文件。 用EDIT创建源文件的详细使用方法请参考第三章。 2) 用MASM程序产生OBJ文件 源文件创建后,就要用汇编程序对源文件进行汇编,汇编后产生二进制目标文件(OBJ文件),其操作与汇编程序回答如下: C:\>MASM MOVES 8(回车) Microsoft(R)Macro Assmbler Version 5.00 Copyright(C)Microsoft Corp l981--1985,1987.AH rights reserved. Object filename [moves.obj]: Source Listing [NUL.LST]: Croes referencs[NUL.CRF]: 0 Warning Errors 0 Severs Errors 这样汇编正确后产生的目标文件(moves.Obj),就保存在DOS的当前路径下。汇编程序的输入文件是ASM文件,按以上DOS命令格式进行时,其输出文件可以有三个,表示于回答的中间三行。第一个是OBJ文件.这是我们汇编的主要目的,这个文件我们是需要的对于[MOVES.OBJ]后的回答应按 “8 ”键,这样就在C盘根目录下建立了这一目标文件。第二个是LST文件,称为列表文件。这个文件同时列出源程序和机器语言程序清单,并给出符号表,因而可使程序调试更加方便。这个文件是可有可无的,如果不需要则对[ NUL.LST]后的回答应按 “8 ”键;如果需要这个文件,则可回答文件名,这里是MOVES。这样MOVES.LST就建立起来了。 汇编程序能提供的第三个文件是CRF文件,这个文件用来产生交叉引用表REF,对于一般程序不需要建立此文件,所以对于第三行的[NUL.CRF]用 “8 ”来回答,这样就完成了汇编过程。 以后用户若要用到LST文件和CRF文件,请参考汇编程序的相关资料。 3) 用LINK程序产生EXE文件 汇编程序已产生出二进制的目标文件(OBJ),但OBJ文件并不是可执行的文件,还必须使用链接程序(LINK)把OBJ文件转换为可执行的EXE文件。如果一个程序是由多个模块组成时,也应该通过LINK把它们链接在一起,操作方法及机器回答如下: C:\>LINK MOVES 8(回车) Microsoft(R) Overlay Linker Version 3.60 Microsoft(C) Microsoft Corp l983--1987.All rights reserved. Run File[MOVES.EXE]:8 List FILE[NUL.MAP]:MOVES 8 Libraries[.LIB]:8 LINK:warning L4021:No STACK segment There was 1 error detected. LINK程序有两个输入文件OBJ和LIB。OBJ是我们需要链接的目标文件,LIB则是程序中需要用到的库文件,如无特殊需要,则应对[LIB]回答 “8 ”。LINK程序有两个输出文件,一个是后缀为EXE的文件,这当然是我们需要的,应对[MOVES.EXE]:回答 “8 ”,这样就在在DOS的当前路径下上建立了该可执行文件。LINK的另一个输出文件为MAP文件,它是链接程序的列表文件,又称为链接映象(Link map),它给出每个段在存储器中的分配情况。下面给出了MOVES.MAP文件。 Warning :No STACK segment Start Stop Length Name C1ass 0000H 001DH 001EH CODE 0020H 0047H 0028H DATA 0050H 0077H 0028H EXTRA Origin Group Program entry point at 0000:0000 链接映象MOVES.MAP文件 链接程序给出的无堆栈段的警告性错误并不影响程序的执行,所以,到此为止,链接过程已经结束,可以执行MOVES程序了。 4) 程序的执行和调试 在建立了EXE文件后,就可以直接在DOS下执行程序,如下所示(假设MOVES. EXE就在C盘当前路径下): C:\>MOVES 8(回车) C:\> 程序运行结束并返回DOS。如果用户要想在计算机的显示器屏幕上显示相关的运行结果,那么程序中必须要有相关显示输出的指令,否则显示器屏幕上不会有运行结果。你怎么知道程序执行的结果是否正确呢?此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,特别是算法错误。那么又怎样来调试程序呢?这就要使用DEBUG程序。这里我们只介绍DEBUG的进入。要想对我们前面已建立的程序MOVES.EXE进行调试,就要先把它装入DEBUG,操作如下: C:\>DEBUG MOVES.EXE 8 ▬ DEBUG是以‘▬’ 作为提示符,‘▬’出现后表明用户已进入DEBUG。有关DEBUG的各种命令和使用方法请阅读第二章。 初学汇编语言程序设计的读者必须先学会DEBUG的使用。虽然一开始要花费一些时间去学习有关命令,但它在调试程序时对你的帮助将是很大的,特别是一些较大的程序没有DEBUG的帮助,调试将会是十分困难的。 注意:以上四步示例都是以所用工具在C盘根目录下为前提条件。 第二章 调试工具DEBUG DEBUG.EXE是DOS提供的用于调试可执行程序的工具软件,是汇编语言程序设计中常用的调试工具 。在DEBUG环境下,不但可以调试经汇编、链接后生成的可执行程序,也可以编写简单的程序 。在 DEBUG中,通过直接检查和修改内存单元及寄存器的内容,装入、存储及启动运行程序,使用户更加接近计算机的内部。熟悉掌握DEBUG调试命令的使用,还能为以后的软件开发工作带来更加灵活、方便的手段。 本章要点: D、E、R、A、U、T、G和Q命令必须熟练掌握,I、O、F、N、L和W等命令作为参考练习。 2-1 DEBUG程序的调用 在DOS的提示符下,可键入命令: C:\>DEBUG [X:][PATH][FILENAME[.EXT]][PARM1][PARM2] 其中: [X:]____________指定驱动器,任选项,例如:C:。 [PATH]__________为路径,任选项,例如:\USER。 [FILENAME]______为被调试文件的名字,任选项,例如:WANG。 [EXT]___________为扩展名,任选项,例如:EXE。 [PARM1][PARM2]__为运行被调试文件时所需要的命令参数,任选项。 如用户键入文件名,则DOS将指定的文件装入存储器中,用户即可对其进行调试。如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。 在DEBUG程序调人后,将出现提示符‘▬’,此时就可用DEBUG命令来调试程序。 注意:1. 推荐的DEBUG程序的调用格式为: C:\>DEBUG 文件名.EXE 8 ▬(DEBUG提示符) 这里调用文件是在C盘根目录下的。若用户EXE文件在其它路径下,文件名前要注明文件的路径。 2. 也可以不输入文件名而直接进入DEBUG进行一般的编程和调试,但退出或死机后再进入,则以前所做的一切均无效。DEBUG不能生成EXE文件。 3. DEBUG状态下显示的数后虽然没带‘H’,但系统均默认为16进制数。 2-2 DEBUG命令及使用方法 DEBUG提供了许多命令,如:D、E、R、A、U、G、T、Q、P、N、C、H、S、I、O、M、L、W、F等命令。课程中最常用到的是D、E、R、A、U、G、T、Q命令。 进入DEBUG后(以‘▬’提示), 就可在DEBUG提示符后输入命令。若命令或命令格式不符合DEBUG的规则,则提示出错信息“error”。 下面就常用命令的使用进行说明。 一、显示存储单元命令D(Dump) 命令格式:(1)、D[address] (2)、D[range] (3)、D 功能:显示存储单元内容。 其中: address为 段寄存器名:位移 段地址:位移 range范围是指<开始地址>到<终止地址>指定的连续单元。 格式(3)显示CS:100起始的80H字节的内容。 例如,按指定范围显示DS段100H~120H存储单元内容的方法为: ▬ D DS:100 120 8 18E4:0100 C7 06 04 02 38 01 C7 06-06 02 00 02 C7 06 08 02 G…8.G…..G.. 18E4:0110 02 02 BB 04 02 E8 02 00-CD 20 50 51 56 57 8B 37 …..h..MPQVW.7 18E4:0120 8B 见到的这些显示结果实际是由三部分内容构成: ⑴左边是逻辑地址,“:”号左边是当前DS段地址,“:”号右边的0100至0120是偏移地址、,范围为100H~120H。偏移地址对应的都是该行第一个单元。 ⑵中间是内存各单元里的内容,C7、06... 是用十六进制表示每个字节中的内容。 “-”只是中间隔离号。 ⑶右边是以ASCII字符表示的对应每个字节的内容,其中‘.’为不可显示字符。 若再用D命令显示DS段的内容,且只指定首地址,则显示DS段从指定首地址开始的80H(8行×16个=128)个字节的内容。如果不指定首地址,接着用D命令显示: ▬ D 8 则紧接着上次显示的后80H(128)个字节的内容。 若要显示其它段的内容,必须指定所在段的段地址或段寄存器名以及偏移地址。 注意:推荐的D命令格式为: ▬ D 段名:起始地址 8 如: ▬ D DS:100 8 就可显示DS段从100H 单元开始的128个字节的内容。 二、修改存储单元内容命令E(Enter) 命令格式:(1)、E [address] [list] (2)、E [address] 功能:(1)用给定的1ist内容表来替代指定范围的存储单元内容。 (2)从address开始逐个修改内存单元的内容,每键入一个修改内容之后,按<空格>键完成修改工作,直到新地址出现后按“8 ”结束E命令操作。 例如:▬ E DS:100 F3,’XYZ’,8D 8 其中F3、’X’、’Y’、’Z’和8D各占一个字节,该命令是用这五个字节来替代存储单元0100H到0104H的原先的内容。 注意:推荐的E命令格式为: ▬ E 段名:起始地址 8 例如:▬ E CS:100 8(假设CS=18E4,CS段的100H单元里的内容为89H) 则显示为:18E4:0100 89._ 如果需要把该单元的内容修改为7BH,则用户可以直接键入7B,再按“空格”键可接着显示下一个单元的内容,如下: 18E4:0100 89.7B 1B.… … 这里89为100H单元的原内容,7B为该单元修改后的内容,1B为101H单元的原内容。这样,用户可以连续修改相继单元的内容,直到用“8 ”键结束该命令为止。 三、检查和修改寄存器内容命令R(Register) 命令格式:(1) R (2) R [register name] (3) RF 格式(1)功能:显示CPU内所有寄存器内容、标志位状态以及将要执行的下条指 令的地址、代码及汇编形式等。 例如:▬ R 8 于是DEBUG显示如下内容: AX=0000 BX=0000 CX=010A DX=0000 SP=FFFF BP=0000 SI=0000 DI=0000 DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NC 18E4:0100 C70604023801 MOV WORD PTR[0204],0138 DS:0204=0000 其中DS、ES、SS和CS的内容均为18E4H,这些值若事先没进行专门设置的话,可认为是系统自行安排的默认值,各台机器可不相同。最后一行是当前IP所指的一条指令(可以是已存在的,或是由随机数翻译成的),本例中这行有四部分内容: ⑴逻辑地址(18E4:0100); ⑵一组机器代码(C70604023801); ⑶这组机器代码对应的指令(当前IP所指的指令:MOV WORD PTR[0204],0138); ⑷该条指令执行前,DS:0204所指的那个字的内容为0000(DS:0204=0000)。 不是每条指令都有⑷所对应的内容,只是与内存操作相关的指令有。 格式(2) 功能:显示和修改指定的寄存器内容 例如,▬ R AX 8 系统将响应如下: AX F1F4 . . . 即AX寄存器的当前内容为F1F4H,如不修改则按“8 ”键,否则,可键入欲修改的内容。 例如: ▬ R BX 8 系统将响应如下: BX 0369 如在后键入059F,则把BX寄存器的内容修改为059FH。 格式(3) 功能:显示和修改标志位状态。 例如:▬ RF 8 系统将响应:OV DN EI NG ZR AC PE CY-- 此时,如不修改其内容可按Enter键,否则,可键入欲修改的内容,如: OV DN EI NG ZR AC PE CY--PONZDINV…即可,可见键入的顺序可以是任意的。 注意:RF命令要慎重使用,无目的的修改会造成CPU状态的混乱! 对状态标志寄存器FLAG,其显示内容说明如下: 标志位 状态 显示形式 溢出标志OF 方向DF 中断IF 符号SF 零ZF 辅助进位AF 奇偶PF 进位CF 有/无 减/增 开/关 负/正 零/非零 有/无 偶/奇 有/无 OV/NV DN/UP EI/DI NG/PL ZR/NZ AC/NA PE/PO CY/NC 四、汇编命令A(Assemble) 命令格式:(1) ▬ A[address] (2) ▬ A 其中 address 为 “段寄存器名:位移地址”或“段地址:位移地址” 功能:该命令许键入汇编语言语句,并能把它汇编成机器代码,相继地存放到指定地址开始的存储区中。 A命令隐含CS段,即A命令后可不用指定段名。 推荐格式: ▬ A 开始地址 8 即在CS段里,从“开始地址”起,用户自行输入自己的指令。 例如: ▬ A 100 8 18E4:0100 PUSH DS 8 18E4:0101 XOR AX, AX 8 18E4:0103 PUSH AX 8 . . . 这就是从CS:0100H单元开始输入汇编指令。每条指令输完后按 “8 ”键,显示下条要输入的指令的起始逻辑地址,且等待再输入指令。若要结束输入指令再按“8 ”键,就跳出A命令,显示“-”。 注意:因为在DEBUG中把键入的数字均当作十六进制数,所以,如要键入其它进制数,则其后应加以说明,如十进制数:100D。 五、反汇编命令U(Unassemble) 命令格式:格式(1) ▬ U 格式(2) ▬ U[address] 格式(3) ▬ U[range] 其中:address为段地址寄存器名:位移或为段地址:位移,一般指代码段寄存器或代码段基地址,此时,只添写位移量即可。 range是指反汇编的范围。 功能:从指定地址开始,反汇编32个字节,既将机器码翻译成汇编语句。如果address被省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。格式(3)U[range]对指定范围内的存储单元进行反汇编。 下例为调入程序EXP5.EXE后,不同格式U命令的使用: C:\>DEBUG EXP5.EXE 8 ▬ U 8 18E4:0000 1E PUSH DS IlE4:0001 33C0 XOR AX,AX 18E4:0003 50 PUSH AX E8E4:0004 B88AOB MOV AX,OB8A E8E4:0007 8ED8 MOV DS,AX 18E4:0009 890000 MOV CX,0000 18E4:000C 8BlE0000 MOV BX,[0000] 18E4:0010 8B07 MOV AX,[BX] 18E4:0012 A9FFFF TEST AX,FFFF 18E4:0015 7407 JZ 001E 18E4:0017 7901 JNZ 001A 18E4:0019 41 INC CX 18E4:001A D7E0 SHL AX,1 18E4:001C EBF4 JMP 0012 18E4:001E 890E0400 MOV [0004],CX ▬ U 8 18E4:0022 … . . . ( 对指定范围内的存储单元进行反汇编:) ▬ U 100 10C 8 18E4:0100 C70604023801 MOV WORD PTR[0204],0138 18E4:0106 C70606020002 MOV WORD PTR[0206],0200 18E4:010C C70608020202 MOV WORD PTR[0208],0202 最后用的U命令是把以0100、0106和010CH单元为首地址的三条指令反汇编。以上各段例子中的左边部分为逻辑地址,中间加黑部分为指令反汇编后对应的机器码,右边部分为汇编指令助记符。 注意:1. U命令隐含CS段。 2.推荐使用的U命令格式为: ▬ U 开始地址 8 3.用U命令可以非常方便地查看用户的程序段在CS段中的位置和占据内存的大小。如上例后三条指令构成的程序段,其位置是:18E4:100H~111H,占据内存的大小为:18个字节。 六、运行命令G(Go) 命令格式:(1) ▬ G   (2) ▬ G=[address]   (3) ▬ G=[address][[break point1][,break point2]...] 其中,address为指定的运行的起始地址,如不指定则从当前的CS:IP开始运行。 break point1、break point2...等为断点地址。 功能:格式(1)从当前的CS:IP指示的地址开始运行。 格式(2)从address指示的地址开始运行。 格式(3)从address指示的地址开始运行,当指令执行到breakpoint断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的T指令。 例如:▬ G 8 指定程序从当前的CS:IP开始运行。 例如:▬ G = CS:100,10F 8 指定程序从当前的CS:0100H开始运行,运行到 010FH处中断。 注意:1. G命令隐含CS段。 2.推荐使用的G命令格式为: ▬ G = 开始地址,结束地址 8 开始地址___要执行的程序段开始执行处那条指令的首地址。 结束地址___要执行的程序段最后一条指令的下条某指令的首地址。 3.一般情况下使用G命令时,“结束地址”不能省略,且该地址要为某条指令的首地址。否则易造成死机现象。 4. 使用G命令时,与U命令配合使用可方便、准确地确定开始地址和结束地址。 七、跟踪命令T(Trace) 有两种格式,形式如下: 格式(1) ▬ T[=address] 格式(2) ▬ T[;address][Value] 功能:格式(1) 逐条指令跟踪。该命令从指定地址起执行,执行一条指令后停下来,显示所有寄存器内容及标志位的值,如:▬ T=100 8 。若没有指定地址则从当前的CS:IP开始执行。 格式(2) 多条指令跟踪。该命令从指定地址起执行,执行n条指令后停下来,n由value指定。 注意:1. T命令隐含CS段。 2.推荐使用的单步跟踪T命令格式为: ▬ T = 开始地址 8 . . . ▬ T 8 . . . 其中:开始地址——要执行的那条指令的起始地址。 当第一条带开始地址的T命令执行后,接着逐条执行T命令时,以后的T命令可不再带起始地址。这是因为IP总是指向下一条将要执行的指令。 八、退出命令Q(Quit)。 命令格式为:▬ Q 8 功能:退出DEBUG,返回DOS。 本命令最简单,但因无存盘功能,退出DEBUG后,以前的调试内容和结果均不保存,如需存盘应先使用W命令。以下是我们课程中不常用的部分命令使用说明,供用户参考。 九、其它命令 以下简介DEBUG的其它部分命令,供读者参考使用。 输入命令I(Input) 命令格式:I 端口地址 功能:往指定端口输入一个字节并显示。 输出命令O(Output) 命令格式:O 端口地址 字节数据 功能:把一个字节数据输出到指定的端口。 填写内存命令F(Fill) 命令格式:F[range][list] 功能:将[1ist]单元内容表中的内容逐个填入指定的范围,单元内容表中的内容用完后重复使用。 例如:▬ F 04BA:0100 110 5F,’XYZ’,8D 8 将5F、'X'、'Y'、'Z'和8D填写到04BA:0100 ~ 0110单元中。如果[list]中的字节数超过指定的范围,则忽略超过的项;如果LIST中的字节数小于指定的范围,则重复使用LIST填入,直到填满指定的所有单元为止。 命名命令N(Name) 命令格式:N filespecs 其中filespecs文件标识符的格式可以是: [x:][path]filename[.ext] 功能:该命令把filespecs指定的文件标识符格式化在FCB文件控制块中,以便在其后用L或W命令把文件装入或存盘。 例如: ▬ N EXP5-3.EXE 8 ▬ L 8 于是把文件EXP5-3.EXE装入存储器。 装人命令L(Load) 有两种格式,形式如下: (1)、命令格式为:L[address[drive sector1 sector2]] 功能:把磁盘上指定扇区范围的内容装入到address地址开始的存储器中。 (2)、装入指定文件, 命令格式为:L[address] 功能:此命令装入FCB文件控制块中所指定的文件。如末指定地址,则从0100开始的存储区装入。 写命令W(Write) 有两种格式,形式如下: (1)、把数据写人磁盘的指定扇区。 命令格式为: ▬ W address drive sector1 sector2 (2)、把数据写入指定的文件中。 命令格式为: ▬ W[address] 此命令把指定的存储区中的数据写入由文件控制块所指定的文件中。如末指定地址则数据从CS:0100开始,要写入文件的字节数应先放人BX和CX中。 第三章 EDIT编辑器 本章详细介绍了DOS环境下全屏幕编辑器EDIT的具体使用方法。 计算机除了能够进行数字和数据处理外,它也擅长于管理文本,为此可使用许多不同的字处理程序.所有的这些字处理程序都包含一些标准的功能:创建文件、编辑文件和删除文件等,它们也应包括一些最基本的文本操作:插人、修改、删除字符.随着编辑器的进一步完善,它们还提供了一些更先进的功能,对已存在的文本中进行复制、移动、搜索。有些程序甚至还包括先进文档资料管理特性,例如留空,光标跳格控制、标题和脚注功能,以及具有多列的特性。 DOS包括一个称为EDIT的全屏幕编辑器,它的功能在所有字处理软件中居中,因为它没有提供页处理和排版控制(例如留空,标题,分列等)功能,它主要用于那些不需要这些功能的任务中。 EDIT程序是一个用于建立与修改文本文件的全屏幕菜单控制的编辑器,你可以用它来创建任何文本类的数据文件,包括可用于其它应用程序的信息文件。在DOS中,EDIT程序主要有两个方面的用途,第一为你创建多种类型的源程序或源文件,第二创建批文件,以便有助于配置你的DOS系统。 本章解释应如何启动EDIT程序,你将学会如何创建新的文本文件及其如何输入文本。然后将学习大多数重要的文本编辑技术,这些技术包括最普通的插入新文本、修改已存在的文本、删除不再需要的文本等技术。另外,还可以学习一些更复杂的技术:如移动、复制、搜索和替换文本等。 一、DOS系统EDIT的基本使用方法 在MS-DOS提示符下只键入EDIT,“回车”进入后在其它步骤里再起文件名。进入格式如下: C:\>EDIT 8 (或D:\USER>EDIT 8 ____某些机器开始默认的路径。) 1、显示 当键入EDIT命令再“8 ”后,在屏幕上显示EDIT的一个菜单,在屏幕中央有一个对话窗口,窗口显示如下: File Edit Search Option Help Welcom to the MS-DOS Editor Copyright (C) Microsoft Corporation,1997-1992. All rights reserved < Press Enter to see Survival Guide > < Press ESC to clear this Dialog box > 中间对话窗口告诉你:如果想阅览“服务指南”就要按“8 ”键,如果想输入程序或文本就按“ESC”键(在键盘的左上角)。现在按“ESC”键,即可创建新文件,屏幕中央的对话框消去,进入编辑状态即可输入程序。如果在对话框下选择了阅览“服务指南”,想要返回编辑状态,请按“ESC”键。 当进入编辑状时.此时屏幕显示如下: File Edit Search Option Help 注意:此时,在菜单条下面的标题行显示“Untitled”,这表明还没有指定文件名,以后要将文本以文件形式存人磁盘时,必须要指定一个文件名,这一工作将会在下面学习到。 2、功能键 当进入编辑状态时即可在空白区输入程序或文本,在编辑程序时可能要使用控制光标键以及删除文本键,将光标移到希望的位置,或对错误地方进行修改。各键功能列表如下: 1) 控制光标移动键: 按键 功能 <←> 光标左移一个字符 <→> 光标右移一个字符 <↑> 光标上移一行 <↓> 光标下移一行 <Tab> 光标后移8个字符 <Home> 光标移向行首 <End> 光标移向行尾 <Ctrl><Home> 光标移向文本首行 <Ctrl><end> 光标移向文本末行 以上操作也可用鼠标完成。 2) 文本修改键: 按键 功能 <DeL> 删除光标处的字符 <BacksPace> 删除光标左边的字符 <Ctrl><T> 删除光标所在的字 <Ctrl><Y> 删除光标所在的行 <Ctrl><Q><Y> 删除从当前光标到行尾之间的所有字符 <Shift><Del> 剪切被选中的文本 3、使用file下拉菜单 当你调入EDIT后,在屏幕上方有一EDIT提示,显示有file、Edit、Search、Optio
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服