ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:29.05KB ,
资源ID:3666894      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3666894.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编语言实验讲义Word下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

汇编语言实验讲义Word下载.docx

1、 , , :实验步骤:)用文字编辑工具(记事本或)将源程序输入完整后保存在:下,注意保存时将文件扩展名改为(如)。)打开桌面的“命令提示符” 程序进入命令操作,先用 命令改变路经,接着用 ” 文件名” (如 ,这里文件名可以不带扩展名) 对源文件进行汇编,产生文件和文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。)用 ” 文件名” (如 ;) 将文件连接成可执行的文件()。)用调试程序,熟悉命令的使用:()打 进入 控制,显示提示符 。()用命令执行程序,可得及步骤相同的结果,也可用命令逐条运行这些指令,每运行一行检查并记录有关寄存器及的变化情况,并注意标志位有无变化。(

2、)用命令检查键入的程序并记录,特别注意左边的机器码和指令地址。如果一条命令没有显示完全,可以再次输入命令,该命令会紧接着上一个命令的输出继续显示。()用命令地址设置断点,如,表示将断点设置在代码段的偏移地址为的指令前,并执行到该断点前。其中,命令中的地址项可以从上条命令的运行结果获得。()用命令查看各寄存器的情况。()用命令查看数据段的情况,表示从偏移地址开始,也可以指定其他偏移地址值。()用命令 地址的方式修改数据区的字符串,其中地址指需要修改的数据段内存单元偏移地址,可根据上条命令获得。如 表示从偏移地址开始修改数据。()再次用命令执行程序,查看执行结果。()用命令退出,如果在上述步骤中碰

3、到异常,可以先用命令退出后再进入调试。四、实验报告或作业分析程序,画出程序流程图汇编,连接及调试时产生的错误,其原因及解决办法。思考:) 上述实验中用修改数据段的内容,是否改变原文件的内容?) 用单步执行命令运行程序, 运行到 , , 指令后,和寄存器内容前后有何变化,产生变化的原因是什么?附 使用:打 进入 ,显示提示符 。退出命令显示内存命令 起始地址 结束地址修改内存命令 起始地址,连续修改打空格键。打回车键退出命令。检查寄存器命令标志位显示 修改寄存器命令 寄存器名小汇编命令 起始地址,不输入指令打回车键退出命令。反汇编命令 起始地址 结束地址文件命名命令 盘号:文件名读文件命令 内存

4、地址写文件命令 内存地址读扇区命令 内存地址 盘号(:) 扇区号 扇区数写扇区命令 内存地址 盘号 扇区号 扇区数运行命令起始地址 结束(断点)地址单步命令起始地址 运行指令数,进入子程序内部。单步命令起始地址 运行指令数,不进入子程序内部。内存搬家命令 起始地址 结束地址 目的地址实验二 顺序程序设计常用工具软件、和的使用完整程序设计方法的格式汇编语言顺序结构程序的设计方法继续熟悉常用工具软件、和的使用继续熟悉完整程序设计方法的格式学习及掌握汇编语言顺序结构程序的设计方法编程实现双字除以字(用),并且把商存入字单元,把余数存入字单元(具体数值可自行确定)。并且用查看程序的运行结果,检查程序运

5、行结果的正确性。 ? ? , : , 用文字编辑工具(记事本或)将源程序输入完整后保存在:下,注意保存时将文件扩展名改为(如)。用对源文件进行汇编,产生(如)文件和文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。用 将文件连接成可执行的文件()。直接运行产生的文件。用调试程序,单步执行程序,并记录黑体部分单步执行后,寄存器以及标志寄存器的值.在状态下,用“偏移地址”的方式将程序的 改为再单步执行黑体部分,对比步骤的结果,查看有何变化,并记录。修改源程序实现双字 及字的无符号乘法。分析程序,画出程序流程图。汇编,连接及调试时产生的错误,其原因及解决办法。步骤的结果记录。步骤

6、的结果记录,并分析发生变化的原因。) 指令 , 改写成 , 经过汇编后,二者是否相同,为什么?) 如何实现双字 及字的乘法,写出完整的源程序。实验三 循环程序设计实验 (必做)一、 实验目的: 掌握循环程序的设计方法 进一步熟悉利用程序修改参数的方法,并检查和验证结果的正确性。 学会针对不同的问题,选用不同的组织循环的方法。二、 实验内容 编写一个程序,用二进制显示从键盘输入一个字符的码。 编写一个程序,记录某个字存储单元数据中的个数,以十进制形式显示结果。三、 实验准备 编写实验内容要求的两个程序。 写出调试以上程序,即修改程序参数,检查结果的操作方法。 熟悉源程序汇编、连接命令的使用方法即

