汇编语言课程设计报告

合集下载

汇编语言课程设计报告

汇编语言课程设计报告

汇编语言课程设计报告( 2013 -- 2014 年度第1 学期)课题名称:磁盘文件管理系统专业计算机科学与技术(网络技术)学生姓名班级学号指导教师完成日期目录1 设计目的 (1)2 概要设计 (1)2.1系统总体分析 (1)2.2主模块框图及说明 (1)3 详细设计 (3)3.1主模块及子模块说明 (3)3.2各模块详细设计 (5)3.2.1 主界面模块 (5)4 程序调试 (5)4.1运行界面分析 (5)4.2调试过程及分析 (7)5 心得体会 (9)5.1设计体会 (9)5.2系统改进 (10)参考文献 (11)附录 (12)附录1源程序清单 (12)附录1.1 磁盘文件管理系统模块源程序 (12)1 设计目的本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。

学会查阅和汇编语言相关的规范,手册等技术资料。

能正确绘制和使用流程图。

掌握汇编语言程序设计和程序调试的基本技能,能进行基本的软件设计。

“汇编语言”课程设计是计算机应用开发人员必须接受的最重要的专业训练之一,是计算机软、硬件的基础,利用汇编语言编写程序可以是我们更清楚地了解计算机是怎样完成复杂工作的,理解计算机对系统中各种设备的调度,从而从根本上认识计算机的工作原理,对课程所学理论知识的深化和提高。

因此,课程设计要求同学们熟悉汇编语言的编程,BIOS中断调用、dos系统功能调用、磁盘数据的查询、存取等相关知识。

通过课程设计,可以提高运用汇编语言编程解决实际问题的能力,为以后的学习和系统开发奠定良好的基础。

2 概要设计2.1 系统总体分析实现对磁盘文件的管理。

创建文件,向磁盘文件中写入信息,从磁盘文件中读出信息并显示,退出程序。

如果向磁盘中写入信息或者从磁盘中读取信息失败屏幕会显示打开文件错误的提示。

根据提示输入字符,如果输错可以返回并且从新输入。

汇编语言设计报告

汇编语言设计报告

实验报告课程名称: 指导老师: 成绩:__________________实验名称: 实验类型: 同组学生姓名:一、实验目的1. 熟悉80C51单片微机汇编语言设计及编程技巧。

2. 掌握逻辑运算程序的设计方法。

3. 掌握求最小数和最大数程序的设计方法。

4. 掌握多字节无符号十进制数加、减法程序的设计。

二、实验内容PART1 逻辑运算逻辑运算:根据下列逻辑运算式,编写程序计算运算结果。

Y=A ⊕B •C • D+A设: A =63H ,B=82H ,C=C5H ,D=36H 。

求Y=?PART2 求最小数和最大数求最小数和最大数:10个无符号数连续存放在以20H 为起始地址的RAM 中,找出其中的最小值存入30H 单元中,找出其中的最大值存入31H 单元中。

PART3 十进制加、减运算十进制加、减运算:286729+652430-752196=?在8051片内RAM 的20H~22H 中放入3字节被加数(低位在先)、23H~25H 放入加数(低位在先)、26H~28H 放入减数,结果存入2DH~2FH 单元(低位在先)。

