【www.gbppp.com--题目解答】
华 北 科 技 学 院
课程设计说明书
课程名称
班 级姓名:_ 杜晓春
学 号:__ 200807014330
设计题目: Win32编写记事本
设计时间: 7/1/2010
指导教师:_ _ 陈振国
评 语
评阅成绩: 评阅教师:____
一、课程设计目的
使用所学过的汇编语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。
二、课程设计要求
1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。
2.遵循模块化、结构化的程序设计方法。
3. 要求程序必须正确。
4. 程序简明易懂,多运用输入输出提示,出错信息及必要的注释。
5. 要求程序结构合理,语句使用得当。
6. 适当追求编程技巧和程序运行效率。
三、课程设计题目:
Win32记事本
要求:能实现基本菜单框架并打开窗口,有能力的同学可以编写进行数据录 入并保存的代码
四、课题分析
用32位汇编语言以WINDOWS SDK编程的模式编写记事本,为编写一个简洁可用的记事本程序,选择以对话框为程序主界面,通过RichEdit控件直接进行文本的录入、读取、存储等操作。菜单项中设置基本的文件新建、打开、保存、退出,及文本的撤销、重做、删除、剪切、复制、粘贴、全选功能,同时加入工具栏,工具栏上加入基本常用的功能按钮。
五、流程图
六、程序源代码
记事本.rc
#include "res/记事本Res.rc"
#include "res/记事本Mnu.rc"
#include "res/记事本Dlg.rc"
#include "Res/关于Dlg.rc"
记事本Res.rc
#define IDB_TBRBMP 1212
#define IDI_ICON 1213
IDB_TBRBMP BITMAP DISCARDABLE "Res/工具栏图标.bmp"
IDI_ICON ICON DISCARDABLE "Res/图标.ico"
记事本Mnu.rc
#define IDM_MENU 10000
#define IDM_FILE_NEW 10001
#define IDM_FILE_OPEN 10002
#define IDM_FILE_SAVE 10003
#define IDM_FILE_SAVEAS 10004
#define IDM_FILE_EXIT 10006
#define IDM_EDIT_UNDO 10101
#define IDM_EDIT_REDO 10102
#define IDM_EDIT_DELETE 10103【汇编课程设计】
#define IDM_EDIT_CUT 10104
#define IDM_EDIT_COPY 10105
#define IDM_EDIT_PASTE 10106
#define IDM_EDIT_SELECTALL 10107
#define IDM_HELP_ABOUT 10201
IDM_MENU MENUEX
BEGIN
POPUP "文件"
BEGIN
MENUITEM "新建",IDM_FILE_NEW
MENUITEM "打开",IDM_FILE_OPEN
MENUITEM "保存",IDM_FILE_SAVE
MENUITEM "另存为...",IDM_FILE_SAVEAS
MENUITEM "",,0x00000800
MENUITEM "退出",IDM_FILE_EXIT
END
POPUP "编辑"
BEGIN
MENUITEM "撤销",IDM_EDIT_UNDO
MENUITEM "前进",IDM_EDIT_REDO
MENUITEM "删除",IDM_EDIT_DELETE
MENUITEM "",,0x00000800
MENUITEM "剪切",IDM_EDIT_CUT
MENUITEM "复制",IDM_EDIT_COPY
MENUITEM "粘贴",IDM_EDIT_PASTE
MENUITEM "全选",IDM_EDIT_SELECTALL
END
POPUP "帮助"
BEGIN
MENUITEM "关于",IDM_HELP_ABOUT
END
END
记事本Dlg.rc
#define IDD_DLG 1000【汇编课程设计】
#define IDC_TOOLBAR 1001
#define IDC_RICHEDIT 1002
IDD_DLG DIALOGEX 228,88,596,499
CAPTION "记事本"
FONT 7,"宋体",400,0
CLASS "DLGCLASS"
STYLE 0x96CF0000
EXSTYLE 0x00000000
BEGIN
CONTROL
"Test",IDC_TOOLBAR,"ToolbarWindow32",0x52000800,0,0,596,24,0x00000000 CONTROL
"",IDC_RICHEDIT,"RichEdit20A",0x503010C4,0,24,597,533,0x00000200 END
关于Dlg.rc
#define IDD_DLG1 3000
#define IDC_STC1 1001
#define IDC_IMG1 3001
IDD_DLG1 DIALOGEX 266,133,136,50
CAPTION "关于"
FONT 9,"宋体",400,0,134
STYLE 0x10CF0000
EXSTYLE 0x00000080
BEGIN
CONTROL "Win32 汇编记事本 计科B093 杜晓春", IDC_STC1,"Static",0x50000000,50,10,78,32,0x00000000
CONTROL "#1213",IDC_IMG1,"Static",0x50000203,4,4,42,38,0x00000000 END
记事本.inc
include windows.inc
include user32.inc
include kernel32.inc
include shell32.inc
include comctl32.inc
include comdlg32.inc
include gdi32.inc
攀枝花学院
学生课程设计(论文)
题 目: 判断闰年程序
加减乘除四则计算
学生姓名: 张伟 学 号: 201010801089 所在院(系): 计算机学院 专 业: 计算机科学与技术 班 级: 10级计算机科学与技术2班 指 导 教 师: 蔡旻甫 职称: 讲师
2012 年 1 月 6 日
攀枝花学院本科学生课程设计任务书
课程设计(论文)指导教师成绩评定表
摘 要
通过本学期学习汇编语言,掌握一定的编程技能,汇编语言也是计算机应用中重要的语言之一。本课程设计编写判断闰年程序和加减法四则运算两个程序。程序一功能从键盘输入年份,然后计算判断该年份是否为闰年,判断闰年的规则是:如果某一年能被4整除但不能被100整除或者该年能被400整除,则该年为闰年(程序一为我此次实验的侧重点)。程序二功能从键盘接收输入数字完成加减乘除取余的四则运算。将课本上的子程序调用和宏定义等有关知识和实际应用有机的结合起来,提高分析和解决实际问题的能力;通过对通讯录汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程序的编程,从而提高自身实践编程能力。
关键词 汇编,判断闰年,四则运算,DOS功能调用,Debug调试
计算机与信息工程学院
《汇编语言》课程设计论文
设计题目 电子表显示程序
专 业 计算机科学与技术
班 级
学 号
姓 名
指导教师
起止日期 2011-6-27~2011-7-1
成 绩
黑龙江科技学院
课程设计任务书
一、设计题目: 电子表显示程序
二、设计的主要内容: 字符组成的“七段”码图形显示,时分秒的分隔符用“:”表示。这些字符预先定义在数据段的字符图形表里,利用BIOS INT 1AH的2号系统功能调用,读出系统时间,置换成字符图形表中的图
课程设计指导教师评阅意见书
指 导 教 师:
摘要
通过汇编程序编写程序实现用电子表的形式显示系统时间。通过BIOS INT 1AH的2号系统功能调用提前定义好的图形字符,读出计算机系统时间,置换成提前定义好的图形字符显示。对于系统时间的不断变化,采用不停的读取系统时间保存在寄存器中并与前一次的进行比较,在不相同的情况下调用相应的图形字符予以显示,先进行秒的比较,满60秒再进行分的,时的比较。最终实现时间的连续变化。用七段码电子表显示程序系统时间,此程序设计的关键是随系统时间的变化,用字符组成图形数字如何进行相应的变化。根据七段码电子表显示程序设计的要求,写出七段码电子表显示程序的源代码,画出程序运行的流程图,输入计算机进行运行,发现并找出其中的错误并加以修改,反复调试程序,直到得出正确结论为止。通过对七段码电子表显示程序的设计,初步掌握汇编语言程序设计的方法。 关键词:系统时间、电子表、BCD码
1. 背景分析及意义
汇编语言是计算机能够提供给用户使用的最快而又最好最有效的语言。汇编语言虽不是高级语言但汇编语言具有潜在的优点,以速度而论,汇编语言程序远比高级语言快的多,所以,我的这次关于电子表的设计就是在汇编语言的各种指令下编译完成的。汇编语言课程设计为我们学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力,了解更多的汇编语言指令。
2. 总体设计思想
数字0~9中的每个数字用“|”和“—”字符组成的“七段”码图形显示,时与分、分与秒之间的两点用“:”表示。这些字符预先定义在数据段的字符图形表里,利用BIOS INT 1AH的2号系统功能调用,读出计算机系统的时间(为BCD码),置换成字符图形表中的图形字符显示。
本程序设计的关键是随着系统时间的变化,用字符组成的图形数字如何进行相应的变化。方法是:不停地读取系统时间并保存在寄存器中,将每次取出的时间显示并与前一次比较,先比较“秒”值,在不同的情况下(系统时间发生了增1的变化),则调用相应的图形字符显示,在不超过60秒的情况下,重复比较秒,然后再比较和显示“分”值与“小时”值。
3. 完成的主要功能
利用BIOS和DOS的系统功能调用,能将计算机系统的时间读出并显示出来用电子表“时:分:秒”(都是两位)的形式显示系统时间
4. 软硬件环境要求
计算机一台Windows系统、MASM
5. 流程图
课程设计
2013~ 2014学年第二学期
设计题目 汇编语言程序设计课程设计-打字练习程序的设计
院(系) 计算机科学与信息工程学院 专 业 计算机科学与技术 班 级 学号
学生姓名
设计时间 2014年 6 月 30 日——2014年7 月 5日 指导教师
提交日期 2014年7月5日
上海应用技术学院课程设计任务书
指导教师(签名): 教研室主任(签名):杨晶鑫
2014年 6 月 25 日 2014年 6 月 25 日
目录
上海应用技术学院课程设计任务书 ..................................................... i错误!未定义书签。 目录 ............................................................................................................................................ iii 1 概述 ..................................................................................................................................... 1
1.1 基本功能 ......................................................................................................................... 1
1.2 拓展功能 ......................................................................................................................... 1
1.3 宏调用 ............................................................................................................................. 1 2 详细设计说明 ..................................................................................................................... 1
2.1 原“TYPETEST.ASM”程序结构 ...................................................................................... 4
2.2 已经实现的功能(修改的、新编写的)程序结构 ..................................................... 5
2.21 用户界面 ......................................................................................................................... 7
2.22用户密码验证…………………………………………………………………………
2.23游戏功能模块…………………………………………………………………………
2.24游戏难度选择…………………………………………………………………………
2.25游戏计分、计个数、显示已输出字母………………………………………………
2.26游戏自动升级并变色…………………………………………………………………
2.27游戏结束模块………………………………………………………………………… 3 对该“打字练习程序”的进一步设想 ... 9
3.1
3.2
3.3
3.4
4 春眠不觉晓 ................................................................................... 错误!未定义书签。 处处闻啼鸟 ................................................................................... 错误!未定义书签。 夜来风雨声 ................................................................................... 错误!未定义书签。 花落知多少 ................................................................................... 错误!未定义书签。 课程设计总结 ................................................................................................................... 12
4.1
4.2
4.3
4.4 故人西辞黄鹤楼 ........................................................................... 错误!未定义书签。 烟花三月下扬州 ........................................................................... 错误!未定义书签。 孤帆远影碧空尽 ........................................................................... 错误!未定义书签。 惟见长江天际流 ........................................................................... 错误!未定义书签。 5 软件使用说明 ................................................................................................................... 23
5.1 长风破浪会有时 ........................................................................... 错误!未定义书签。
5.2 直挂云帆济沧海 ........................................................................................................... 23 参考文献 ................................................................................................... 错误!未定义书签。 附录 ........................................................................................................... 错误!未定义书签。
1 概述
这次课程设计主要是用汇编语言设计一个打字游戏,任务是要设计一个具备输入输出界面、调用宏指令、用户密码设置、显示当天日期,游戏难度级别划分、游戏显示分数、正确的个数等,以及扩展功能限定时间或者到达要求的分数游戏停止、难度等级自动提高屏幕变色,以及底行笑脸消失字母不在此行下落等功能。
本程序的设定考虑到用户使用的方便以及用户资料的保密性,界面简洁方便于用户操作,为此程序的正确性和健壮性尤为重要,所以编写程序时,要不断进行调试,以确保程序没有BUG。
1.1 基本功能
本游戏有一下几大功能:
1..显示功能
菜单显示、时间显示、功能显示、字母显示,动态字母。
2.用户输入界面,设置安全密码
3.当天日期显示
4.游戏难度级别划分选择以及自动提升难度。
5.为用户打分,正确输入字母使用时间越少,得分越高;
6.在屏幕右上角显示用户得分、已输入字母数、正确数;
7..结束界面
1.2 拓展功能
1.设置限定时间,到达该时间,用户尚未得到要求的分数时,游戏停止;
2.到达限定时间,用户得分达到预设的值时, 自动提高难度等级,屏幕变色;
3.修改程序,底行的笑脸字母消失后,不再在该列下落字母(提示:设置数组记录笑脸字母的存在与否)。笑脸字母全部消失后,游戏停止,显示告别画面,显示用户成绩。 其他任务
1.3 宏调用
为了使代码简化,所以程序中多次用到宏调用。
宏定义一:
Init_boarder macro row, col, char, dhdl, count
字符,count=次数
;边框宏定义,row=行,col=列,char=
Local ll mov mov mov mov mov int push mov mov mov mov int pop inc loop 10h 10h cx dhdl ll
; 清屏宏定义 cx ah, 0ah al, char bh, 00h cx, 01h ;在光标位置显示字符 ;al=字符,cx=字符重复次数,bh=显示页 cx, count dh, row dl, col ah, 02h bh, 00h ;置光标位置,bh=页号,dh/dl=行/列 ll: 宏定义二: clear_screen macro top, left, bottom, right,color
mov mov mov mov mov mov mov int mov mov mov mov int 10h 10h ah, 02h ;置光标位置,bh=页号,dh/dl=bh, 00h dh, 00h dl, 00h ah, 06h al, 00h bh, color ch, top cl, left dh, bottom dl, right ;ch/cl=左上角行/列号,dh/dl=右上角行/列号 性质 ;屏幕初始化 al=上卷行数,bh=卷入行行/列
endm
宏定义三:
汇编语言实验报告 专业班级:
姓 名: 王 丹
学 号: 1108060090
指导老师: 王晓鹏
一、课程设计的性质和目的:
通过课程设计,进行程设计方法和技能的基本训练,巩固在课堂上学到的有
关软件程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉
汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言
程序的水平。
二、课程设计的要求:
1、遵循模块化、结构化的程序设计方法。
2、要求程序必须正确。
3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。 4、要求程序结构合理,语句使用得当。
5、适当追求编程技巧和程序运行效率。
三、主要仪器设备及软件:
PC机、MASM汇编软件。
四、课程设计题目及要求:
题目:汇编数组排序(选用冒泡排序算法)
五、课题分析及设计思路:
冒泡排序:
依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:
首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2
个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两
个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最
后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3
个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放
后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第
二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列
中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
冒泡排序可分为正向和逆向两种排序.通过主程序对子程序的调用来
完成输入输出,排序,循环,转化等功能。
六、程序主要流程图:
冒泡排序法实现整数排序
一、 实验目的
掌握用汇编语言实现排序,选用冒泡排序算法。
二、 实验内容
输入20个以内的不超过0-99的整数,进行排序后输出结果。
三、 源程序
DATA SEGMENT
NOTE1
H,0AH
DB 'Please input 20 (or less) numbers (0~99):',0DH,0AH,'$' NOTE2
H,0AH
DB 0DH,0AH,'The inputed numbers: ','$'
NOTE3
H,0AH
DB 0DH,0AH,'How many decimal integers? $'
NOTE4 DB 0DH,0AH,'The sorted result: ',0DH,0AH,'$'
ERR_STR
0DH,0AH,'******************************************************************',0DH,0AH DB 'Input error!',0DH,0AH
CON_STR
0DH,0AH,'******************************************************************',0DH,0AH DB 0DH,0AH,'Continue? Y or N?','$'
DEC_STR DB 200 ;用来存放输入的原始数据 DB ?
DB 150 DUP('$')
TOTAL DB 3 DUP('$') ;用来记录输入的数字个数
DEC_NUM DW 30 DUP(?) ;用来存放将输入的ASCII码转换成2进制数以便比较的结果
OUT_STR DB 150 DUP('$') ;存放待输出的字符组信DB DB DB 0DH,0AH,'==================================================================',0D DB 0DH,0AH,'==================================================================',0D DB 0DH,0AH,'==================================================================',0D
课程设计报告
设计题目:课设1.光标轨迹程序
课设2.利用定时器编写两只老虎乐曲
学 院 信息科学与工程学院
年级专业
学生姓名
学 号
指导教师 张忠平 何海涛 邹晓红
课程名称 汇编语言与接口技术
提交日期 2014年7月11日
摘 要
课程设计一在TDDEBUG上,利用0B800H 设置彩色适配器的单色显示缓冲区,在黑色的屏幕上显示光标轨迹,画城墙、水平线等图,光标的移动受键盘上光标键的控制,如果键入ESCape键,则程序结束,返回DOS,其中UP DOWN RIGHT LEFT ESC 的运动受ASCII码控制
目 录
课设一
第 1章 绪论 .................................. 4
1. 课题背景.............................................4
第2章.课程设计 .............................. 4
2.1、课题设计目
的........................................4
2.2、课题设计内容.......................................4
2.3、课题中使用的关键技术及方法.........................4
2.3.1、位触
发.........................................4.
2.3.2、扬声器驱动.....................................5
2.3.3、乐曲构成.......................................6
第3章、设计步骤 ............................. 6
3.1、设计思路 ........................................... 6
3.2程序流程图 .......................................... 6
3.3、关键代码段实现与分析 ................................... 7
第4章、设计测试与结果 .............................. 9
4.1测试 ..................................................... 9
4.2.结果 ...................................................... 9 附件.....................................................10. 课设二
第1章、 绪论…………………………………………14
2
1.课题背景…………………………………………………………14. 第2章、课程设计……………………………………14
2.1、课题设计目的.......................................14.
2.2、课题设计内容.......................................14
2.3、课题中使用的关键技术及方法...........................14
2.3.1、定时器........................................14
第3章、设计步骤 ................................ 15
3.1、设计思路 ............................................. 15
3.2程序电路图 ............................................ 15
附件(程序段)................................................16
参考文献......................................................22
3
《汇编语言程序设计》
课程设计报告
姓 名: 郭晓宝 班 号:学 号:20121003120 院(系): 计算机学院
专 业: 网络工程 指导教师: 邵玉详
月
1.数字方阵程序
data segment
buf1 db '1 2 38 9 47 6 5'
buf2 db '1 2 3 412 13 14 511 16 15 610 9 8 7'
buf3 db '1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9'
dbuf db 14 dup(?) /用于存放每行的输出数据;
i1 db 0dh,0ah,'this is a fangzhen programme' /程序提示语;【汇编课程设计】
db 0dh,0ah,'input q to exit'
db 0dh,0ah,'Please input a number(3--5):','$'
i2 db 0dh,0ah,'input error,please reinput!','$'
n db ? /用于控制输出列数;
b db 1 /用于控制输出地方;
data ends
stack segment /设置堆栈段;
db 100 dup(?)
stack ends
code segment
assume ds:data,cs:code,ss:stack /设定段寄存器与段之间的关系;
main:
mov ax,data
mov ds,ax
call clear /调用子程序清屏;
lop: lea dx,i1 /目标地址传送指令,将I1首地址交给DX;
mov ah,9 /调用9号中断输出DX中的字符串;
int 21h
mov ah,1 /键盘输入并回显;
int 21h
cmp al,'q' /输入字符串如果是q,则退出;
jz quit
lea si,buf1 /设置缓冲区指针;
mov n,7 /设置每行输出的字符数包括空格;
mov cl,3 /设置循环次数;
call clear /清屏;
cmp al,'3' /输入的字符如果是‘3’,则跳转到‘3’;
jz s
lea si,buf2 /设置缓冲区指针;
mov n,10 /设置每行输出的字符数包括空格;
mov cl,4 /设置循环次数;
cmp al,'4' /输入的字符如果是‘4’,则跳转到‘4’;
jz s
lea si,buf3
mov cl,5
cmp al,'5'
jz s
lea dx,i2
本文来源:http://www.gbppp.com/jy/442807/
推荐访问:汇编课程设计题目 汇编课程设计目的