汇编语言程序设计报告

课程设计报告

(2011—2012年度第1学期)

院班学称:目:系:级:号:学生姓名:指导教师:设计周数:

成绩:

日期:2011年12月30日

一、课程设计(综合实验)的目的与要求

1、掌握实验运行汇编语言所用的计算机机型

2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。)

3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。

4、LINK连接程序

5、DEBUG调试程序

二、设计(实验)正文

题目

以变量ADR为起始地址的字节存储单元中存放一组有符号整数,编写程序分别统计正数的个数、负数的个数和0的个数。

设计思路:

1.以变量ADR为起始地址的字节存储单元中存放一组有符号整数。

2.用变量NUM表示ADR存放有符号整数的个数。

3.用伪指令DB定义DA1,DA2,DA3为不确定内容

4.用SI表示ADR的首地址,SI自增表示依次读取ADR中所存的有符号的整数。

5.将SI与0进行比较,SI>0,DA1自增一次;SI

6.直到所有的数字运行一遍后,DA1,DA2,DA3的值便是正数,负数,0的个数

原程序设计如下:

DATASEGMENT

ADRDB13,-20,32,-5,0,56,-68,0,46,-17

NUMEQU

DA1

DA2

DA3

DATADBDBDB???$-ADRENDS

CODESEGMENT

ASSUME

START:

MOVAX,DATA

MOVDS,AX

LEA

MOVSI,ADRCX,NUM

CS:CODE,DS:DATA

MOVAX,0

DONE1:

MOVAL,[SI]

CMPAL,0

JGEDONE2

INCBYTE

JMPEND0

DONE2:

CMPAL,0

JZDONE3

PTRDA1PTRDA2INCBYTE

JMPEND0

DONE3:

INCBYTE

END0:

INCSI

DECCX

JNZDONE1

MOVAH,4CH

INT21H

CODEENDSPTRDA3

ENDSTART

三、课程设计(综合实验)总结或结论

通过对汇编语言程序设计短时间的学习,我知道了程序就是内存中的一段数据,我们可以将其当作代码,也可以当做数据,也可以作堆栈来使用。所以内存的这些数据如何使用,决定权在我们如何去定义,且让内存的数据与处理器产生联系去实现我们编程的目的。而在操作ASM软件的过程中,我知道了很多指令的重要性,在编程的过程中,我们必须对所有我们所需要的指令有一定的了解,只有这样我们才能更快更准确的设计出我们想要的结果。

汇编的学习不仅仅是学习其语法,而更多的是学习计算机基本的体系结构。其中遇到很多新的概念,名字。如寄存器、中断、寻址方式等。这些概念在刚接触汇编这门课的时候难以理解,但在之后的学习中通过老师的讲解,自己亲手编程的方式也就渐渐清晰明了。

总之,在学习汇编语言时,指令的功能是学习和掌握的重点,我们应该准确有效并合理的使用这些指令,必须了解一些使用的规则。

四、参考文献

廖建明《汇编语言程序设计》清华大学出版社2009年10月第一版

附录(设计流程图、程序、表格、数据等)

1

.设计流程图

2.在MasmforWindows

中输入设计好的程序(截图如下)

在保存好文件后,点击运行,出现的界面如下

在输入反汇编指令u后,debug测试界面如下

再输入指令t后,可以显示每步运行的结果,其中蓝色下划线标注的即为其运行的程序。

程序运行结束后,数据段DS:000A,000B,000C分别DA1,DA2,DA3的值,它们表示数据中大于0,小于0,等于0的个数,13,-20,32,-5,0,56,-68,0,46,-17中有四个正数,四个负数,两个零,与实际结果相符。(截图如下)

课程设计报告

(2011—2012年度第1学期)

院班学称:目:系:级:号:学生姓名:指导教师:设计周数:

成绩:

日期:2011年12月30日

一、课程设计(综合实验)的目的与要求

1、掌握实验运行汇编语言所用的计算机机型

2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。)

3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。

4、LINK连接程序

5、DEBUG调试程序

二、设计(实验)正文

题目

以变量ADR为起始地址的字节存储单元中存放一组有符号整数,编写程序分别统计正数的个数、负数的个数和0的个数。

设计思路:

1.以变量ADR为起始地址的字节存储单元中存放一组有符号整数。

2.用变量NUM表示ADR存放有符号整数的个数。

3.用伪指令DB定义DA1,DA2,DA3为不确定内容

4.用SI表示ADR的首地址,SI自增表示依次读取ADR中所存的有符号的整数。

5.将SI与0进行比较,SI>0,DA1自增一次;SI

6.直到所有的数字运行一遍后,DA1,DA2,DA3的值便是正数,负数,0的个数

原程序设计如下:

DATASEGMENT

ADRDB13,-20,32,-5,0,56,-68,0,46,-17

NUMEQU

DA1

DA2

DA3

DATADBDBDB???$-ADRENDS

CODESEGMENT

ASSUME

START:

MOVAX,DATA

MOVDS,AX

LEA

MOVSI,ADRCX,NUM

CS:CODE,DS:DATA

MOVAX,0

DONE1:

MOVAL,[SI]

CMPAL,0

JGEDONE2

INCBYTE

JMPEND0

DONE2:

