汇编语言程序课程设计_图文.

汇编语言程序课程设计_图文.
汇编语言程序课程设计_图文.

汇编课程设计与学习总结

二O 一六年六月

课程设计任务安排:

Power idea公司从1975年成立一直到1995年的基本情况如下表所示,该数据已在程序中定义好(见图1-1:

表1-1:公司基本情况

图1-1:程序中数据定义

计算data数据段中每一年的人均收入,并将所有数据按照如图1-2所示的格式在屏幕上显示出来。

图1-2:效果图

汇编程序语言学习总结

(这部分要求:根据这学期学习的课程以及大学期间学习的几种编程语言、单片机以及ARM,通过分析比较对汇编语言进行总结,描述清楚该语言的作用,特点,与其他语言的区别以及将来的主要作用范围。内容可以结合文字,图表,不少于两页。

(格式要求:宋体,小四,行间距为20磅。图表的标题为宋体五号

在上学期我们专业开设了单片机课程,在学习单片机的过程中,我们就接触到了汇编语言,但那时候没有系统的学习,只知道像mov、jump、inc这样一些常用的简单指令。而在最后单片机的课程设计中,我们采用的是c语言来编程。那时候认为汇编语言并没有什么大的作用,汇编语言能做的,c语言也都能做,而且更为简单。但真正接触这门课后,才发现汇编语言有它自己独特的作用,而且也不是很容易就可以弄懂的。相比较其他高级语言如C++、java等,电脑等于在迁就人的思维方式。但学汇编,人却必须要去迁就电脑的思维方式。要设身处地地用电脑的角度去思考问题,这就是我们学习汇编语言时遇到的最大的障碍。通过这一学期的学习,我对汇编只是有了初步的掌握。现在我来通过比较汇编语言和几种高级语言的区别来对汇编语言作一个小小的总结。

在我们学过的高级语言,Java和C++都是面向对象语言,它们都能够实现面向对象思想(封装、继承、多态。

C++是在C语言基础上进行扩展而来的一门面向对象的程序设计语言。相比其他语言,它具有很多优点和特点的,它对面向对象的支持,让我们可以将一个功能模块封装成一个类,对于使用这个功能模块的人,只需调用这个类的方法就可以了,不必关心功能如何实现的,这一点可以在开发大型项目的时候提高开发效率,减少开发周期。同时,可以通过对类进行派生来扩展模块的功能,而不影响原有的功能。C++的异常处理机制可以很好地对代码的异常进行捕捉,保证了在程序运行时出现错误不至于整个崩溃掉,也为我们对于运行时错误的处理提供了一种有效的途径。C++程序的依赖性小,对C++代码进行静态连接,就能保证生成的可执行程序在别的电脑上直接运行。

Java 语言是一种新的面向对象的程序设计语言,它除了几种基本的数据类型外,大都是类似 c++中的对象和方法,程序代码大多体现了类机制,以类的形式组织,由类来定义对象的各种行为。Java 语言与 C++ 类似,如果用户了解 C++和面向对象的概念,就可以很快编写出 Java 程序;此外,Java 又不同于诸如 C++语言提供的各种各样的方法,它只提供了基本的方法,这样就减少了编程的复杂性。Java 语言虽然简单,但很高效,它可以用面向对象的方法来描述用户的每一个动作。Java 同样支持类继承,这样也减少了程序设计的复杂性。Java 程序可以在任何平台上运行,如 MS-DOS, Windows,Unix 等,因此具有很强的移植性。由于它支持 TCP/IP 协议,使得用户可以通过浏览器访问到 Internet 上的各种动态对象。并且在网络上用户可以交互式地进行各种动作,而多线程技术的引入使得这种交互式操作更为容易。而汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。所以汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。汇编语言针对不同的操作系统平台,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。但是汇编语言是针对专门的控制器的,所以运行速度可以精确到一个指令周期。汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难读懂。汇编语言编写代码实时性强,能够直接控制硬件的工作状态,但是不具有可移植性,维护和修改困难。汇编语言有这样几个特点: 1.机器相关性这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。 2.高速度和高效率

汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O 端口等,且占用内存少,执行速度快,是高效的程序设计语言。 3.编写和调试的复杂性由于是直接控

制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源。这样,就不可避免地加重了程序员的负担。与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。汇编语言总是被称为是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是计算机(或微机)底层设计程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。只是,现在计算机最大的领域为 IT 软件,也是我们常说的计算机应用软件编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序相对提高,但是代价是需要更长的时间来优化,如果对计算机原理及编程基础不扎实,反而增加其开发难度,实在是得不偿失,对比 2010 年前后的软件开发,已经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不可以让一个团队使用汇编语言来编写所有的东西,花上几倍甚至几十倍的时间,不如使用其它语言来完成,只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下的必然结果。历史上,汇编语言曾经是非常流行的程序设计语言之一。但随着软件规模的增长,以及随之而来的对软件开发进度和效率的要求,高级语言逐渐取代了汇编语言。即便如此,高级语言也不可能完全替代汇编语言的作用。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码。由于这部分代码与硬件的关系非常密切,即使是 C 语言也会显得力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。第一、汇编语言的大部分语句直接对应着机器指令,执行速度快,效率高,代码体积小,在那些存储器容量有限,但需要快速和实时响应的场合比较有用,比如仪器仪表和工业控制设备中。第二、在系统程序的核心部分,以及与系统硬件频繁打交道的部分

可以使用汇编语言。比如操作系统的核心程序段、I/O 接口电路的初始化程序、外部设备的低层驱动程序,以及频繁调用的子程序、动态连接库、某些高级绘图程序、视频游戏程序等等。第三、汇编语言可以用于软件的加密和解密、计算机病毒的分析和防治,以及程序的调试和错误分析等各个方面。第四、通过学习汇编语言,能够加深对计算机原理和操作系统等课程的理解,能够感知、体会

和理解机器的逻辑功能。汇编语言是机器语言的助记符,相对于比枯燥的机器代码易于读写、易于调试和修改,同时优秀的汇编语言设计者经过巧妙的设计,使得汇编语言汇编后的代码比高级语言执行速度更快,占内存空间少等优点。虽然汇编语言也存在编写复杂程序时明显的局限性,依赖于具体的机型,不能通用,也不能在不同机型之间移植这样一些缺点。但是学习汇编语言向上可以理解各种软件系统的原理,打好技术理论基础;向下可以掌握硬件系统的原理,打好实践应用基础,所以说汇编语言的学习对于一个初学计算机或者说想真正了解计算机原理的编程人员是非常重要的。

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

微机原理与汇编语言课程设计报告

西北师范大学 计算机科学与工程学院 微机原理与汇编语言 课程设计报告 设计题目:中断控制点阵显示与音乐模块姓名: 学号: 专业班级: 系所中心: 指导老师: 起讫时间: 设计地点: 2016年8月20日

摘要 使用8086汇编语言,在唐都TD-PITE实验箱上进行硬件连线,在计算机上采用与该实验箱配套的软件进行输入,观察实验结果。设计思路是利用在实验箱上i386内集成的两片8259芯片分别进行中断,通过实验箱上的两个脉冲开关发送信号到总线上开放的两个中断口,送入CPU内部的8259中。此时按下脉冲开关kk1+,第一个中断发生,在16*16点阵上循环滚动显示“西北师大汇编设计李泓毅”,若按下kk2+则第二个中断发生,执行音乐模块子程序,利用8254芯片开始响应预先编排好的音乐。 【关键词】级联中断;8259芯片;16*16点阵;8254芯片;SPK音乐模块;脉冲信号

目录 摘要 (2) 第一章课程设计 (2) 1.1 目的和任务 (2) 1.2 设计环境、设备与器材 (2) 第二章设计内容和方案 (3) 2.1 设计内容 (3) 2.2 设计方案 (3) 第三章课程设计相关原理简述 (3) 第四章设计实现 (4) 4.1 系统设计框架结构 (4) 4.2 系统硬件设计 (4) 4.3 系统软件设计 (6) 4.4 程序流程图 (6) 4.5 核心数据结构 (8) 4.6 关键代码片段分析 (10) 第五章设计验证 (10) 5.1 验证步骤及结果 (10) 5.2 数据分析 (10) 5.3 遇到的问题及解决 (11) 5.4 需要讨论的其它问题 (11) 5.5 结论 (11) 第六章设计总结 (12) 第七章本课程教学建议 (13) 第八章参考文献 (13) 第九章附录:源代码 (13) 第一章课程设计 1.1 目的和任务 使用8259芯片进行中断程序设计,在第一个中断中响应字模显示模块,在第二个中断中响应音乐发声模块。

汇编课程设计

燕山大学 汇编语言课程设计说明书 题目:计算机钢琴程序 交通灯控制系统 学院(系):信息科学与工程学院 年级专业: 10级计算机科学2班 学号: 100104010113 学生姓名:马强 学号: 100104010116 学生姓名:夏洋 指导教师:何海涛、邹晓红 完成日期: 2013年7月3日

目录 1.课程设计的目的和意义........................................................................................................... - 2 - 1.1课程设计目的................................................................................................................ - 2 - 1.2课程设计的意义............................................................................................................ - 2 - 2.题目一:计算机钢琴程序....................................................................................................... - 2 - 2.1系统的主要功能............................................................................................................ - 2 - 2.2总体设计方案................................................................................................................ - 2 - 2.2.1扬声器驱动方式................................................................................................. - 2 - 2.2.2延时原理............................................................................................................. - 3 - 2.2.3键盘控制发声程序............................................................................................. - 4 - 2.2.4设计总结............................................................................................................. - 5 - 2.3作品使用说明................................................................................................................ - 6 - 3.题目二:交通灯控制系统....................................................................................................... - 6 - 3.1系统的主要功能............................................................................................................ - 6 - 3.2 系统工作原理............................................................................................................... - 6 - 3.2.1 8259的工作原理................................................................................................ - 6 - 3.2.2 8255A的工作原理:...................................................................................... - 7 - 3.2.3 8253的工作原理:............................................................................................ - 7 - 3.3总体设计方案................................................................................................................ - 7 - 3.3.1程序流程图......................................................................................................... - 8 - 3.3.2接口电路图....................................................................................................... - 11 - 3.4交通灯的设计总结...................................................................................................... - 11 - 4.课程设计心得体会................................................................................................................. - 12 - 5.参考文献................................................................................................................................. - 12 - 6.附录:程序代码..................................................................................................................... - 12 - 6.1计算机钢琴程序代码.................................................................................................. - 12 - 6.2交通灯控制系统代码.................................................................................................. - 14 -

汇编语言课程设计报告——实现加减乘除四则运算的计算器

汇编语言课程设计报告 ( 2011 -- 2012 年度第 2 学期) 实现加减乘除四则运算的计算器 专业 计算机科学与技术 学生姓名 班级 学 号 指导教师 完成日期

目录 目录 (2) 1概述 (1) 1.1 设计目的 (1) 1.2 设计内容 (1) 2系统需求分析 (1) 2.1 系统目标 (1) 2.2 主体功能 (1) 2.3 开发环境 (1) 3 系统概要设计 (2) 3.1 系统的功能模块划分 (2) 3.2 系统流程图 (3) 4系统详细设计 (3) 5测试 (4) 5.1 测试方案 (4) 5.2 测试结果 (4) 6小结 (5) 参考文献 (6) 附录 (7) 附录源程序清单 (7)

实现加减乘除四则运算的计算器 1 概述 1.1 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。 1.2 设计内容 能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\tasm>js 3+2 5 2 系统需求分析 2.1 系统目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。 2.2 主体功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入2个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 2.3 开发环境 TASM5.0集成环境

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

汇编课程设计报告

汇编课程设计报告

学 号: 课程设计 题目打印水仙花数 学院计算机科学与技术 专业计算机科学与技术 班级 姓名 指导教师

武汉理工大学《汇编语言程序设计》课程设计 2012 年 6 月28 日 课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:计算机科学与技术学院 题目: 打印水仙花数 初始条件: 理论:完成了《汇编语言程序设计》课程, 对微机系统结构和80系列指令系 统有了较深入的理解,已掌握了汇 编语言程序设计的基本方法和技 巧。 实践:完成了《汇编语言程序设计》的4 个实验,熟悉了汇编语言程序的设 计环境并掌握了汇编语言程序的 调试方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 进一步理解和掌握较复杂程序的设计方 法,掌握子程序结构的设计和友好用户界 3

2.1简要分析 2.1.1原理说明 可以用标签来接收三位数,标签的好处在于可以限制输入的位数,并且通过实际输入位数可以直接进行一部分的异常处理。 将数存到标签后,因为是以ASCII码的形式存的,所以需要进行转换,将其变成十六进制数,转换后将数字存到申请的内存字中。在转换成十六进制数的过程中,可以对输入的数进行异常处理,判断是否输入有误。 在输出水仙花数时,设置一个计数器,从100开始循环判断,直到等于用户输入的数为止,依次判断是否为水仙花数,决定是否输出该数。 在输出时,分别取出水仙花数的个、十、百位数,转换成ASCII码再输出。 系统提示是否继续后,程序对用户输入的信息进行判断,若为y或Y则系统回到初始状态,若为n或N则退出系统,若为其他则提示输入错误并重新输入。 2.1.2程序流程图

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

汇编语言课程设计报告

课程设计报告 课程名称课题名称 汇编语言程序设计 1.显示彩色菱形 2.显示系统当前时间 专业 班级 学号 姓名 指导教师 年月日

课程设计任务书 课程名称汇编语言程序设计 课题 1.显示彩色菱形 2.显示系统当前时间专业班级 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

一、设计内容与设计要求 1.设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能 够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。 (1)、编制一计算比赛成绩的程序,要求完成以下功能: a、9 名评委,每个评委给分范围为 0~100(整数); b、9名评委给分中,去掉一个最高分和一个最低分,剩余7 名评委的平均分即为参赛者的得分(精确到小数点二位); c、将得分在光标位置处显示出来。 (2) 、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30 字的 grade 数组中,各数据的格式为: 学号,成绩 1,成绩 2,?,成绩 5 然后根据 grade 中的学生成绩,把学生名次填入rank 数据组中,并显示出来,格式为:学号,名次 (3)、利用 INT 1CH(大约每秒中断 18.2 次)编写一个中断驻留程序,要求在屏幕的右 上角显示计算机中当前系统时间,显示格式为 时:分: 秒:1/100 秒 (4)、输入一个菱形的两条对角线长,在屏幕上用‘ * ’号画出一个彩色的菱形。 (5)、设置图形方式并显示彩条,要求: 选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次, 一直到整个屏幕都显示出彩条 2.设计要求: 掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一 些实际的问题,为将来编写软件积累一些典型的案例处理经验。 (1)、设计正确,方案合理。 (2)、界面友好,使用方便。 (3)、程序精炼,结构清晰。 (4)、设计报告 5000 字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 (5)、上机演示。 (6)、按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编

汇编语言课程设计报告

农林大学金山学院 课程设计报告 课程名称:汇编语言课程设计 课程设计题目:动画设计“我爱大自然”姓名: 系:信息与机电工程系 专业:电子信息工程 年级:2008级 学号:082230066 指导教师:\ 职称:助教 2009~2010学年第二学期

目录 1 课程设计的目的 (2) 2 课程设计的要求 (2) 3课程设计报告容 (2) 3.1设计思路 (2) 3.2程序流程图 (2) 3.3设计源程序 (5) 3.4动画示意图 (19) 4 总结 (20) 5参考文献 (20) 6评分标准 (21)

动画设计“我爱大自然” 一、课程设计的目的 《汇编语言课程设计》是电子信息工程专业集中实践性环节之一,是学习完《汇编语言》课程后进行的一次全面的综合练习。其目的是: 培养学生熟练掌握汇编语言指令系统,深化和巩固指令系统和编程方法,提高学生的编程应用能力。为将来从事专业工作打下基础,培养良好的职业道德和严谨的工作作风。 二、课程设计的要求 1)具备初步的独立分析和解决问题的能力; 2)初步掌握问题分析、系统设计、程序编码、测试等基本方法和技能; 3)提高综合运用所学的理论知识和方法的能力; 4)训练用系统的观点和软件开发一般规进行软件开发,培养科学的工作方法和作风; 5)设计的题目要求达到一定工作量,并具有一定的深度和难度; 6)编写出课程设计说明书。 三、课程设计报告容 (一)设计思路 “我爱大自然”这个程序中包含了比较多的景物,既有静态的也有动态的,其中还有一段音乐。为了节省存储空间,提高程序设计的效率和质量,使程序简洁、清晰,便于阅读,同时也为了便于修改和扩充,采用子程序设计技术和宏定义,根据程序要实现的若干主要功能及个功能块要调用的公共部分,将程序划分为若干个相对独立的模块,为每个模块编制独立的程序段,最后将这些子程序根据调用关系连成一个整体。 这样,整个程序就被分为几个子程序的有机统一。根据BIOS中断调用原理,设置80×25彩色文本显示方式,分别编写一个子程序显示“I LOVE NATURE,LET US GO AIRING”和一个子程序在屏幕上“画”树。这两个子程序所体现出来的事物都是的。为了实现小鸟