三、主要仪器设备1. Micetek 仿真器一台2. 实验板一块四、实验详情PART 1 逻辑运算1、实验程序专业:姓名:学号:日期:地点:ORG 0000HSJMP MAINORG 0080HMAIN:MOV A,#82H ;将B值给累加器AMOV R0,#0C5H ;将C值给寄存器R0ANL A,R0 ;计算B和C逻辑与的值,并将结果存放在A中CPL A ;将A取反MOV R0,#63H ;将A值给R0XRL A,R0 ;计算两数异或的值,结果存于A中CPL A ;将A取反MOV R1,A;将A中的值存到R1中MOV A,#63H ;将A值给累加器AORL A,#36H ;计算A和D逻辑或的值CPL A;将A取反ANL A,R1 ;计算A和R1逻辑与的值END运行结果:A=80H程序功能:计算所给出逻辑运算式的值2、调试通过后的.LST文件ORG 0000H0000 807E SJMP MAINORG 0080H0080 7482 MAIN:MOV A,#82H0082 78C5 MOV R0,#0C5H0084 58 ANL A,R00085 F4 CPL A0086 7863 MOV R0,#63H0088 68 XRL A,R00089 F4 CPL A008A F9 MOV R1,A008B 7463 MOV A,#63H008D 4436 ORL A,#36H008F F4 CPL A0090 59 ANL A,R1END符号值类型AC = 00D6H CONST 常量ACC = 00E0H CONST 常量B = 00F0H CONST 常量DPH = 0083H CONST 常量DPL = 0082H CONST 常量EA= 00AFH CONST 常量ES = 00ACH CONST 常量ET0 = 00A9H CONST 常量ET1 = 00ABH CONST 常量EX0 = 00A8H CONST 常量EX1 = 00AAH CONST 常量F0 = 00D5H CONST 常量F1 = 00D1H CONST 常量IE = 00A8H CONST 常量IE0 = 0089H CONST 常量IE1 = 008BH CONST 常量IP= 00B8H CONST 常量IT0 = 0088H CONST 常量IT1 = 008AH CONST 常量MAIN = 0080H CODE 标号OV = 00D2H CONST 常量P= 00D0H CONST 常量P0 = 0080H CONST 常量P1 = 0090H CONST 常量P2 = 00A0H CONST 常量P3 = 00B0H CONST 常量PCON = 0087H CONST 常量PS = 00BCH CONST 常量PSW = 00D0H CONST 常量PT0 = 00B9H CONST 常量PT1 = 00BBH CONST 常量PX0 = 00B8H CONST 常量PX1 = 00BAH CONST 常量RB8 = 009AH CONST 常量REN = 009CH CONST 常量RI = 0098H CONST 常量RS0 = 00D3H CONST 常量RS1 = 00D4H CONST 常量SBUF = 0099H CONST 常量SCON = 0098H CONST 常量SM0 = 009FH CONST 常量SM1 = 009EH CONST 常量SM2 = 009DH CONST 常量SP= 0081H CONST 常量TB8 = 009BH CONST 常量TCON = 0088H CONST 常量TF1 = 008FH CONST 常量TH0 = 008CH CONST 常量TH1 = 008DH CONST 常量TI = 0099H CONST 常量TL0 = 008AH CONST 常量TL1 = 008BH CONST 常量TMOD = 0089H CONST 常量TR0 = 008CH CONST 常量TR1 = 008EH CONST 常量公有符号: 57私有符号: 0PART2 求最小数和最大数1、实验程序ORG 0000HAJMP MAINORG 0020HMAIN:MOV R0,#10H ;采样值数据区长度MOV DPTR,#20H ;采样值存放首地址MOV 30H,#0FFH ;最小值单元初始值设为最大数MOV 31H,#00H ;最大值单元初始值设为最小数LP:MOVX A,@DPTR ;取采样值CJNE A,30H,CHR ;数值比较CJNE A,31H,CHK ;数值比较SJMP LP1 ;两值相等,转移CHR:JNC LP1 ;A值大,转移MOV 30H,A ;A值小,移送30HCHK:JC LP1 ;A值小,转移MOV 31H,A ;A值大,移送31HLP1:INC DPTRDJNZ R0,LP ;继续END运行结果:30H中为最小值,31H中为最大值程序功能:取得20H 及以后的10个数,将其中的最小数存放于30H,最大数存放于31H2、调试通过后的.LST文件ORG 0000H0000 0120 AJMP MAINORG 0020H0020 7810 MAIN:MOV R0,#10H0022 900020 MOV DPTR,#20H0025 7530FF MOV 30H,#0FFH0028 753100 MOV 31H,#00H002B E0 LP:MOVX A,@DPTR002C B53005 CJNE A,30H,CHR002F B53106 CJNE A,31H,CHK0032 8008 SJMP LP10034 5006 CHR:JNC LP10036 F530 MOV 30H,A0038 4002 CHK:JC LP1003A F531 MOV 31H,A003C A3 LP1:INC DPTR003D D8EC DJNZ R0,LPEND符号值类型AC = 00D6H CONST 常量ACC = 00E0H CONST 常量B = 00F0H CONST 常量CHK = 0038H CODE 标号CHR = 0034H CODE 标号CY= 00D7H CONST 常量DPH = 0083H CONST 常量DPL = 0082H CONST 常量EA= 00AFH CONST 常量ES = 00ACH CONST 常量ET0 = 00A9H CONST 常量ET1 = 00ABH CONST 常量EX0 = 00A8H CONST 常量EX1 = 00AAH CONST 常量F0 = 00D5H CONST 常量F1 = 00D1H CONST 常量IE = 00A8H CONST 常量IE0 = 0089H CONST 常量IE1 = 008BH CONST 常量IP= 00B8H CONST 常量IT0 = 0088H CONST 常量IT1 = 008AH CONST 常量LP = 002BH CODE 标号LP1 = 003CH CODE 标号MAIN = 0020H CODE 标号OV = 00D2H CONST 常量P= 00D0H CONST 常量P0 = 0080H CONST 常量P1 = 0090H CONST 常量P2 = 00A0H CONST 常量P3 = 00B0H CONST 常量PCON = 0087H CONST 常量PS = 00BCH CONST 常量PSW = 00D0H CONST 常量PT0 = 00B9H CONST 常量PT1 = 00BBH CONST 常量PX0 = 00B8H CONST 常量PX1 = 00BAH CONST 常量RB8 = 009AH CONST 常量REN = 009CH CONST 常量RI = 0098H CONST 常量RS0 = 00D3H CONST 常量RS1 = 00D4H CONST 常量SBUF = 0099H CONST 常量SCON = 0098H CONST 常量SM0 = 009FH CONST 常量SM1 = 009EH CONST 常量SM2 = 009DH CONST 常量SP= 0081H CONST 常量TB8 = 009BH CONST 常量TCON = 0088H CONST 常量TF0 = 008DH CONST 常量TF1 = 008FH CONST 常量TH0 = 008CH CONST 常量TH1 = 008DH CONST 常量TI = 0099H CONST 常量TL0 = 008AH CONST 常量TL1 = 008BH CONST 常量TMOD = 0089H CONST 常量TR0 = 008CH CONST 常量TR1 = 008EH CONST 常量公有符号: 61私有符号: 0PART3 十进制加、减运算1、实验程序ORG 0000HAJMP MAINORG 0080HMAIN: MOV 00H,#01HMOV 20H,#29H ;将被加数放入20H-22HMOV 21H,#67HMOV 22H,#28HMOV 23H,#30H ;将加数放入23H-25HMOV 24H,#24HMOV 25H,#65HMOV 26H,#96H ;将减数放入26H-28HMOV 27H,#21HMOV 28H,#75HMOV A,20HADD A,23H ;最低字节相加DA A ;二-十进制调整MOV 29H,A ;将相加结果放入29HMOV A,21HADDC A,24H ;次地字节带进位相加DA A ;二-十进制调整MOV 2AH,A ;将相加结果放入2AHMOV A,22HADDC A,25H ;最高位字节进位相加DA A ;二-十进制调整MOV 2BH,A ;将相加结果放入2BHCLR C ;清零C标志位MOV A,#9AHSUBB A,26H ;求26H中二进制补码ADD A,29H ;加上补码DA A ;二-十进制调整MOV 2DH,A;将最低字节运算结果放入2DHCPL C ;标志位取反MOV A,#9AHSUBB A,27H ;求27H中二进制补码ADD A,2AH ;加上补码DA A ;二-十进制调整MOV 2EH,A;将次低字节预算结果放入2EHCPL C ;标志位取反MOV A,#9AHSUBB A,28H ;求28H中二进制补码ADD A,2BH ;加上补码DA A ;二-十进制调整MOV 2FH,A ;将最高字节运算结果放入2FHEND运行结果:2DH=63 ,2EH=69, 2FH=18程序功能:计算相应计算式的值2、调试后的.LST文件ORG 0000H0000 0180 AJMP MAINORG 0080H0080 750001 MAIN: MOV 00H,#01H0083 752029 MOV 20H,#29H0086 752167 MOV 21H,#67H0089 752228 MOV 22H,#28H008C 752330 MOV 23H,#30H008F 752424 MOV 24H,#24H0092 752565 MOV 25H,#65H0095 752696 MOV 26H,#96H0098 752721 MOV 27H,#21H009B 752875 MOV 28H,#75H009E E520 MOV A,20H00A0 2523 ADD A,23H00A2 D4 DA A00A3 F529 MOV 29H,A00A5 E521 MOV A,21H00A7 3524 ADDC A,24H00A9 D4 DA A00AA F52A MOV 2AH,A00AC E522 MOV A,22H00AE 3525 ADDC A,25H00B0 D4 DA A00B1 F52B MOV 2BH,A00B3 C3 CLR C00B4 749A MOV A,#9AH00B6 9526 SUBB A,26H00B8 2529 ADD A,29H00BA D4 DA A00BB F52D MOV 2DH,A00BD B3 CPL C00BE 749A MOV A,#9AH00C0 9527 SUBB A,27H00C2 252A ADD A,2AH00C4 D4 DA A00C5 F52E MOV 2EH,A00C7 B3 CPL C00C8 749A MOV A,#9AH00CA 9528 SUBB A,28H00CC 252B ADD A,2BH00CE D4 DA A00CF F52F MOV 2FH,AEND符号值类型AC = 00D6H CONST 常量ACC = 00E0H CONST 常量B = 00F0H CONST 常量CY= 00D7H CONST 常量DPH = 0083H CONST 常量DPL = 0082H CONST 常量EA= 00AFH CONST 常量ES = 00ACH CONST 常量ET0 = 00A9H CONST 常量ET1 = 00ABH CONST 常量EX0 = 00A8H CONST 常量EX1 = 00AAH CONST 常量F0 = 00D5H CONST 常量F1 = 00D1H CONST 常量IE = 00A8H CONST 常量IE0 = 0089H CONST 常量IE1 = 008BH CONST 常量IP= 00B8H CONST 常量IT0 = 0088H CONST 常量IT1 = 008AH CONST 常量MAIN = 0080H CODE 标号OV = 00D2H CONST 常量P= 00D0H CONST 常量P0 = 0080H CONST 常量P1 = 0090H CONST 常量P2 = 00A0H CONST 常量P3 = 00B0H CONST 常量PCON = 0087H CONST 常量PS = 00BCH CONST 常量PSW = 00D0H CONST 常量PT0 = 00B9H CONST 常量PT1 = 00BBH CONST 常量PX0 = 00B8H CONST 常量PX1 = 00BAH CONST 常量RB8 = 009AH CONST 常量REN = 009CH CONST 常量RI = 0098H CONST 常量RS0 = 00D3H CONST 常量RS1 = 00D4H CONST 常量SBUF = 0099H CONST 常量SCON = 0098H CONST 常量SM0 = 009FH CONST 常量SM1 = 009EH CONST 常量SM2 = 009DH CONST 常量SP= 0081H CONST 常量TB8 = 009BH CONST 常量TCON = 0088H CONST 常量TF0 = 008DH CONST 常量TF1 = 008FH CONST 常量TH0 = 008CH CONST 常量TH1 = 008DH CONST 常量TI = 0099H CONST 常量TL0 = 008AH CONST 常量TL1 = 008BH CONST 常量TMOD = 0089H CONST 常量TR0 = 008CH CONST 常量TR1 = 008EH CONST 常量公有符号: 57私有符号: 0五、实验总结。

