汇编语言指令及伪指令练习的实验报告总结_第1页
汇编语言指令及伪指令练习的实验报告总结_第2页
汇编语言指令及伪指令练习的实验报告总结_第3页
汇编语言指令及伪指令练习的实验报告总结_第4页
汇编语言指令及伪指令练习的实验报告总结_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 26 汇编语言指令及伪指令练习的实验报告总结 福建农林大学金山学院 课程名称:姓 名:系:专 业:年 级:学 号:指导教师:职 称: (程序设计类课程 ) 实验报告 汇编语言 20162016 学年第二学期 实验项目列表 福建农林大学金山学院实验报告 系: 专业: 年级: 2 / 26 姓名: 学号: 实验课程:汇编语言 实验室号: _ _1#605 实验设备号: I3 实验时间: 指导教师签字: 成绩: 实验一 汇编程序的汇编及运行 1实验目的和要求 (1)熟悉汇编程序的汇编、连接、执行过程; (2)生成 LST文件,查看 LST文件; (3)生成 OBJ文件,修改语法错误; (4)生成 EXE 文件; (5)执行程序。 2实验环境 IBM PC机及其兼容机; 实验的软件环境是: 操作系统: DOS 以上;调试程序:;文本编程程序:、;宏汇编程序:;连接装配程序: LINK .EXE;交叉引用程序:。 3实验内容及实验数据记录 (1)将数据段输入,取名,保存在 MASM 文件夹下。生成 LST3 / 26 文件,用 EDIT 查看文件。试回答: DA1, DA2 的偏移量分别是多少? COUNT的值为多少? DATA SEGMENT ORG 20H NUM1=8 NUM2=NUM1+10H DA1 DB IBM PC COUNT EQU $-DA1 DATA ENDS DA2 DB 0AH, 0DH END (2)输入有错误的文件,修改错误语句。 DATA SEGMENT VAR1 DB 0, 25, ODH, 300 VAR2 DB 12H, A4H, 6BH VAR3 DB ABCDEF VAR4 DW 1234H, 5678H VAR5 DW 10H DUP(?) DATA ENDS CODE SEGMENT 4 / 26 ASSUME CS: CODE, DE: DATA MOV DS, AX LEA SI, VAR5 MOV BX, OFFSET VAR2 MOV SI, 0ABH MOV AX, VAR1+2 MOV BX, SI MOV VAR5+4, VAR4 MOV AH, 4CH INT 21H ENDS END START BEING MOV AX, DATA CODE (3)输入正确的程序,汇编、连接、运行 STACKS SEGMENT STACK DW 128 DUP(?) ENDS SEGMENT ENDS SEGMENT ASSUME CS: CODES, DS: DATAS STACKS DATAS DATAS CODES STRING DB WELCOME! , 13, 10, $ START: MOV AX, DATAS 5 / 26 MOV DS, AX LEA DX, STRING MOV AH, 9 INT 21H MOV AH, 4CH INT 21H CODES ENDS END START 4算法描述及实验步骤 1) 首先,用记事本输入各段程序,并储存成源程序,保存在 MASM目录下。 2)对源程序进行汇编、连接。 操作如下: 在 DOS状态下,进入 MASM目录; 输入命令: MASM 文件名 在系统出现的提示中输入: object filename.obj: 按回车键 。 source listling: 输入:文件名,生成 list 文件。 cross-reference : 按回车键。 如果系统没有提示出错,那么汇编过程就完成了。如果提示6 / 26 错误则应打开源文件进行修改,然后再重复和步骤。 输入:LINK 文件主名 run file .exe: 按回车键。 list file : 按回车键。 libraries .lib: 按回车键。 如果没有提示错误,汇编过程就结束了。产生了 .exe 可执行文件。 3) 执行程序 ,在 DOS 提示符下直接输入文件主名执行文件。 汇编语言课程设计 学院:专业:姓名:学号: 汇编语言是计算机专业的一门重要的专业基础课,主要介绍汇编语言程序设计的基本原理和方法。汇编语言是一门理论性和实践性较强的课程,辅助课堂教学的实验有助于帮助学生理解汇编语言的基本原理,锻炼学生的动手能力,提高学生的综合应用知识的能力。 目 录 1 利用 DEBUG 调 试 汇 编 语 言 程 序段 2 初级程序的编写与7 / 26 调试实验 . 3 初级程序的编写与调试实验 . 4 汇编语 言 程 序 上 机 过程 . 5 分 支 程 序 实验 6 循环程序实验 . 1 利用 DEBUG调试汇编语言程序段 一课程目的 1熟悉 DEBUG 有关命令的使用方法; 2利用 DEBUG 掌握有关指令的功能; 3利用 DEBUG 运行简单的程序段。 二课程内容 1进入和退出 DEBUG程序; 2学会 DEBUG中的 8 / 26 1) D命令 例 1: -D100 2) E命令 例 1: -E100 41 42 43 44 48 47 46 45 -D 100, L08 结果: 08F1: 0100 41 42 43 44 48 47 46 45 例 2: -E 100: 08F1: 0100 76 42 : 42是操作员键入 此命令是将原 100 号内存内容 76 修改为 42,用 D 命令可察看。 3) R 命令 4) T命令 5) A命令 6) G命令等的使用 3用 DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。 三课程要求 9 / 26 1仔细阅读有关 DEBUG 命令的内容,对有关命令,要求事先准备好使用的例子; 四环境 PC微机 DOS操作系统或 Windows 操作系统 ,或宏汇编集成环境 五方法步骤 1在 DOS 提示符下,进入 DEBUG 程序; 2在 DOS 目录下启动 DEBUG; 3详细记录每一步所用的命令,以及查看结果的方法和具体结果。 R, D, E 命令: A, T 命令: 10 / 26 进入和退出 DEBUG: 六学习要求 1如何启动和退出 DEBUG 程序; 2整理每个 DEBUG 命令使用的方法,实际示例及执行结果。 七思考题 启动 DEBUG后,要装入某一个 .EXE 文件,应通过什么方法实现? 答:用 debug+文件名 八 小结 通过这个设计我懂得了 DEBUG程序调试汇编程序的一些基本方法和指令。知道了 DEBUG程序的一些功能。使我对汇编语言有了进一步的理解。 汇编语言程序设计 11 / 26 实验报告 实验名称 上机过程及顺序结构与分支结构程序设计实验 班 级 学 号 姓 名 日 期 成 绩 评 阅 人 软件学院 一、 实验目的与意义 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序 EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序 MASM 的使用; 4、熟练掌握连接程序 LINK的使用; 5、学习数据传送及算数和逻辑运算指令的用 法; 6、掌握分支程序的结构; 12 / 26 7、掌握分支程序的设计、调试方法; 8、熟悉在 PC 机上建立、汇编、连接、调试和运行 8086 汇编语言程序; 二、 实验环境 操作系统: Windows XP 调试软件: Edit Plus 3,MASM 上机地点:综合楼 311 三、 实验的预习内容 熟悉上机练习过程和伪指令实验 实验预习内容:在实验前,充分熟悉 Edit Plus 3 的环境以及配置方法,熟悉各种 debug的常用指令: U、 D、 T、 P、 G、A、 E 及 R命令的使用和含义,了解数据传送指令和算数以及逻辑运算指令的用法,在理论上了解数据的存储情况以及DD,DB,DW伪指令的用法和含义。 实验思路:按照书上的程序打入代码,进行汇编、 连接和运13 / 26 行程序查看此时程序的运行情况,之后进入 debug 界面,分别使用 U、 D、 T、 P、 G、 A、 E 及 R 命令等常用指令,可查看此时的程序的执行状况以及此时寄存器的存储情况以及对于内存的使用情况。 程序一流程图: 程序二流程图: 顺序结构程序设计实验 实验预习内 容:在实验前了解十进制,十六进制和 ASCII 码之间的转换,了解如何从键盘中输入字符和回车换行,以及在屏幕中显示的汇编指令。 实验思路:从键盘中输入要计算的数字,将其进行平方运算,利用计算得到数字,了解十进制数字、十六进制数字与其对应 ASCII 码的转换方法,将数字显示到屏幕上。 程序流程图: 分支程序设计实验 14 / 26 实验预习内容:在实验前了解分支结构的特点,明白跳转指令 和程序转移指令的使用 的使用,以及两个数进行比较后各个标志位的变化。 实验思路:首先定义三个数,先比较前两个数的符号,如果相同则比较第二个数字和第三个数的符号,如果相同,利用左移一位判断正负,之后进行显示。 程序流程图: 四、 实验的步骤与调试方法 熟悉上机练习过程和伪指令实验 实验步骤:上机实验首先要配置 editplus 的环境,之后输入代码,运行 debug,在 debug 中输入相应的指令,观察结果。在程序中首先定义数据段和代码段,在定义数据时使用伪指令定义,之后运行debug,了解了数据在内存中的存储。 之前对 debug的理解不深,有很多语句都不能很好的使用和理解,在经过这次实验后,对于数据的存储和 debug 有了更15 / 26 深的理解。 程 序 二 自 行 分 析 的 数 据 存 储 情 况 : DATA1 : DATA2: DATA3: 顺序结构程序设计实验 本实验刚开始规定用查表法来实现。首先定义数据段定义数字,输入数字,将其转化成对应的地址偏移量,求的数据的地址送入 BX,求得平方后除以 10 得到商和余数,利用十进制与 ASCII码的转化将其输出到屏幕上。十六进制与十进制类似, INT 21 的 2 号功能每次只能输出一个字符,因此,需要将将结果转化成一个高位和一个低位存在不同寄存器中分别输 出。在实验过程中对于不能正确运行的时候,使用debug中的 T和 P 命令来执行得知程序执行情况。 分支程序设计实验 首先,实验先定义数据段的数据,通过将 SI的值赋为 0,得到第一个数据的有效地址,将数据送入寄存器得到 CF 值,之后按照同样的方法取得第二个数字,并把其送入寄存器。使用 RCL 指令将最高位送入 CF 中,得到 CF 是 0 还是 1,如果不相同则取第三个数据进行比较,否则输出空格。在取第16 / 26 三个数据之后仍然左移 一位,得到 CF位,判断 CF 是否相同,如果不同,则输出空格,如果相同则继续判断 CF位的数值,如果数值为 1,则输出负号,如果数值为 0,则输出正号。 实验开始不能很好的使用跳转命令等指令,走过很多弯路,在经过学习后,更好的了解了各种跳转指令。在实验的过程中,开始不能输出负号,经验证得知没有很好的输入 int 21H 的功能,因而无法正常从显示屏里输出。经过更改,程序正常运行。 五、实验数据与实验结果 实验一程序一:首先使用指令 T进行单步执行操作,执行的结果如下: 实验 1 查看 CPU和内存,用机器指令和汇编指令编程 1.预备知识: Debug 的使用 2.实验任务 (第 45 页 ) (1)已跟 踪执行 17 / 26 (2) (3)通过 DEBUG中的 D命令查看到主板的生产日期 以月、日、年 , 分 隔 符 为 / 的格式 存储在内存ffff:0005ffff:000C(共 8 个字节单元中 )处。此生产日期不能被改变,因为其具有 只读 属性。 (4)通过向内存中的显存写入数据,使计算机根据写入的数据进行 ASCII转换,并将转换后且可打印的字符输出到屏幕上。 (5) 实验 2 用机器指令和汇编指令编程 1.预备知识: Debug 的使用 2.实验任务 (第 71 页 ) 18 / 26 (1)使用 Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。 从第一空开始依次如下: ax=5BEA ax=5CCA bx=30F0 bx=6022 sp=FE 220FE 5CCA sp=FC 220FC 6022 sp=FE 6022 sp=100H 5CCA sp=FE 220FE 30F0 19 / 26 sp=FC 220FC 2F32 说明:此题可能因机子软、硬件环境不同而导致答案不一致! (2) 仔 细 观 察 图 的 实 验 过 程 , 然 后 分 析 : 为 什 么2000:02000:f 中的内容会发生改变? 答:因为用 T指令进行调试时,会产生中断。而为了保护现场, CPU则先将标志寄存器进栈、再把当前 CS的值进栈,最后将 IP的值进栈。 实验三 汇编语言程序的调试与运行 1. 将下面的程序保存为文件,生成可执行文件 ; assume cs:codesg codesg segment mov ax,2000h mov ss,ax 20 / 26 mov sp,0 add sp,4 pop ax pop bx push ax push bx pop ax pop bx mov ax,4c00h int 21h codesg ends 21 / 26 end 实 验 报 告 实验课程: IBM-PC 汇编语言程序设计 学生姓名: 毛训星 学 号: 专业班级: 2016年 12月 17日 南昌大学实验报告 南昌大学实验报告 -汇编语言程序上机过程 学生姓名: 毛训星 学 号: 6100410101 专业班级: 电 103 班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 一、 实验目的 22 / 26 熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。了解汇编语言程序的汇编、运行环境。 二、 实验内容 1 掌握常用的编辑工具软件、 MASM 和 LINK的使用; 2 伪指令: SEGMENT, ENDS, ASSUME, END, OFFSET, DUP; 3 利用的 INT 21H 的 1号功能实现键盘输入的方法; 三、 实验环境 PC微机 DOS操作系统或 Windows 操作系统 ,或宏汇编集成环境 四、 实验要求 1 仔细阅读有关伪指令 SEGMENT, ENDS, ASSUME, END,23 / 26 OFFSET, DUP的内容; 2 了解利用的 INT 21H 的 1号功能实现键盘输入的方法,了解 .EXE文件和 .COM文件的区别及用 INT 21H 4C 号功能返回系统的方法; 3 阅读下面程序段。 五、 主 要实验步骤 程序: data segment message db This is a sample program of keyboard and disply db 0dh,0ah,Ple

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论