汇编语言课程设计-学生成绩管理系统

1、课程设计的目的、任务 《汇编语言》课程设计对于巩固汇编语言理论知识,加强学生的实际动手能力和提高学生综合素质十分必要。课程设计的目的主要是通过程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。 2、软件需求分析和设计 2.1学生成绩管理系统是对学生成绩的管理,其中包括以下几个模块: (1).插入一个数据(插入学生学号以及语数外三个成绩)。 (2)修改一个数据。 (3)删除学生成绩数据。 (4)查找学生成绩。 (5)查看学生成绩的排名 (6)查看学生成绩分布 (7)按esc键退出系统 2.2学生成绩管理系统应该包含以下信息:学号,语文成绩,英语成绩,数学成绩。因此,系统应该提供以下功能: (1)输出显示菜单。 (2)输入学生的成绩 (3)修改学生成绩 (4)删除学生成绩 (5)查询学生成绩 (6)显示学生成绩排名 (7)显示成绩分布统计 (8)按esc键退出系统

2.3依据程序的功能需求,该系统的功能结构图如下 系统功能结构图 2.4 程序流程图:

主程序流程图查找学生成绩

插入学生学号及成绩修改学生的成绩 显示各个学科各分数段的人数 3、程序实现说明

3.1学生管理系统中各子程序如下: (1).输入全部学生学号以及语文,英语,数学三科的成绩。 子程序名:insert 子程序描述:该子程序为输入字程序。系统在开始的时候是没有数据的,通过该子程序可以初始化系统,将学生的学号及成绩输入系统。 代码: insert proc near ;定义进程子程序:插入学生,学号及 成绩 call input ;调用input add n,1 ret insert endp (2).修改输入的成绩。 子程序名:modify 子程序描述:通过子程序修改学生的成绩 代码: modify proc near ;定义进程子程序:修改学生学号,成绩 md1:output mess1 ;输出mess1 shuru ;调用宏shuru:二位数据输入 mov bl,n mov bh,0 mov al,dl mov si,0 md: cmp al,xh[si] ;先查找输入的学生是否存在 je qq1_1 ;查到的话,就跳转到qq1_1输入修改的值, 也就是重新输入。;结果相等则跳转到qq1_1 add si,1

