2022年2022年汇编语言程序设计实验指导书 .pdf
《2022年2022年汇编语言程序设计实验指导书 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言程序设计实验指导书 .pdf(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 广东外语外贸大学汇编语言程序设计实验指导书信息科学技术学院二 OO 七年九月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 47 页 - - - - - - - - - 2 汇编语言程序设计实验指导讲义目录序言 IBM PC汇编语言实践操作 , 1实验一 DOS常用命令及8088 指令使用 . 8 实验二内存操作数及寻址方法 . 11 实验三数据串传送和查表程序 . 13 实验四屏幕字符显示程序 . 15 实验五条件转移指令 . 17 实验六汇编语言程序上机过程 .
2、20 实验七分支程序 . 22 实验八多重循环程序 . 24 实验九子程序 . 25 实验十音乐程序 . 28 实验十一数码转换程序 . 30 实验十二键盘和窗口程序 . 33 实验十三活动图形显示程序 . 35 实验十四磁盘文件操作程序 . 38 实验十五绝对磁盘读写程序 . 44 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 47 页 - - - - - - - - - 3 IBM PC 汇编语言实践操作本章主要介绍了汇编语言源程序的编辑、汇编、 连接的方法, DE
3、BUG 调试命令及其使用方法一、编辑源程序汇编语言源程序:用汇编语句编写的解决应用问题的程序。汇编程序:将汇编语言源程序翻译成机器语言程序的系统。汇编:将汇编语言程序翻译成机器语言程序的过程。在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII 码文本文件的软件即可。(1)编辑软件行编辑软件: EDLIN.COM 全屏编辑软件:WPS、EDIT.COM 、NE.COM 、WORD 、PE 等。当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM 。(2)汇编程序有汇编 ASM.EXE 、宏汇
4、编MASM.EXE及 TASM 等,一般使用宏汇编MASM.EXE ,因它比 ASM.EXE 功能强。 TASM 适用于 8086/8088Pentium 系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。(3)连接程序用连接程序LINK.EXE或 TLINK.EXE ,将 MASM.EXE产生的机器代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比 LINK 更先进。(4)辅助工具程序(.EXE)进行汇编语言程序调试和文件格式转换的程序有:DEBUG.COM 动态调试程序EXE2BIN.EXE 文件格式转换程序CREF.EXE 交叉引用程序编辑、汇编、连接、调试过程如图1.
5、1 所示。TD(turbo Debugger 简称)也是动态调试程序,可在DOS 和 Windows 环境下运行,用户界面十分友好。二、 汇编源程序用编辑软件建立的源程序.ASM文件,必须经过汇编才能产生.OBJ 文件。为此,需键入:C:MASM 或C:MASM 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 47 页 - - - - - - - - - 4 按前一种格式键入,屏幕上显示:Microsoft(R) Macro assemble Version 5.00 C
6、opyright(C) Microsoft Corp 1981-1985,1987 ALL rights reserved OBJ filename.obj: Source listingnul.lst: Cross-referencenul.crf: 以上信息中方括中为该项提示的缺省回答值,冒号后面等待用户输入信息,若不改变缺省值则直接按回车键。汇编后生成以下几个文件:(1).OBJ 文件.OBJ 文件是必须生成的一个目标代码文件,当源程序中无语法错误时,则在当前工作盘上自动存入一个.OBJ 文件,供下一步连接用。若源程序有语法错误时,会出现错误信息提示:源程序文件行错误信息代码错误说明信息
7、最后信息提示: Warning errors (警告错误) Severe errors (严重错误)若严重错误总数不为0,则 .OBJ 文件没有生成,需回到编辑状态下修改源程序直到无错为止。(2).LST 文件(列表文件).LST 文件对调试程序有帮助,它是将源程序中各语句及其对应的目标代码和符号表以清单方式列出,如果需要,在屏幕显示的第二个提问的冒号后输入文件名即可,如果不需要,直接按回车键。(3).CRF 文件(交叉引用文件)交叉引用 .CRF 文件给出了源程序中定义的符号引用情况,按字母顺序排列。.CRF 文件不可显示,须用CREF.EXE 系统程序将 .CRF 文件转换成为.REF 文
8、件后方可显示输出。若按后一种格式输入,系统会依次出现四个提示信息,比第一种格式多了一项源程序文件名的输入。应答方式与第一种格式相同。三、 连接目标程序汇编后生成的.OBJ 文件,其所有目标代码的地址都是浮动的偏移地址,机器不能直接运行。必须用连接程序(LINK.EXE )对其进行连接装配定位,产生.EXE可执行文件,方可运行。在系统提示符下键入:LINK 或 LINK 屏幕上出现以下提示信息:Microsoft(R) Macro assemble Version 5.00 Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reserve
9、d Run file .EXE: List File nul.map: Libraries .lib: 连接后,可生成两种文件:.EXE 和.MAP (1).EXE 文件(可执行文件)若采用方括号中的默认值,直接按回车键,否则需重新输入一文件名。若连接过程中无错误,则自动在当前工作盘生成.EXE 文件。若有错误,则会给出错误信息提示,这时必须重新修改源程序,再汇编、连接。(2).MAP (连接映像文件)(3).LIB 库文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共
10、47 页 - - - - - - - - - 5 连接程序询问是否使用某种库文件,不需使用库文件直接按回车键。(4)若要连接多个模块目标程序,可用“+”把它们连接起来。如: LINK files1+files2+files3 若直接键入: LINK 会依次出现四个提示信息,应答方式应与LINK相同,仅增加了一项输出,询问被连接的目标文件名字:Object Modeules.OBJ :格式: LINK ; 多了一个分号,表示结束后续询问。四、 运行程序经过汇编、连接后生成的.EXE 文件,可在DOS 系统直接运行,只要键入相应的文件名即可。如: C:MASM DOS 的 COMMAND.COM模
11、块将该程序装配到内存,并设置和分配启动地址。也可在DEBUG 调试程序下运行。如何用 DEBUG 程序来运行和调试程序将在DEBUG 调试程序中详细讨论。五、 DEBUG 调试程序DEBUG.EXE 程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80X86CPU 的心灵窗口,也是我们学习汇编语言必须掌握的调试工具。 1)DEBUG 程序使用在 DOS 提示符下键入命令: CDEBUG 盘符: 路径 文件名 .EXE 参数 1 参数 2 这时屏幕上出
12、现DEBUG 的提示符“ - ” ,表示系统在DEBUG 管理之下,此时可以用DEBUG进行程序调试。若所有选项省略,仅把DEBUG 装入内存,可对当前内存中的内容进行调试,或者再用N和 L 命令,从指定盘上装入要调试的程序;若命令行中有文件名,则 DOS 把 DEBUG程序调入内存后,再由DEBUG 将指定的文件名装入内存。2)DEBUG 的常用命令(1)汇编命令A 格式: A 起始地址 功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省起始地址,则从当前CS:100 地址开始存放。A 命令按行汇编,主要是用于小段程序的汇编或对目标程序的修改。(2)反汇编命令U 格式 1
13、:U 起始地址 格式 2:U 起始地址 结束地址 |字节数 功能:格式1 从指定起始地址处开始将32 个字节的目标代码转换成汇编指令形式,缺省起始地址,则从当前地址CS:IP 开始。格式 2将指定范围的内存单元中的目标代码转换成汇编指令。( 3)显示、修改寄存器命令R 格式: R寄存器名 功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,则按以下格式显示所有寄存器的内容及当前值(不能修改)。AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000 DS=3000 ES=23A0 CS=138E IP=00
14、00 NV UP DI PL NZ NA PO NC 138E:0000 MOV AX,1234 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 47 页 - - - - - - - - - 6 -R AX ;输入命令AX 0014 ;显示 AX 的内容:;供修改,不修改按回车。若对标志寄存器进行修改,输入:-RF 屏幕显示如下信息,分别表示OF、DF、 IF、SF、ZF、AF、PF、CF 的状态。NV UP DI PL NZ NA PO NC 不修改按回车键。 要修改需
15、个别输入一个或多个此标志的相反值,再按回车键。 R 命令只能显示、修改16 位寄存器。(4)显示存储单元命令D 格式 1:D 起始地址 格式 2:D 起始地址 结束地址 |字节数 功能:格式1 从起始地址开始按十六进制显示80H 个单元的内容,每行16 个单元,共8 行,每行右边显示16 个单元的ASCII 码,不可显示的ASCII 码则显示“” 。格式 2 显示指定范围内存储单元的内容,其他显示方式与格式1 一样。如果缺省起始地址或地址范围,则从当前的地址开始按格式1 显示。例如:-D 200 ;表示从 DS:0200H 开始显示128 个单元内容-D 100 120 ;表示显示DS:010
16、0-DS:0120 单元的内容说明:在DEBUG 中,地址表示方式有如下形式:段寄存器名:相对地址,如:DS:100 段基值:偏移地址(相对地址),如: 23A0:1500 (5)修改存储单元命令E 格式 1:E起始地址 内容表 格式 2:E地址 功能:格式1 按内容表的内容修改从起始地址开始的多个存储单元内容,即用内容表指定的内容来代替存储单元当前内容。例如: E DS:0100 VAR 12 34 表示从 DS:0100 为起始单元的连续五个字节单元内容依次被修改为V、 A、R、12H、34H。格式 2 是逐个修改指定地址单元的当前内容。如: E DS:0010 156F:0010 41.
17、5F 其中 156F:0010 单元原来的值是41H, 5FH 为输入的修改值。 若只修改一个单元的内容,这时按回车键即可;若还想继续修改下一个单元内容,此时应按空格键,就显示下一个单元的内容,需修改就键入新的内容,不修改再按空格跳过,如此重复直到修改完毕,按回车键返回DEBUG “-”提示符。如果在修改过程中,将空格键换成按“-”键,则表示可以修改前一个单元的内容。(6)运行命令G 格式: G= 起始地址 第一断点地址第二断点地址 , 功能: CPU 从指定起始地址开始执行,依次在第一、第二等断点处中断。若缺省起始地址,则从当前CS:IP 指示地址开始执行一条指令。最多可设置10 个断点。(
18、7)跟踪命令T 格式: T起始地址 正整数 功能:从指定地址开始执行正整数条指令,若缺省正整数,表示执行一条指令,若两项都缺省,表示从当前CS:IP 指示地址开始执行一条指令。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 47 页 - - - - - - - - - 7 (8)指定文件命令N 格式: N 功能:指定即将调入内存或从内存写入磁盘的文件名。该命令应该用在L 命令和 W 命令之前。(9)装入命令L 格式 1:L 起始地址 盘符号 扇区号 扇区数 格式 2:L
19、起始地址 功能:格式1 根据盘符号,将指定扇区的内容装入到指定起始地址的存储区中。格式 2 将 N 命令指出的文件装入到指定起始地址的存储区中,若省略起始地址,则装入到 CS:100 处或按原来文件定位约定装入到相应位置。(10)写磁盘命令W 格式 1:W驱动器号 格式 2:W起始地址 功能:格式1 把指定地址开始的内容数据写到磁盘上指定的扇区中。格式 2 将起始地址的BX 10000H+CX 个字节内容存放到由N 命令指定的文件中。在格式 2 的 W 命令之前, 除用 N 命令指定存盘的文件名外,还必须将要写的字节数用R 命令送入 BX 和 CX 中。(11)退出命令Q 格式: Q 功能:退
20、出DEBUG ,返回到操作系统。以上介绍的是DEBUG 常用命令,其他命令请参考有关书籍。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 47 页 - - - - - - - - - 8 实验一 DOS常用命令及8088 指令使用实验目的 :通过实验掌握下列知识: 1、DOS 命令 : DIR,DEL,RENAME,FORMAT,COPY。2、8088指令 : MOV,ADD,ADC,SUB,SBB,DAA,XCHG 3、DEBUG 命令 : A,D,E,F,H,R,T,
21、U。4、BCD 码,ASCII 码及用 16进制数表示二进制码的方法。5、8088寄存器 : AX,BX,CX,DX,F,IP。内容及步骤 :一、 DOS 常用命令练习: 1、将机房提供的系统盘插入A驱动器中 , 开机 ,出现提示符后打入命令FORMAT B:/S。等屏幕上出现提示后将新盘插入B驱动器并打回车。PC 机即对新盘格式化并将糸统拷入。2、打命令 COPY A:* 。* B 将糸统盘上全部文件拷到你的盘上。3、将新盘插到 A驱动器中 , 用DIR命令查看盘上文件。4、用命令 COPY DEBUG 。COM BUG 复制一个文件。5、用命令 RENAME BUG BG 将BUG 文件改
22、为 BG 。6、用命令 DEL BG 将文件 BG 删除。在操作时要注意提示信息,并按提示操作。二、 DEBUG 命令使用 : 1、打 DEBUG 进入 DEBUG 控制 , 显示提示苻 _ 。2、用命令 F100 10F A 将 A 的 ASCII码填入内存。3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。4、用命令 F110 11F 41 重复上二项实验, 观察结果并比较。5、用命令 E100 30 31 32 , 3F 将30H-3FH写入地址为 100开始的内存单元中 , 再用 D命令观察结果, 看键入的 16进制数是什么字符的ASCII码? 6、用 H
23、命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH 7、用 R 命令检查各寄存器内容, 特别注意 AX,BX,CX,DX,IP 及标志位中 ZF,CF 和AF的内容。8、用 R命令将 AX,BX内容改写为 1050H及23A8H。三、 8088常用指令练习1、传送指令1) 用 A命令在内存 100H处键入下列内容: MOV AX,1234 MOV BX,5678 XCHG AX,BX MOV AH,35 MOV AL,48 MOV DX,75AB XCHG AX,DX
24、 2) 用 U命令检查键入的程序并记录, 特别注意左边的机器码。3) 用 T命令逐条运行这些指令, 每运行一行检查并记录有关寄存器及IP的变化情况。 并注意标志位有无变化。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 47 页 - - - - - - - - - 9 2、加减法指令: 1) 用 A命令在内存 100H处键入下列内容: MOV AH,34 MOV AL,22 ADD AL,AH SUB AL,78 MOV CX,1284 MOV DX,5678 ADD C
25、X,DX SUB CX,AX SUB CX,CX 2) 用 U命令检查键入的程序及对应的机器码。3) 用 T命令逐条运行这些指令, 检查并记录有关寄存器及ZF情况。思考 : 这次运行还是打入T, 行不行 ?怎么办 ?用R命令检查一下IP的内容。注意T命令与 IP的关系。3、带进位加减法: 1) 用 A命令在内存 200H处键入下列内容, 并用 U命令检查 : MOV AH,12 MOV AL,84 MOV CH,56 MOV CL,78 ADD AL,CL ADC AH,CH MOV DH,A7 MOV DL,58 SUB DL,7F SBB DH,34 2) 用 T命令逐条运行这些指令, 检
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年汇编语言程序设计实验指导书 2022 汇编语言 程序设计 实验 指导书
限制150内