课程设计报告汇编语言

课程设计报告汇编语言

课程设计报告
(本科)
课程:汇编语言
学号:1210461030 1210461016 姓名:豆建华钱爱萍
班级:12级计算机科学与技术系(2)班教师:吴昊
时间:
计算机科学与技术系
结果与分析(可以加页):
(1)提示界面
进入提示界面“WELCOME TO TIMEMASTER”根据提示请输入“D”或“T”或“Q”。

图2 提示界面图
(2)显示日期
输入“D”显示当前日期
图3显示日期图
(3)显示时间
输入“T”显示当前时间
图4显示时间图
(4)退出程序
输入“Q”退出程序
图5退出程序图
说明:以上截图为此次实验运行出来时的主要截图,其中图1为本实验的主流程图,分为三个部分,分别是日期的显示,时间的显示以及程序的退出。

图2是在屏幕中央显示提示信息(提示用户输入“D”或“T”或“Q”)。

图3是取当前系统日期:功能号为2AH,返回值送入CX,DX寄存器中。

图4是取当前系统时间:功能号为2CH,返回值送入CX,DX寄存器中。

汇编语言课程设计报告

汇编语言课程设计报告

课程设计报告课程名称:汇编语言程序设计课题名称:成绩评定姓名:班级:带教老师:报告日期:2009年电子信息学院目录第一章前言 (3)1.1 背景 (3)1.2基本功能要求 (3)第二章程序设计 (4)2.1题目基本内容 (4)2.2系统流程框图 (5)2.3课程设计的具体内容说明 (6)2.4课程设计中关键内容的分析设计说明 (6)第三章课程设计小结 (7)参考文献 (8)附录: (9)源程序代码 (9)第一章前言1.1 背景课程设计的主要目的是提高实践能力,包括对硬件的理解分析能力和汇编语言的编程能力。