《汇编语言程序设计》考核方式

考核方式与要求 期末总成绩构成:期末开卷考试60% + 平时作业10% + 实验和实验报告30%。 1、试卷考核方式与要求 “汇编语言程序设计”的课程要求是使学生具有一定的程序设计能力。虽然课程是通过80x86微处理机来开展教学的,但学习的重点不仅仅是学会80x86指令的语法和规范,更重要的是通过多读程序、多练习编写程序来掌握程序设计的基本方法和技术,要求学生在工作中遇到其他机型,都应该能利用所掌握的方法和技术顺利解决实际问题。因此,我们在教学过程的各个环节,特别是具有指挥棒作用的考核环节中,着重体现了“能力培养是首位”的指导思想。 为此,汇编课一直实行多元化考核方式,在考核评分上,平时练习和上机实验占40%,期末考试占60%。期末考试实行开卷考试,这样学生平时学习的关注点就会放在分析问题和编程实现的方法上,有利于学生开阔思路,发挥自身创造力。每年设计开卷考试的考题是有一定难度的,教师必须非常熟悉课程的知识点、重点和难点,以及体现这些知识和能力水平的多种题目类型。 2、实验方式与要求 实验的目标为:加强课堂上相关理论和技术学习的有效性;提高学生上机编程和调试的能力;培养学生科学实践的理念和独立分析问题、解决问题的能力。其设计思想是:实验内容兼顾基础性和综合性,实验题目由简单→复杂,程序功能由单一→综合,实验安排有基本要求题+自选题,实验题类型有验证型和自主创新设计型。 √实验课组织形式: 1.系教学实验室按课程要求负责上机环境配置及实验设备管理; 2.以班为单位组织上机实验,并将上机时间安排表发至每位同学; 3.每单元实验课安排一位助教(助博)负责实验指导和答疑; 4.学生每做完一个实验即可提交老师验收,老师将实验运行结果记录下来作为实验成 绩的依据。验收时教师要注意发现比较突出的好的实验例题(完成时间短、程序运行效率高); 5.要求提交实验报告,根据实验报告及实验运行结果的记录,评出实验成绩,实验成 绩一般占总成绩的30%。 √教师指导方法: 1.大课集体指导。每学期实验前教师安排一次实验指导课,讲解实验方法和实验要求; 2.每次实验课都安排助教(助博)进行个别或集体的实验指导和答疑; 3.对具有共性的、问题比较多的实验,主讲教师在课堂上再进行集体指导; 4.每学期对实验中出现的问题,对照实验题目进行分析、总结,以利于以后的教学。 5.对于实验中有创新点的学生,还可以请他上讲台为同学们介绍他的设计思路,引发大家展开讨论。

