欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年汇编语言程序设计实验指导书 .pdf

    • 资源ID:27190137       资源大小:320.53KB        全文页数:47页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年汇编语言程序设计实验指导书 .pdf

    1 广东外语外贸大学汇编语言程序设计实验指导书信息科学技术学院二 OO 七年九月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 47 页 - - - - - - - - - 2 汇编语言程序设计实验指导讲义目录序言 IBM PC汇编语言实践操作 , 1实验一 DOS常用命令及8088 指令使用 . 8 实验二内存操作数及寻址方法 . 11 实验三数据串传送和查表程序 . 13 实验四屏幕字符显示程序 . 15 实验五条件转移指令 . 17 实验六汇编语言程序上机过程 . 20 实验七分支程序 . 22 实验八多重循环程序 . 24 实验九子程序 . 25 实验十音乐程序 . 28 实验十一数码转换程序 . 30 实验十二键盘和窗口程序 . 33 实验十三活动图形显示程序 . 35 实验十四磁盘文件操作程序 . 38 实验十五绝对磁盘读写程序 . 44 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 47 页 - - - - - - - - - 3 IBM PC 汇编语言实践操作本章主要介绍了汇编语言源程序的编辑、汇编、 连接的方法, DEBUG 调试命令及其使用方法一、编辑源程序汇编语言源程序:用汇编语句编写的解决应用问题的程序。汇编程序:将汇编语言源程序翻译成机器语言程序的系统。汇编:将汇编语言程序翻译成机器语言程序的过程。在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII 码文本文件的软件即可。(1)编辑软件行编辑软件: EDLIN.COM 全屏编辑软件:WPS、EDIT.COM 、NE.COM 、WORD 、PE 等。当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM 。(2)汇编程序有汇编 ASM.EXE 、宏汇编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.1 所示。TD(turbo Debugger 简称)也是动态调试程序,可在DOS 和 Windows 环境下运行,用户界面十分友好。二、 汇编源程序用编辑软件建立的源程序.ASM文件,必须经过汇编才能产生.OBJ 文件。为此,需键入:C:MASM 或C:MASM 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 47 页 - - - - - - - - - 4 按前一种格式键入,屏幕上显示:Microsoft(R) Macro assemble Version 5.00 Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reserved OBJ filename.obj: Source listingnul.lst: Cross-referencenul.crf: 以上信息中方括中为该项提示的缺省回答值,冒号后面等待用户输入信息,若不改变缺省值则直接按回车键。汇编后生成以下几个文件:(1).OBJ 文件.OBJ 文件是必须生成的一个目标代码文件,当源程序中无语法错误时,则在当前工作盘上自动存入一个.OBJ 文件,供下一步连接用。若源程序有语法错误时,会出现错误信息提示:源程序文件行错误信息代码错误说明信息最后信息提示: Warning errors (警告错误) Severe errors (严重错误)若严重错误总数不为0,则 .OBJ 文件没有生成,需回到编辑状态下修改源程序直到无错为止。(2).LST 文件(列表文件).LST 文件对调试程序有帮助,它是将源程序中各语句及其对应的目标代码和符号表以清单方式列出,如果需要,在屏幕显示的第二个提问的冒号后输入文件名即可,如果不需要,直接按回车键。(3).CRF 文件(交叉引用文件)交叉引用 .CRF 文件给出了源程序中定义的符号引用情况,按字母顺序排列。.CRF 文件不可显示,须用CREF.EXE 系统程序将 .CRF 文件转换成为.REF 文件后方可显示输出。若按后一种格式输入,系统会依次出现四个提示信息,比第一种格式多了一项源程序文件名的输入。应答方式与第一种格式相同。三、 连接目标程序汇编后生成的.OBJ 文件,其所有目标代码的地址都是浮动的偏移地址,机器不能直接运行。必须用连接程序(LINK.EXE )对其进行连接装配定位,产生.EXE可执行文件,方可运行。在系统提示符下键入:LINK 或 LINK 屏幕上出现以下提示信息:Microsoft(R) Macro assemble Version 5.00 Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reserved Run file .EXE: List File nul.map: Libraries .lib: 连接后,可生成两种文件:.EXE 和.MAP (1).EXE 文件(可执行文件)若采用方括号中的默认值,直接按回车键,否则需重新输入一文件名。若连接过程中无错误,则自动在当前工作盘生成.EXE 文件。若有错误,则会给出错误信息提示,这时必须重新修改源程序,再汇编、连接。(2).MAP (连接映像文件)(3).LIB 库文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 47 页 - - - - - - - - - 5 连接程序询问是否使用某种库文件,不需使用库文件直接按回车键。(4)若要连接多个模块目标程序,可用“+”把它们连接起来。如: LINK files1+files2+files3 若直接键入: LINK 会依次出现四个提示信息,应答方式应与LINK相同,仅增加了一项输出,询问被连接的目标文件名字:Object Modeules.OBJ :格式: LINK ; 多了一个分号,表示结束后续询问。四、 运行程序经过汇编、连接后生成的.EXE 文件,可在DOS 系统直接运行,只要键入相应的文件名即可。如: C:MASM DOS 的 COMMAND.COM模块将该程序装配到内存,并设置和分配启动地址。也可在DEBUG 调试程序下运行。如何用 DEBUG 程序来运行和调试程序将在DEBUG 调试程序中详细讨论。五、 DEBUG 调试程序DEBUG.EXE 程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80X86CPU 的心灵窗口,也是我们学习汇编语言必须掌握的调试工具。 1)DEBUG 程序使用在 DOS 提示符下键入命令: CDEBUG 盘符: 路径 文件名 .EXE 参数 1 参数 2 这时屏幕上出现DEBUG 的提示符“ - ” ,表示系统在DEBUG 管理之下,此时可以用DEBUG进行程序调试。若所有选项省略,仅把DEBUG 装入内存,可对当前内存中的内容进行调试,或者再用N和 L 命令,从指定盘上装入要调试的程序;若命令行中有文件名,则 DOS 把 DEBUG程序调入内存后,再由DEBUG 将指定的文件名装入内存。2)DEBUG 的常用命令(1)汇编命令A 格式: A 起始地址 功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省起始地址,则从当前CS:100 地址开始存放。A 命令按行汇编,主要是用于小段程序的汇编或对目标程序的修改。(2)反汇编命令U 格式 1: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=0000 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 不修改按回车键。 要修改需个别输入一个或多个此标志的相反值,再按回车键。 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:0100-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.5F 其中 156F:0010 单元原来的值是41H, 5FH 为输入的修改值。 若只修改一个单元的内容,这时按回车键即可;若还想继续修改下一个单元内容,此时应按空格键,就显示下一个单元的内容,需修改就键入新的内容,不修改再按空格跳过,如此重复直到修改完毕,按回车键返回DEBUG “-”提示符。如果在修改过程中,将空格键换成按“-”键,则表示可以修改前一个单元的内容。(6)运行命令G 格式: G= 起始地址 第一断点地址第二断点地址 , 功能: CPU 从指定起始地址开始执行,依次在第一、第二等断点处中断。若缺省起始地址,则从当前CS:IP 指示地址开始执行一条指令。最多可设置10 个断点。(7)跟踪命令T 格式: T起始地址 正整数 功能:从指定地址开始执行正整数条指令,若缺省正整数,表示执行一条指令,若两项都缺省,表示从当前CS:IP 指示地址开始执行一条指令。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 47 页 - - - - - - - - - 7 (8)指定文件命令N 格式: N 功能:指定即将调入内存或从内存写入磁盘的文件名。该命令应该用在L 命令和 W 命令之前。(9)装入命令L 格式 1:L 起始地址 盘符号 扇区号 扇区数 格式 2:L 起始地址 功能:格式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 功能:退出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,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 文件改为 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命令检查下列各组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 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 CX,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命令逐条运行这些指令, 检查并记录有寄存器及CF 内容。3) 上面这段程序若改用16位操作指令达到同样结果, 怎么改 ?试修改并运行之。4、BCD 码加减法1) 内容 : MOV AL,58 ADD AL,25 DAA 2) 要求 : 用A 命令键入 ,U命令检查 ,T 命令逐条运行并记录有关寄存器及AF内容。实验报告要求:1、16进制数加减法手算结果及实验结果2、8088常用指令练习部分的逐条运行记录, 思考结果及自编程序运行记录 ( 列出自编程序) 。附:DEBUG 使用 : 1、打 DEBUG 进入 DEBUG, 显示提示苻 _ 。2、退出 DEBUG 命令 :Q 3、显示内存命令:D 起始地址结束地址4、修改内存命令:E 起始地址 , 连续修改打空格键。打回车键退出E命令。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 47 页 - - - - - - - - - 10 5、检查寄存器命令:R 标志位显示1 0 CF CY NC ZF ZR NZ SF NG PL AF AC NA OF OV NV PF PE PO DF DN UP IF EI DI 6、修改寄存器命令:R 寄存器名7、小汇编命令:A 起始地址 , 不输入指令打回车键退出A命令。8、反汇编命令:U 起始地址结束地址9、文件命名命令:N 盘号 :文件名10、读文件命令:L 内存地址11、写文件命令:W 内存地址10、读扇区命令:L 内存地址盘号 (0-A:,1-B:) 扇区号扇区数11、写扇区命令:W 内存地址盘号扇区号扇区数12、运行命令 :G=起始地址结束 ( 断点 ) 地址13、单步命令 :T= 起始地址运行指令数 , 进入子程序内部。14、单步命令 :P= 起始地址运行指令数 , 不进入子程序内部。15、内存搬家命令:M 起始地址结束地址目的地址名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 47 页 - - - - - - - - - 11 实验二内存操作数及寻址方法实验目的 : 通过实验掌握下列知识: 1、DEBUG 命令 :G,N,W,L 及Q 。2、8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。3、8088指令 :INC,DEC,LOOP,INT 3,INT 20H,寄存器 SI,DI 。4、8088汇编语言伪操作:BYTE PTR,WORD PTR 。5、求累加和程序和多字节加减法程序。实验内容和步骤:一、内存操作数及各种寻址方式使用: 内容 :MOV AX,1234 MOV 1000,AX MOV BX,1002 MOV BYTE PTRBX,20 MOV DL,39 INC BX MOV BX,DL DEC DL MOV SI,3 MOV BX+SI,DL MOV BX+SI+1,DL MOV WORD PTRBX+SI+2,2846 步骤 :1) 用 A命令键入上述程序, 并用 T命令逐条运行。2) 每运行一条有关内存操作数的指令, 要用 D命令检查并记录有关内存单元的内容并注明是什么寻址方式。注意 D命令显示结果中右边的ASCII 字符及双字节数存放法。思考 : 有关指令中 BYTE PTR 及WORD PTR伪操作不加行不行?试一试。二、求累加和程序: 程序 : MOV BX,1000 MOV CX,10 SUB AX,AX LOP: ADD AL,BX AD CAH,0 INC BX J: LOOP LOP INT3 步骤 :1) 用 A命令将程序键入到100H开始的内存中, 在键入时记下标号LOP 和J的实际地址 , 在键入LOOP 指令时 LOP 用实际地址值代替。2) 用命令 N AA将此程序命名为文件AA(文件名可任取) 。3) 用 R命令将 BX:CX改为程序长度值( 即最后一条指令后面的地址减去开名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 47 页 - - - - - - - - - 12 始地址 ) 4) 用命令 W 100将此程序存到 AA 命名的磁盘文件中。5) 用命令 Q 退出 DEBUG 。6) 用命令 DEBUG AA 再次调入 DEBUG 和文件 AA,可用 U命令检查调入程序。若调入 DEBUG 时忘了加 AA 文件名 , 可用 N 命令和 L命令将文件调入。7) 用 E命令在内存地址1000H处键入 16个数字8) 用命令 G=100 J(J 用实际地址代替), 使程序运行并停在断点J上, 检查AX,BX的值是否符合你的预计值。9) 用 T命令运行一步 , 观察程序方向(IP 值) 和CX 值是否与你的估计一样, 若不一样 ,检查程序是否有错。10) 重复 G J与T, 再检查 AX 是否正确。11) 用G命令使程序运行到结束, 检查 AX 值是否正确。三、多字节加法程序。程序 : MOV DI,1000 MOV CX,8 MOV SI,2000 CLC LOP: MOV AL,SI ADC DI,AL INC SI INC DI LOOP LOP INT 20 步骤 :1) 用命令键入此程序2) 用 E命令在 1000H开始处键入一个8字节被加数 , 在2000H开始处键入一个8字节加数 , 均为低字节在前面。3) 。用 G 命令运行此程序, 并用 D命令检查其结果(存放在哪里 ?), 是否正确 ? 4) 将 INT 20H 指令改为 INT 3, 有何区别 ?若这条指令不加, 行不行 ?试一试。四。自编程序: 用16位减法指令编一个32位(4字节 ) 数减法程序 ,两个源数及结果存放地址同上题。调试并做记录。实验报告要求: 1、各项实验结果记录。2、自编程序原稿及调试后修正稿, 写出原稿错在那里。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 47 页 - - - - - - - - - 13 实验三数据串传送和查表程序实验目的 : 通过实验掌握下列知识: 1、堆栈。堆栈指示器SP 和堆栈操作指令PUSH 。POP 。2、段寄存器和物理地址计算。3、查表法和查表指令XLAT 。4、数据串传送程序和数据串传送指令MOVS 。STOS 及重复前辍 REP 。5、循环指令 ROL 。逻辑与指令 AND 和清方向位指令CLD 。6、伪操作指令DB 。实验内容及步骤:一、利用查表方法把DX 的内容 (16 进制数 ) 转换成 ASCII码 : 1、用 A命令键入下列程序: MOV BX,1000 MOV DI,2000 MOV CX,4 LOP: PUSH CX MOV CL,4 ROL DX,CL POP CX MOV AL,DL AND AL,OF XLAT CLD STOSB LOOP LOP INT 20 2、用 A命令在 1000H处键入下列 ASCII码并用 D命令检查之 : DB 0 1 2 3 4 5 6 7 8 9 A B C D E F 用D命令检查时注意左边的ASCII 码值和右边的字符。3、用 R命令给 DX 送一个四位的 16进制数 ( 例 7F8E)。4、 用T命令逐条运行这程序到LOOP 指令处 , 观察并记录每次运行结果,特别是 SP 和堆栈内容( 用D命令检查 ) 5、用 G命令将此程序运行到结束, 并用 D命令检查 2000H处所转换的结果。可注意屏幕右边的 ASCII字符与 DX 是否一致。二、数据串搬家程序: 1、用 A命令键入下列程序: MOV SI,1000 MOV DI,1500 MOV CX,0F LOP: MOV AL,SI MOV DI,AL INC SI INC DI LOOP LOP 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 47 页 - - - - - - - - - 14 INT 20 2、用 A命令 DB 伪指令在 1000H键入下列字符串: IBM_PC COMPUTER 3、用 G命令运行此程序, 并用 D命令检查目的地址处的字符与源串是否一致。4、若此程序中的目的地址改为1002H,再运行此程序, 看能不能把 1000H开始的字符串搬到 1002H开始的地方去 ?修改程序以做到这一点。三、段寄存器概念及字符串传送指令练习: 1、用 A命令键入下列程序: MOV SI,0 MOV DI,0 MOV AX,1000 MOV DS,AX MOV AX,1500 MOV ES,AX MOV CX,0F CLD REP MOVSB INT 20 2、用 A命令 DB 伪指令在 1000:0000 处键入字符串 IBM_PC COMPUTER, 并用 D命检查之3、用 D命令检查 0F00:1000 处内容 , 看是否一样。为什么? 4、用 G命令运行此程序, 检查目的地址 1500:0000 处内容。并记下DS与ES 值。5、修改此程序, 使 ES 与DS 为同一值 , 以减少一条指令, 而源物理地址和目的物理地址( 是多少 ?) 仍和原来一样。实验报告要求:1、各项实验记录和思考题。2、要求你修改的程序的清单( 修改后 )和调试记录。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 47 页 - - - - - - - - - 15 实验四屏幕字符显示程序实验目的 :通过实验掌握下列知识: 1、8088指令 : JMP,ROR,XOR,HLT。2、利用 DOS 功能调用 INT21H的2号和 9号功能进行屏幕显示的方法。3、直接向视频RAM(VRAM) 送ASCII码进行屏幕显示的方法。4、IBM-PC机的 ASCII码表及控制字符。5、命令 ( 。COM) 文件及使用方法。6、利用 Break 退出程序的方法及局限性。实验内容及步骤:一、利用 INT 21 0AH 号功能调用显示字符串。1、用 A命令在 100H处键入下列程序: MOV AH, 9 MOV DX,110 INT 21 INT 20 2、用 A命令在 110H处键入下列字符串的ASCII 码: DB This is a sample!$ 3、用 N命令和 W 命令将此程序( 包括数据区 ) 存入文件名为AA 。COM 的磁盘文件中。( 存入前BX:CX必须置为文件长度值) 。4、用 Q命令退出 DEBUG 。5、在 DOS 命令下打 AA,运行此程序 , 即在屏幕上显示This is a sample!字符串 , 若不出现, 用DEBUG 检查程序有无错误。二、利用 INT 21H 2 号功能显示字符: 1、用 A命令在 100H处键入下列程序: XOR DL,DL MOVCX,100 LOP:MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,0 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20 2、用G 命令运行程序 , 即在屏幕上依次缓慢的显示256个 ASCII 字符。 仔细观察每个字符,和IBM-PC ASCII 码表对照 , 看07H-0DH 处控制字符显示结果与表上有何不同? 3、按 CTRL+BREAK退出此程序 , 若一次不行可多做几次。三、直接向 VRAM 送 ASCII码显示字符名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 47 页 - - - - - - - - - 16 1、用 A命令在 100H处键入下列程序: MOV AX,B000 MOV DS,AX XOR AL,AL XOR BX,BX MOV CX,100 LOP: MOV BX,AL INC BX INC AL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,0 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20 2、用 N命令和 W 命令将此程序存入BB.COM 文件中。 ( 一定要先存入 !) 3、用 G命令运行此程序, 仔细观察每一个ASCII码显示结果 , 并和字符表及上一道程序运行情况进行对照, 其控制字符区 (07-0DH) 显示结果和 INT 21H2 号功能调用有何不同? 四。自编一个程序, 要求显示 AX 的内容 , 即能显示 AX=xxxx。调试时 AX 的内容可用 R命令赋值 , 也可用 MOV 指令赋值。实验报告要求:1、各项实验记录及观察体会。2、利用 INT 21H 显示和直接向 VRAM 送ASCII码显示方法在显示结果上有什么不同? 3、自编程序草稿及调试结果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 47 页 - - - - - - - - - 17 实验五条件转移指令实验目的 :通过实验掌握下列知识: 1、8088指令 :JZ,JNZ,JC,JNC,CMP,SHR 。2、程序 : 用字符搜索法确定字符串长度。3、程序 :16 进制数化为 ASCII码的一般方法。实验内容及步骤:一、用字符搜索法确定字符串长度: 1、用 A命令在 100H开始的内存处键入下列程序: JMP START DB This is the program to measure DB the length of a string!$ START: MOV BX,102 MOV AL,24 XOR CL,CL LOP: CMP AL,BX JZ EXIT INC BX INC CL JMP LOP EXIT: INT3 2、用 G命令运行此程序, 并检查 CL的统计长度是否与你自己统计的实际长度是否一样? 二、 16进制数化 ASCII 码的一般方法( 显示内存内容) 1、用 A命令在 100H处键入下列程序: MOVSI,0 MOVBL,10 LOP: MOVDL,SI MOVCL,4 SHRDL,CL CMPDL,0A JC J1 ADD DL,7 J1: ADD DL,30 MOV AH,2 INT 21 MOV DL,SI AND DL,0F CMP DL,0A JC J2 ADD DL,7 J2: ADD DL,30 MOV AH,2 INT 21 MOV DL,20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 47 页 - - - - - - - - - 18 MOV AH,2 INT 21 INC SI DEC BL JNZ LOP INT 20 2、用 N,W 命令将此程序用CC.COM 文件名存入磁盘。3、用 Q命令退出 DEBUG 。4、 在DOS 命令状态下直接运行CC.COM 命令文件 , 应在屏幕上显示出内存从0000H开始的 16个字节的内容, 若有错误 , 用DEBUG 检查之。5、 自编程序 : 修改上面程序, 使除以 16进制数形式显示内存内容外, 还能在其右边显示该16进制码所对应的ASCII字符 ,07-0D 的控制字符用 .代替。三、综合程序( 选做 ): 测量一字符串长度, 并用 16进制数显示之程序 : JMP START DB This is a program to measure the length of a string。 DB 0D,0A DB the length of the string is: $ START: MOV AH,9 MOV DX,102 INT 21 MOV BX,101 MOV AL,$ MOV DH,FF LOP: INC BX INC DH CMP AL,BX JNZ LOP MOV CH,2 MOV CL,4 LOP1: ROL DH,CL MOV DL,DH AND DL,0F ADD DL,30 CMP DL,3A JC J ADD DL,7 J: MOV AH,2 INT 21 DEC CH JNZ LOP1 INT 20 键入此程序 , 存入 ?.COM 文件中并在 DOS 命令状态下直接运行之, 若未出现预期结果, 用DEBUG 检查有否错误 ? 实验报告要求: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 47 页 - - - - - - - - - 19 1、自编程序草稿及调试后的正确程序。2、实验体会。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 47 页 - - - - - - - - - 20 实验六汇编语言程序上机过程实验目的 :1、掌握常用工具软件 PE,MASM 和LINK的使用。2、伪指令 : SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。3、利用的 1 号功能实现

    注意事项

    本文(2022年2022年汇编语言程序设计实验指导书 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开