CMPAL,0

JZDONE3

PTRDA1PTRDA2INCBYTE

JMPEND0

DONE3:

INCBYTE

END0:

INCSI

DECCX

JNZDONE1

MOVAH,4CH

INT21H

CODEENDSPTRDA3

ENDSTART

三、课程设计(综合实验)总结或结论

通过对汇编语言程序设计短时间的学习,我知道了程序就是内存中的一段数据,我们可以将其当作代码,也可以当做数据,也可以作堆栈来使用。所以内存的这些数据如何使用,决定权在我们如何去定义,且让内存的数据与处理器产生联系去实现我们编程的目的。而在操作ASM软件的过程中,我知道了很多指令的重要性,在编程的过程中,我们必须对所有我们所需要的指令有一定的了解,只有这样我们才能更快更准确的设计出我们想要的结果。

汇编的学习不仅仅是学习其语法,而更多的是学习计算机基本的体系结构。其中遇到很多新的概念,名字。如寄存器、中断、寻址方式等。这些概念在刚接触汇编这门课的时候难以理解,但在之后的学习中通过老师的讲解,自己亲手编程的方式也就渐渐清晰明了。

总之,在学习汇编语言时,指令的功能是学习和掌握的重点,我们应该准确有效并合理的使用这些指令,必须了解一些使用的规则。

四、参考文献

廖建明《汇编语言程序设计》清华大学出版社2009年10月第一版

附录(设计流程图、程序、表格、数据等)

1

.设计流程图

2.在MasmforWindows

中输入设计好的程序(截图如下)

在保存好文件后,点击运行,出现的界面如下

在输入反汇编指令u后,debug测试界面如下

再输入指令t后,可以显示每步运行的结果,其中蓝色下划线标注的即为其运行的程序。

程序运行结束后,数据段DS:000A,000B,000C分别DA1,DA2,DA3的值,它们表示数据中大于0,小于0,等于0的个数,13,-20,32,-5,0,56,-68,0,46,-17中有四个正数,四个负数,两个零,与实际结果相符。(截图如下)


相关文章

  • 微机原理实验报告(2013)
  • 计算机在金属材料 中的应用实验 山东科技大学材料学院 目 录 一.调试程序DEBUG 二.熟悉80486指令系统 三.熟悉汇编语言汇编程序上机过程 四.汇编程序分支程序设计一 五.汇编程序分支程序设计二 六.汇编程序循环程序设计一 七.汇编 ...查看


  • 计算机综合实践实验报告
  • 四川大学网络教育学院 实践课程报告 实践课程 计算机综合实践 校外学习中心 奥鹏 专 业 电气工程及其自动化 层 次 专升本 年 级 级 学生姓名 学 号 20年 月 日 四川大学网络教育学院 实验报告 实验内容:用汇编语言编写一个简单的加 ...查看


  • XBRL财务报告的审计与控制
  • 可扩展商业报告语言的英文名是eXtensible Business ReportingLanguage,通常缩写为XBRL,是近年来兴起的一种在网络环境下披露企业财务信息和非财务信息的标准化语言.XBRL是基于可扩展的标记语言(eXtens ...查看


  • 组态王使用教程
  • 本教程是学习"组态王"软件的入门教程,覆盖了"组态王"软件的大部分基本功能.学完本教程后,您将能够建立一个功能齐全.可实际使用的上位机监控系统. 下列课程向你演示如何: * 使用工程浏览器 * 建立新 ...查看


  • 程序设计语言课程设计指导书(2016)
  • 程序设计语言 课程设计指导书 适用专业: 计算机科学与信息工程系各专业 上海应用技术大 计算机科学与信息工程学院 2016年5月 前言 本书是针对在完成前修课程<程序设计语言>基础上的一本课程设计指导书,<程序设计语言&g ...查看


  • 四川大学 计算机综合实践报告
  • 四川大学网络教育学院 实践课程报告 实践课程 计算机综合实践报告 校外学习中心 专业 电气工程及其自动化 层 次 专升本 年 级 2010年春 学生名字 学号 2012年5月31号 实验一DEBUG 调试工具熟悉.使用 一. 实验科目:熟悉 ...查看


  • [程序设计基础实验]实验教学大纲
  • <程序设计基础实验>实验教学大纲 课程编号:12411107 课程名称:程序设计基础实验 英文名称:Experiments on Fundamentals of Programming 课程性质:独立设课 教材与实验指导书名称: ...查看


  • 如何写自考汉语言文学的本科毕业论文
  • 自考汉语言文学的本科毕业论文怎么写呀 悬赏分:0 | 解决时间:2006-7-22 09:43 | 提问者:漆磊 我是学汉语言文学的,毕业论文怎么写呀, 最佳答案 自考毕业论文格式规范 设计毕业设计(论文)是学生在校学习的最后阶段,是培养学 ...查看


  • 简单的C语言程序设计实验报告完美版
  • 本科实验报告专用纸 课程名称 C 语言程序设计 成绩评定 实验项目名称 简单的C 语言程序设计 实验项目编号 实验项目类型 验证型 实验地点 指导教师 学生姓名 学号 学院 专业 一. 实验目的 1. 掌握各种类型数据的输入输出的方法,能正 ...查看


热门内容