汇编语言课程设计题2012

《汇编语言与微机原理》课程设计题目(2012) 题目一定时/计数技术应用程序设计 设计一个数字钟,在屏幕上显示分:秒(mm:ss)。按下非空格键开始计时,并显示 00:00,每过1 秒,ss 增1,到60 秒mm 增1,到60 分就是1 小时。经过1 小时后又回到00:00 重新计数。当按下空格键时,程序返回DOS,数字钟消失。 题目二信息检索程序设计 完成一个信息检索系统。在数据区,有9 个不同的信息,编号0-8,每个信息包括40 个 字符。从键盘接收0-8 之间的一个编号,然后再屏幕上显示出相应编号的信息内容,按“q” 键退出。 题目三图形变换程序设计 完成一个图形变换的程序,系统具有4 种可选择的功能,按字母“Y”画一个用点组成的 圆;按字母“S”画一个用不同颜色填充的三角形;按字母“Z”画一个用不同颜色填充的 矩形;按“q”键退出。 题目四代码转换程序设计 完成一个字母或数制之间的转化程序,主程序分别具有 5 种可选择的子功能,按相应的字符 可分别进入相应的子功能并在屏幕上显示结果,按“q”键退出。 5 种可选择的子功能分别为: 1)实现小写字母向大写字母的转换 2)实现大写字母向小写字母的转换 3)实现二进制数向十六进制数的转换 4)实现十六进制数向二进制数的转换 5)实现十六进制数向十进制数的转换 题目五中断处理程序设计 编写一个中断处理程序,要求在主程序运行过程中,每隔20 秒响铃一次,同时在屏幕上 显示信息”The bell is ring!”,按键后恢复原状。 题目六指法练习程序 1.从屏幕上方以一定的时间间隔随机落下可显示字符,字符的出现位置亦是随机的; 2.在多个字符(可以简化为仅有一个字符)下落的过程中可输入任意键,若键入与其中的 任意一个字符相匹配的键,则该字符高亮显示并发出蜂鸣声,同时计分; 3.按ESC 键结束练习并显示命中率; 4.再次按ESC 键退出。 题目七密码设置模拟 编写程序可以进行密码的设置(第一次)和修改(已设置密码)。要求输入的密码用*显示。 题目八计算器