与其他课程不同的是,本课程对硬件有较高的依赖性,因此课程设计的灵活性受到了一定的限制,最好有相应的实验平台支持(尤其是硬件部分),本次课程设计主要是汇编语言部分的练习,通过这部分的练习,学生应该熟悉汇编语言的寻址方式和指令系统,掌握BIOS和DOS系统的功能调用,编制较大程序时的基本方法和熟悉宏汇编的编程环境。

使学生既具备完备的理论知识,也能够解决实际学习中碰到的问题。

1.2基本功能要求1.显示简易的数字菜单,并根据选择的菜单号执行相应的分支程序,并得到正确的结果。

2.从键盘输入一个成绩能评定成绩的等级,并显示其结果。

第二章程序设计2.1题目基本内容设计题目:成绩评定具体要求:(1)显示简易数字菜单(2)输入成绩,显示成绩评定的等级(90-100为优,80-90为良,70-80为中,60-70为及格,60分以下为不及格)2.2系统流程框图图2.2.12.3课程设计的具体内容说明根据课题的要求,主要完成一下几方面的设计:1.显示简易数字菜单,根据选择的菜单号,执行相应的分支程序2.从键盘输入一个十进制数字(编写一个子程序)3.对输入的数据进行比较,显示相应成绩等级(优,良,中,及格,不及格可以分别用A,B,C,D,E表示)2.4课程设计中关键内容的分析设计说明1.简易数字菜单只有两个选择号(1~2),选择1表示就跳转到执行成绩评定的程序,选择2就返回到DOS窗口。

汇编语言课程设计报告

汇编语言课程设计报告

农林大学金山学院课程设计报告课程名称:汇编语言课程设计课程设计题目:动画设计“我爱大自然”姓名:系:信息与机电工程系专业:电子信息工程年级:2008级学号:*********指导教师:\职称:助教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、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE 及其它用于文件编辑的应用程序。

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

4、 LINK连接程序5、 DEBUG调试程序三、汇编语言源程序上机操作过程编辑源文件根据给定的任务,可编写程序。

如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。

一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的`源程序无误为止,然后以一个源程序文件(ASM文件)存盘。

将包含QE文件的工作磁盘插入驱动器A:。

进入QEA>QE进入全屏幕后可以开始编程。

文件名取为Myprog。

asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display message MOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。

汇编语言课程设计1实验报告

汇编语言课程设计1实验报告

汇编语言课程设计1实验报告一、引言本实验报告旨在探讨汇编语言课程设计1的实验内容和相关实验结果。

通过对实验的详细介绍和分析,可以更好地理解和应用汇编语言的基本知识和技术。

本实验报告分为以下几个部分进行讨论。

二、实验目的本实验旨在通过设计汇编语言程序,掌握汇编语言的基本语法和编程技巧,提高对计算机底层的理解和应用能力。

具体实验目的如下:1.熟悉汇编语言的基本知识和编程环境;2.学习如何使用汇编语言进行简单的数据处理和运算;3.掌握汇编语言中的跳转、循环和分支等控制结构;4.加深对计算机组成原理的理解和应用。

三、实验设计3.1 实验环境本实验使用的汇编语言编程环境为MASM(Microsoft Macro Assembler),具体配置如下:•操作系统:Windows 10•开发工具:MASM32•编辑器:Notepad++3.2 实验内容本实验的实验内容为实现一个简单的加法计算器程序。

具体要求如下:1.输入两个整数,并将其保存到内存;2.将两个整数相加,并将结果保存到内存;3.从内存读取结果,并输出到屏幕。

3.3 实验步骤下面是实验的具体步骤:1.打开MASM32开发工具,创建一个新的汇编语言项目;2.在编辑器中编写汇编语言程序,包括数据定义、输入输出处理和计算过程;3.使用MASM进行编译和链接,生成可执行程序;4.运行程序,输入两个整数,并查看输出结果。

四、实验结果经过以上步骤,我们成功实现了一个简单的加法计算器程序。

以下是实验结果的截图:Enter the first number: 10Enter the second number: 20The sum is: 30五、实验分析通过以上实验结果可以看出,我们的加法计算器程序能够正确地将输入的两个整数相加,并输出计算结果。

这证明我们所编写的汇编语言程序是正确的。

同时,通过这个实验,我们还可以总结出一些经验和教训:•在程序设计过程中,要仔细考虑数据定义和处理逻辑的正确性和合理性;•在编写汇编语言程序时,要注意语法和命令的正确使用,避免出现语法错误;•在调试程序时,要仔细检查每一步执行的结果,找出可能的错误原因。

《汇编语言程序设计课程设计》课程设计报告模板

《汇编语言程序设计课程设计》课程设计报告模板

课程设计2013~ 2014学年第二学期设计题目汇编语言程序设计课程设计-打字练习程序的设计院(系)计算机科学与信息工程学院专业计算机科学与技术班级学号学生姓名设计时间2014年 6 月 30 日——2014年7 月 5日指导教师提交日期 2014年7月5日上海应用技术学院课程设计任务书指导教师(签名):教研室主任(签名):杨晶鑫2014年6 月25 日2014年6 月25 日目录上海应用技术学院课程设计任务书..................................................... i错误!未定义书签。

目录............................................................................................................................................ i ii 1概述. (1)1.1基本功能 (1)1.1.1三级标题 (1)1.1.2代码的格式 (1)1.2拓展功能 (2)1.3其他功能 (4)2详细设计说明 (5)2.1原“TYPETEST.ASM”程序结构 (5)2.2已经实现的功能(修改的、新编写的)程序结构 (5)2.3欲穷千里目 (5)2.4更上一层楼 (5)3对该“打字练习程序”的进一步设想 (6)3.1春眠不觉晓 (6)3.2处处闻啼鸟 (6)3.3夜来风雨声 (6)3.4花落知多少 (6)4课程设计总结 (7)4.1故人西辞黄鹤楼 (7)4.2烟花三月下扬州 (7)4.3孤帆远影碧空尽 (7)4.4惟见长江天际流 (7)5软件使用说明 (8)5.1长风破浪会有时 (8)5.2直挂云帆济沧海 (8)参考文献 (9)附录 (10)1 概述开场白……(所有论文的正文内容样式设置为:论文正文)↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑1.1 基本功能一般,标题之后,次一级标题之前应该写些过渡性的话。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程名称课题名称汇编语言程序设计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)、按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编写、调整和运行。

源程序及编译生成各文件均保存在软盘中;(7)、按本任务书的要求,按附录的要求编写《课程设计报告》(Word 文档格式)。

并用 A4 的复印纸打印并装订;二、进度安排第18 周:星期 1下午2:00-5:30星期 2下午2:00-5:30星期 4下午2:00-5:30附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4 大小的图纸及程序清单)。

正文的格式 : 一级标题用 3 号黑体 , 二级标题用四号宋体加粗, 正文用小四号宋体; 行距为 22。

正文的内容 : 一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。

正文总字数要求在5000 字以上(不含程序原代码)。

目录课题一 :画出一个彩色的菱形 (1)一、课题的主要功能 (1)二、课题的功能模块的划分 (2)三、主要功能的实现 (4)四、程序调试 (5)五、总结 (6)课题二 :显示计算机中当前系统时间 (7)一、课题的主要功能 (7)二、课题的功能模块的划分 (7)三、主要功能的实现 (9)四、程序调试 (10)五、总结 (11)附件 (源代码 ) (12)1. 画出一个彩色的菱形 (12)2.显示计算机中当前系统时间 (17)课题一 :画出一个彩色的菱形一、课题的主要功能输入一个菱形的两条对角线长,在屏幕上用‘* ’号画出一个彩色的菱形。

程序运行时会有提示要求用户输入菱形的对角线长。

在界面上用户须分别输入菱形的横向和竖向对角线长。

程序会跟据输入的对角线长度计算出菱形所在的一个矩形区域(设置双重循环的参数),然后以( 0,0 )为原点横向为 X 轴,竖向为 Y 轴,建立坐标系。

先确定菱形的左顶点坐标为( 0,10 ),然后根据对角线长计算下顶点的坐标(L/2 ,10+W/2),再将菱形分成四个区域,在左下角的区域内判断要显示的‘* ’,再根据对称的关系将其他三个区域填满。

左下角区域的判断是根据那两个点的坐标建立的一次不等式,满足条件的显示。

用BIOS的02H 功能来设置光标位置,用09H功能来设置光标的位置显示字符及其属性,属性即为显示字符的颜色,每显示一个颜色就换一种。

二、课题的功能模块的划分输入对角线长计算参数设置光标位置判断是否满足条件显示图形结束图 1 系统功能模块本课题共分为五个模块,即输入对角线模块,计算参数模块,设置光标模块,判断模块,显示图形模块。

输入模块:MOV AH,01HINT 21H分为四个字符输入,第一,二个字符为横向长L ,先将第一个字符转化为数值 SUB AL,30H MUL N两位数,再加上第二个字符的数值个位数变为一个两位数,第二个两位数同理得竖向长W。

计算参数模块:本程序包括 A,B,E,X,Y ,I,OLD,NEI,WAI 参数需要计算, A=W/2 , B=L/2 ,E=B,X=DL,Y=DH,I 控制字符颜色 0-7 循环, LEA OLD,ATRI , NEI=B+1 ,WAI=A+1 。

设置光标模块 :将光标移至( 0,10+A),并从这点,逐行遍历完左下角的矩形区域。

其他三个区域根据对称的关系移动。

判断模块:根据 DX 中的内容取出 X=DL ,Y=DH ,代入不等式 BY<=AX+10 ,满足条件的点就显示出来。

显示图形模块:若此点满足条件就显示出来,每显示一次颜色就变一次,然后将光标移至其他三个区域对称的点显示,其他三个区域的坐标为(2E-X,Y )( 2E-X,20-Y )(X,20-Y )。

三、主要功能的实现本程序主要功能是两层循环中的判断和显示部分PUSH CXMOV CX,NEIPUSH CX设置光标位置获得 X,YBY<=AX+10?N Y在此点显示‘ * ’,颜色属性改变其他三个对称区域显示‘* ’,颜色属性改变N POP CX INC DL DEC CXCX=0?YDEC DH MOV DL,0POP CX DEC CXN CX=0?Y结束图 2 判断和显示流程图四、程序调试1.输入横向长度和竖向长度图 3 彩色菱形2.输入横向长度和竖向长度图 4 彩色菱形五、总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。

通过几天的课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论。

在设计的过程中遇到问题,可以说得是困难重重,所以在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。

在课程设计过程中,收获知识,提高能力,懂得怎么样去制定计划,怎么样去实现这个计划。

不畏艰难,勇往直前!课题二 :显示计算机中当前系统时间一、课题的主要功能本课题的主要功能是利用INT 1CH(大约每秒中断18.2 次)编写一个中断驻留程序,要求在屏幕的右上角显示计算机中当前系统时间,显示格式为时:分 :秒:1/100 秒完成该课题的系统时间功能,需要不断地同步显示当前系统时间,这里我们需要用到INT 1CH,平均每秒中断18.2 次,以这样的频率同步显示系统时间以满足人们的视觉效果。

完成系统时间同步的前提下还要读取系统时间和显示系统时间。

二、课题的功能模块的划分2.1 功能模块解释课题的功能模板就是在定义好数据之后,完成读取当前系统时间和显示当前系统时间两大模块。

包括获取原终端类型、保存原中断类型、设置新的中断类型、执行中断处理程序、应用堆栈保护现场、读取系统时间,然后分别将时间的 BCD 码转换为字符,在制定内存位置写入时间然后显示时间,最后恢复现场,中断返回。

该课题采用了调用子程序的思想来完成,主体功能都通过子程序来完成,中断模块、读取系统时间模块、显示系统模块、现场保护模块及现场恢复模块。

通过调用子程序的办法使本程序更加具有条理性,其中现场保护是为了使寄存器中有用的数据保存起来,让寄存器进行其他运算,现场恢复是使原来保存起来的有用的数据进行恢复,读取系统当前时间并使屏幕显示的时间与系统当前时间同步变化,这就不得不使用中断模块,运用 INT 1CH ,可以每秒中断 18.2 次,足以满足视觉上的同步。

2.2 功能模块流程图主程序显示当前系统时间子程序模块现读场取恢系中复断统及模当保块前护时模间块图 1 功能模块流程图显示当前系统时间三、主要功能的实现系统时间功能调用实现获取当前系统时间并显示当前系统时间。

步骤一:定好数据之后,在 DOS 环境下,用 2C 号取系统时间的功能,将时赋值给CH,将分赋值给 CL ,将秒赋值给 DH ,将 1/100 赋值给 DL 。

系统时间显示子函数 INT 1C 来具体实现当前系统时间,将从系统中读取的时、分、秒分别送入内存 T 到 T7,然后块装入指令把 SI 指向的存储单元读入累加器。

保护现场开始读取系统时间获取原中断类型1CH分别将时间的BCD 码转换为字符保存原中断类型在指定的位置写入时间并显示时间设置新的中断类型恢复现场执行中断处理程序中断返回图 2 时间显示流程图四、程序调试程序运行显示当前系统时间五、总结本文的主要内容是介绍用汇编语言(8086/DOS)实现一个显示系统时间的程序,在界显示系统时间,在设计过程中,首先是按照题目所给的具体要求,根据自己的设计思路,画出流程图,然后查阅相关资料,写出流程图中的各段子程序,把子程序放在Masm for Windows集成环境中进行调试,找出程序中的错误,并进行修改和不断完善,以得到符合要求的程序。

有了这些子程序后,我们就可以根据要求写出源程序,但在写源程序的过程中遇到了很多困难,经过反复调试跟修改,最终得到了符合要求的源程序。

一周的汇编语言课程设计结束了,我的收获很大。

通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对汇编的认识和理解,切实的提高了我的编程能力,补全了我的不足。

通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用 DEBUG指令。

在整个程序的编写中,调试占了很大部分的时间。

要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握 debug 命令,这对程序的调试是非常重要的。

相关文档
最新文档