7、要回答的内容。四、 实验步骤 用或其它编辑软件,编写源程序,例如及。 对其进行汇编及连接,产生文件。 对文件进行调试运行。. 用调试运行,学会修改内容的方法。 对键入不同的字符,分别进行调试。 在下运行这两个文件。五、 实验报告要求 画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。六、 参考程序段清单:; ;(循环次数)左移进,从高位开始显示指令不改变若是,则显示减,如果未减至,则循环 ;数据段代码段循环初值:也可以用 全部是就可以退出循环,减少循环次数用指令 也可以利用指令加的特点进行计数判断的个数是否小于的个数小于,转移 ,1 ;的个数大于或等于则要先显示一个 ,0 ;显示个

8、数实验 多重循环程序和排序程序设计方法。带符号数的比较转移指令掌握多重循环程序和排序程序设计方法。掌握带符号数的比较转移指令建立学生名次表,以为首地址的数组中保存了学生的成绩,其中 保存学号为的学生的成绩。要求建立一个个字的数组,并根据中的学生成绩将学生名次填入数组中,其中的内容是学号为学生的名次(提示:一个学生的名次等于成绩高于该学生的人数加) (? , 实验步骤:输入,汇编并连接此程序。在下运行此程序,记录运行结果。将转移指令改为,分别运行记录排序结果,察看结果是否正确不对,并分析原因。记录情况下的排序结果,同时比较将转移指令改为 时的排序结果,并分析结果正确及否,如果不正确,写出原因和解

9、决办法。如果想外循环也用实现,应该怎样修改程序?实验四 分支程序设计一、 实验目的: 掌握分支程序的设计方法 掌握利用修改参数、检查结果的方法。 掌握汇编语言源程序的编辑、汇编、连接及调试过程。 编写一个程序,显示寄存器中的两位十六进制数 编写一个程序,判别键盘上输入的字符;若是字符,则显示之;若为或字符,均显示“”;若是回车字符(其码为),则结束程序,若为其它字符则不显示,继续等待新的字符输入。六、 参考程序清单 () 显示中两位十六进制数程序: AL ,AL ,AL显示高位码显示低位码返回 显示键入字符程序等待键入字符,送是否是回车符?是则转退出程序 AL, MO ,AL AL ,实验 (

10、选做)分支程序设计方法。利用转移指令、实现多岔分支的方法。掌握分支程序设计方法。掌握利用转移指令、实现多岔分支的方法。统计学生成绩。设有个学生的成绩分别为、和分。试编制程序分别统计低于分、分、分、分、分及分的人数,并分别存放到、及单元中 , 阅读程序,将程序补充完整。单步运行程序,记录前五次执行转移指令后寄存器 的值。每次执行转移指令时寄存器 的值。、最终运行结果,即、及的值。、思考:如何修改程序使源程序先统计,然后依次统计?实验五 子程序设计实验(必做)本实验的目的在于让读者掌握同一模块调用的方法。 实验目的 掌握主程序及子程序之间的调用关系及调用方法。 掌握子程序调用过程中近程调用及远程调

11、用的区别。 掌握通过堆栈转送参数的方法。二、 实验内容 将开始的个单元中的二进制数转换成两位十六进制数的码,在屏幕上显示出来。要求码型转换通过子程序实现,在转换过程中,通过子程序实现显示. 编写一个主程序,从键盘接收若干个字符,然后用远调用的方法,调用子程序统计字符串中字符的个数.子程序的参数是字符串的首地址,字符串长度及字符”.子程序返回字符”的个数.参数传送采用堆栈实现.主程序在子程序返回后,显示字符”及其个数(设为一位十六进制数).三、 实验说明 第一个实验程序用子程序的近程调用实现。由于在调用子程序时,子程序又调用了子程序,这叫子程序的嵌套调用。实验过程中可以从堆栈的内容看到两个子程序

12、的返回地址值。由于是近调用,地址值只包括返回地址的段内偏移量。在每个子程序的执行中,检查值是不变的。 第二个程序是利用远调用的方法调用子程序的。在远调用情况下,主程序及子程序处在不同的逻辑代码段中,可在子程序执行中查看值,它及主程序中的值是不同的。子程序调用后,堆栈中保留了返回地址的段地址及段内偏移量。 第二个程序中,主程序及子程序之间参数的传送是由堆栈实现的。一段是将参数(此处是串首址,串的长度及待统计的字符“”)顺序压如堆栈,在子程序调用后,通过指针对堆栈中的参数访问,并将统计的结果通过堆栈返回。有关该方法的原理此处不再介绍。四、 实验准备 预习子程序设计的基本方法,根据实验内容要求,画出

13、子程序及主程序的流程图。 熟悉键盘键入字符串及用堆栈传送参数的程序段编制方法。五、 实验步骤 编辑、汇编两个源程序,生成相应的可执行文件(。 用的 命令, 命令或命令和命令检查远程调用及近程调用时堆栈的变化。特别是通过堆栈传送的参数和子程序取出的参数是返回参数的详细过程。 检查程序执行的结果是否正确。六、 实验报告要求 分析远程调用及近程调用的区别,在用有关命令观察时,执行过程有何不同。 说明用堆栈传送参数的过程及其具体方法。 分析实验结果及所遇到问题,并说明解决的方法。七、参考程序清单(1)码型转换程序清单:MO ,AL显示高位数()统计并显示某键入字符的个数的程序: , ? , : , 中

14、为字符串长度 指向串首址 中为待查字符 参数送堆栈统计个数在中 ,AL显示统计个数 . AL, 实验 子程序设计子程序调用方法和参数传递方式。过程调用伪指令: ,和。子程序调用中堆栈的用法。简化格式程序设计方法。掌握子程序调用方法和参数传递方式。掌握过程调用伪指令:理解子程序调用中堆栈的用法。熟悉简化格式程序设计方法。显示学生名次表。要求接收从键盘输入的一个班的学生成绩,并存放于字的数组中,其中保存学号为的学生的成绩。然后根据中的学生成绩,把学生名次填入字的数组中,其中的内容是学号为学生的名次。再按学号把名次从终端显示出来。源程序如下,模块层次如图所示,源程序已经完成了, , , , 和模块的

15、编写,模块和需要自己完成。?,$ , ! : , 。 ;四、实验步骤认真阅读程序,自己编写十进制到二进制转换子程序和输出回车换行子程序,将程序补充完整,然后汇编、链接、生成可执行文件。用的断点命令和命令运行此程序,观察并记录每次过程调用和进出栈指令前后(带的语句)的和堆栈内容,如记录执行 , , 三条指令后,以及的值。记录数据段各变量的最后结果。五、实验报告或作业画出,和模块的流程图。记录执行 , , 三条指令后,以及的值,并指出指向哪条指令。画出堆栈满时堆栈存储区域的示意图。记录最后的输出结果。 如果想用堆栈传递参数,源程序应做何修改?实验六 程序设计程序直接控制方式。程序设计方法。子程序设

16、计方法掌握程序直接控制方式。熟悉程序设计方法。继续熟悉子程序设计方法。用位触发方式(也即程序直接控制输出控制寄存器(端口为 )的第一位,使该位按所需要的频率进行和的交替变化,从而控制开关电路产生一串脉冲波形,这些脉冲经放大后驱动扬声器发声音)模拟枪响程序。程序如下,但其中有些语句错误,需要修改后才能正确运行。 0f 4c实验步骤认真阅读程序,将源程序中的错误找出后修改。编译,链接,生成可执行文件,记录编译过程中的错误,并分析原因。执行程序,调式程序,直到可以清楚听到枪响的声音。试将程序中的黑体部分修改为 : ,再编译运行程序,是否能听到枪声,为什么?实验 (选做)实验目的 掌握输入输出程序设计

17、的概念和方法。了解机外围芯片、的功能。学习如何在机上编写具有输入输出功能的程序,包括、芯片的使用方法实验说明 本实验要求自行编写一个键盘输入处理程序,它可以完成键盘字符的读入并进行屏幕显示,本实验要利用系统的硬件结构,分别使用外围芯片及。 在本例中,利用8255A的端做数据输入,对应的端口地址为;利用端口作控制端输入,端口地址为。8255A的控制端口地址为 。本例的中断控制器,其端用于键盘中断请求线。键盘通过它可以响发出中断请求。的端口地址为,可以写入中断屏蔽字,以对个中断源是否容许中断进行控制。在每次中断结束时,要通过端口地址写回一个中断结束命令 ,使可以清除本次中断。 因此本实验既属于输入

18、输出实验,也属于中断实验。 有关说明将详细地附在参考程序中。三、 实验内容 利用机键盘,编写一个读入并显示键盘输入的演示程序。该程序只接受常规字符(包括回车键及退格键),对特殊功能键不进行处理。在程序中设置这些特殊功能键对应编号即可,凡是检测到键位编号为值时,均忽略对它们的处理。有键按下时,送出的扫描码的位为时,当键抬起时,扫描的码位为,以判定键是否被按下。四、实验准备预习输入输出程序设计的特点和方法。仔细阅读参考程序,弄清外围芯片接口初始化的意义和方法。五、实验步骤建立源文件,并通过汇编和连接,产生可执行文件。运行程序,观察常规字符键及功能键按下时程序的反应,六、 实验报告要求给出程序框图,包括主程序框图、中断处理程序框图。说明输入输出程序设计的特点。讨论:将键及右键也进行判别处理,它们的扫描码为及。为记录键的按动状态,可设一个标志单元,右按下,的位置,左按下,的位置,放下左右的键,的相应恢复为。当程序工作时,应能显示上档键的字符。 ; ()设计个字节堆栈区 ()

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2