河北工业大学汇编语言知识程序设计实验

汇编语言程序设计实验 网络*** *** 实验一 顺序与分支程序设计 一 、实验目的 1) 掌握顺序程序设计方法。 2) 掌握分支程序的结构及分支程序的设计,调试方法。 2) 学习数据传送及算术和逻辑运算指令的用法。 3) 熟悉在pc 机上建立、汇编、连接、调试和运行汇编语言程序的过程。 二、实验内容 1.实验六 从键盘上接收一位十进制数x ,计算y 值,并以十六进制形式显示出来,y 按下列公式计算。 ???????===-=+=) 6(2/) 5()4(2) 3(22 2 2X X X X X X X X X X Y 2..实验七 实验内容:从键盘上接收两个一位十六进制数x 和y ,然后再输入一个a-d 之间的一个字符,按下列要求计算。 a) 当输入字符为a ,则计算x+y ,并以十六进 制形式显示出来 b) 当输入字符为b ,则计算|x-y|,并以十六进制形式显示出来 c) 当输入字符为c ,则计算x*y ,并以十六进制形式显示出来 d) 当输入字符为d ,则计算x/y ,并以十六进制形式显示出来 三、实验代码 实验六 DATE SEGMENT X DB ?

DATE ENDS ;数据段 CODE SEGMENT ASSUME CS:CODE,DS:DATE START:MOV AX,DATE ;代码段 MOV DS,AX ;初始化ds寄存器 MOV AH,1 INT 21H ;读文件到缓冲区 CMP AL,33H ;比较指令 JB L0 ;A

相关文档
最新文档