《汇编语言程序设计》实验指导书
计算机系 宋勤
《汇编语言》实验学时分配表 序号 实验项目名称 汇编语言程序上机过程以及调试 顺序程序设计 循环程序设计 分支程序设计 子程序设计 程序设计 实验七 综合程序设计 合计 程序设计 实验学时 课内 课外 实验报告或作业
实验一汇编语言程序上机过程以及调试
一、预习内容
. 工具软件、的使用 . 常用命令的使用:
. 完整程序设计方法的格式。
二、目的要求
. 掌握常用工具软件、的使用
. 掌握常用命令: 能灵活使用这些命令调试程序
. 掌握完整程序设计方法的格式,能正确书写数据段,代码段等。
三、实验内容
用两种方法把字符串复制到串中去; (1) 从左到右的方向复制 (2) 从右到左的方向复制
' $'
(?)
;************************************************
, , :
实验步骤:
)用文字编辑工具(记事本或)将源程序输入完整后保存在:\\下,注意保存时将文件扩展名改为(如)。
)打开桌面的“命令提示符” 程序进入命令操作,先用 命令改变路经,接着用 ” 文件
名” (如 ,这里文件名可以不带扩展名) 对源文件进行汇编,产生文件和文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 )用 ” 文件名” (如 ;) 将文件连接成可执行的文件()。
)用调试程序,熟悉命令的使用: ()打 进入 控制,显示提示符 ‘ ‘。
()用命令执行程序,可得与步骤相同的结果,也可用命令逐条运行这些指令,每运行一行检查并记录有关寄存器及的变化情况,并注意标志位有无变化。 ()用命令检查键入的程序并记录,特别注意左边的机器码和指令地址。如果一条命令没有显示完全,可以再次输入命令,该命令会紧接着上一个命令的输出继续显示。 ()用命令’地址’设置断点,如,表示将断点设置在代码段的偏移地址为的指令前,并执行到该断点前。其中,命令中的地址项可以从上条命令的运行结果获得。 ()用命令查看各寄存器的情况。
()用命令查看数据段的情况,表示从偏移地址开始,也可以指定其他偏移地址值。 ()用命令 ‘地址’的方式修改数据区的字符串,其中’地址’指需要修改的数据段内存单元偏移地址,可根据上条命令获得。如 表示从偏移地址开始修改数据。 ()再次用命令执行程序,查看执行结果。
()用命令退出,如果在上述步骤中碰到异常,可以先用命令退出后再进入调试。
四、实验报告或作业
.分析程序,画出程序流程图
.汇编,连接及调试时产生的错误,其原因及解决办法。 .思考:
) 上述实验中用修改数据段的内容,是否改变原文件的内容?
) 用单步执行命令运行程序, 运行到 , , 指令后,和寄存器内容前后有何变化,产生变化的原因是什么?
附 使用:
.打 进入 ,显示提示符 ‘ ‘。 .退出命令
.显示内存命令 起始地址 结束地址
.修改内存命令 起始地址,连续修改打空格键。打回车键退出命令。 .检查寄存器命令
标志位显示
.修改寄存器命令 寄存器名
.小汇编命令 起始地址,不输入指令打回车键退出命令。 .反汇编命令 起始地址 结束地址 .文件命名命令 盘号:文件名 .读文件命令 内存地址 .写文件命令 内存地址
.读扇区命令 内存地址 盘号(:) 扇区号 扇区数 .写扇区命令 内存地址 盘号 扇区号 扇区数 .运行命令起始地址 结束(断点)地址
.单步命令起始地址 运行指令数,进入子程序内部。 .单步命令起始地址 运行指令数,不进入子程序内部。 .内存搬家命令 起始地址 结束地址 目的地址
标志位显示
.修改寄存器命令 寄存器名
.小汇编命令 起始地址,不输入指令打回车键退出命令。 .反汇编命令 起始地址 结束地址 .文件命名命令 盘号:文件名 .读文件命令 内存地址 .写文件命令 内存地址
.读扇区命令 内存地址 盘号(:) 扇区号 扇区数 .写扇区命令 内存地址 盘号 扇区号 扇区数 .运行命令起始地址 结束(断点)地址
.单步命令起始地址 运行指令数,进入子程序内部。 .单步命令起始地址 运行指令数,不进入子程序内部。 .内存搬家命令 起始地址 结束地址 目的地址
实验二 顺序程序设计
一、预习内容
.常用工具软件、和的使用 .完整程序设计方法的格式
.汇编语言顺序结构程序的设计方法
二、目的要求
.继续熟悉常用工具软件、和的使用 .继续熟悉完整程序设计方法的格式
.学习与掌握汇编语言顺序结构程序的设计方法
三、实验内容
编程实现双字除以字(用),并且把商存入字单元,把余数存入字单元(具体数值可自行确定)。并且用查看程序的运行结果,检查程序运行结果的正确性。
? ? , : ,
,
[]
,
实验步骤:
.用文字编辑工具(记事本或)将源程序输入完整后保存在:\\下,注意保存时将文件扩展名改为(如)。
.用对源文件进行汇编,产生(如)文件和文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 .用 将文件连接成可执行的文件()。 .直接运行产生的文件。
.用调试程序,单步执行程序,并记录黑体部分单步执行后,,,寄存器以及标志寄存器的值.
.在状态下,用“偏移地址”的方式将程序的 改为再单步执行黑体部分,对比步骤的结果,查看有何变化,并记录。
.修改源程序实现双字 与字的无符号乘法。
四、实验报告或作业
.分析程序,画出程序流程图。
.汇编,连接及调试时产生的错误,其原因及解决办法。 .步骤的结果记录。
.步骤的结果记录,并分析发生变化的原因。 .思考:
) 指令 ,[] 改写成 ,[] 经过汇编后,二者是否相同,为什么? ) 如何实现双字 与字的乘法,写出完整的源程序。
实验三 循环程序设计
实验 (必做)
一、 实验目的:
掌握循环程序的设计方法
进一步熟悉利用程序修改参数的方法,并检查和验证结果的正确性。 学会针对不同的问题,选用不同的组织循环的方法。
二、 实验内容
编写一个程序,用二进制显示从键盘输入一个字符的码。
编写一个程序,记录某个字存储单元数据中的个数,以十进制形式显示结果。
相关推荐: