logo资料库

微机课设报告.doc

第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
资料共39页,剩余部分请下载后查看
第一章 设计目的
第二章 概要设计
2.1 系统总体分析
2.2 主模块框图及说明
第三章 详细设计
3.1 主模块及子模块概述
3.1.1 主模块
3.1.2 子模块
3.2 各模块详细设计
3.2.1 界面初始化模块
3.2.2 菜单选择模块
3.2.3 鼠标初始化模块
3.2.4 鼠标状态获取模块
3.2.5 十进制有符号数输出模块
第四章 程序调试
4.1 运行界面分析
4.2 算法分析
4.3 调试过程与分析
第五章 心得体会
5.1 设计体会
5.2 系统改进
附 录
源程序:
课 设 报 告 XX 工程学院软件学院 题 班 姓 学 目: 四则运算 级: XX 名: XX 号: XX 指导老师: XX 日 期: 年 月 日
第一章 设计目的 ....................................................................................................................................................... 1 目 录 第二章 第三章 概要设计 ....................................................................................................................................................... 1 2.1 系统总体分析 ............................................................................................................................................... 1 2.2 主模块框图及说明 ....................................................................................................................................... 1 详细设计 ....................................................................................................................................................... 2 3.1 主模块及子模块概述...................................................................................................................................2 3.1.1 主模块 ............................................................................................................................................... 3 3.1.2 子模块 ............................................................................................................................................... 3 3.2 各模块详细设计........................................................................................................................................... 4 3.2.1 界面初始化模块 ...............................................................................................................................4 3.2.2 菜单选择模块 ...................................................................................................................................5 3.2.3 鼠标初始化模块 ...............................................................................................................................5 3.2.4 鼠标状态获取模块 ...........................................................................................................................5 3.2.5 十进制有符号数输出模块 ...............................................................................................................6 程序调试 ....................................................................................................................................................... 6 4.1 运行界面分析 ............................................................................................................................................... 6 4.2 算法分析 ....................................................................................................................................................... 8 4.3 调试过程与分析........................................................................................................................................... 8 心得体会 ....................................................................................................................................................... 9 5.1 设计体会 ....................................................................................................................................................... 9 5.2 系统改进 ....................................................................................................................................................... 9 第四章 第五章 附 录 1 源程序: ................................................................................................................................................................... 1
微机原理课程设计报告 第一章 设计目的 进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基 本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、 编制和调试一定规模的汇编语言程序的水平。 第二章 概要设计 2.1 系统总体分析 本程序以 windows XP 下的自带计算器为参考模型进行设计。模仿其界面、操作模式及计算 模式(支持鼠标)。 程序可输入的数值范围大小为十进制的 0 到 65535。 在执行计算时程序内部均以一个字大小无符号数进行四则运算,当程序输出结果时则以一 个字有符号数进行输出(即范围从-32768 到 32767)。例如,在执行 5600-6120 时程序会输出结 果-520,而执行 65534+1 时程序输出-1。 可以执行多个数的按序运算。例如可以输入 100*2+299+5-4 再按等号按钮,程序则输出 500。 可以利用上次运行结果进行追加运算。例如上次运行结果为 500 此时输入减号再输入 499 (这里也可以是一连串的计算)按下等号,程序输出结果 1。 2.2 主模块框图及说明 见图 2.2。 XX 工程学 第 1页
微机原理课程设计报告 图 2.2 第三章 详细设计 3.1 主模块及子模块概述 程序中先调用 WindowInit 函数进行初始化窗口界面。再调用 MenuChoose 函数对各按钮进 行侦听,单鼠标点击各按钮时,程序对其进行处理并调用各子模块执行各对应动作。 XX 工程学 第 2页
微机原理课程设计报告 3.1.1 主模块 函数名称:WindowInit。功能:初始化窗口界面。 函数名称:MenuChoose。功能:侦听菜单按钮。 函数名称:MouseInit。功能:初始化鼠标。 函数名称:GetMouse。功能:获取鼠标状态。 函数名称:OutInterger。功能:在当前位置输出有符号十进制数。 3.1.2 子模块 DrawButton 入口参数:CX=左上角坐标,DX=右下角坐标。 功能:在对应坐标位置画按钮 DrawRect 入口参数:BH=前、背景色,CX=左上角坐标,DX=右下角坐标。 功能:在对应坐标位置画对应颜色的矩形框。 DrawChar 入口参数:DX=坐标,AL=字符 功能:在对应坐标位置输出字符。 ButtonDown 入口参数:DX=按钮编号值 功能:使对应按钮出现按钮下凹效果。 DrawButtonDown 入口参数:CX=左上角坐标,DX=右下角坐标 功能:在对应位置画下凹的按钮。(为 ButtonDown 模块调用,简化代码量) DrawButtonFram 入口参数:AL=边框种类,BL=字符,CX=上边框坐标,DX=下边框坐标。 功能:在各种类按钮上对应画边框和字符。 ButtonUp DX=按钮编号值 功能:使下凹的按钮出现上浮(复位)效果。并返回 AX=按钮功能值 XX 工程学 第 3页
微机原理课程设计报告 GetCursor 入口参数:无 功能:获取光标的坐标值,存放在 DX 寄存器中。 Roll 入口参数:无 功能:使显示区域的内容向上翻滚一行。 GetSign 入口参数:无 功能:读取内存中所保存的运算符号,并存放在 Al 中。 AddInterger 入口参数:无 功能:对 NumberTemp 和 Number 中的内容进行求和,并将结果保存在 Number 内存单元中。 SubInterger 入口参数:无 功能:对 NumberTemp 和 Number 中的内容进行求差,并将结果保存在 Number 内存单元中。 MulInterger 入口参数:无 功能:对 NumberTemp 和 Number 中的内容进行求积,并将结果保存在 Number 内存单元中。 DivInterger 入口参数:无 功能:对 NumberTemp 和 Number 中的内容进行求和,并将结果保存在 Number 内存单元中。 3.2 各模块详细设计 3.2.1 界面初始化模块 函数名称:WindowInit。 入口参数:无 返回值:无 功能:设置显示器模式,40*25 大小,16 色文本模式。在左边按钮区域,设置按钮上的字 符为蓝色,按钮为灰色,底层背景为深灰色,以及黑色的按钮阴影。右边显示区域为黑色,边 框为灰色,字符颜色为白色。 XX 工程学 第 4页
微机原理课程设计报告 3.2.2 菜单选择模块 函数名称:MenuChoose。 入口参数:无 返回值:无 功能:首先调用 MouseInit 函数模块初始化鼠标。再嵌套两个循环,外围循环侦听鼠标左键 是否按下,诺按下则执行对应程序段进行处理(如按钮下沉效果等)再进入内围循环;内围循 环侦听鼠标左键是否放开,当鼠标左键放开后,被选中的按钮浮起(复位),并进行对应处理(如 按下数字按钮则将对应数字进行处理,当下次点击非数字按钮时将得到的数值进行运算并写入 内存,并调用对应的功能子模块。) 备注:此模块为程序的主要核心,并调用各小模块函数来实现程序功能。 3.2.3 鼠标初始化模块 函数名称:MouseInit。 入口参数:无 返回值:AX=0H(初始化失败,程序结束)或 AX=0FFFFH(初始化成功) 功能:调用鼠标 33H 中断的 00H 功能进行初始化鼠标,初始化成功则调用 01H 功能显示鼠 标,并返回值 AX=0H,诺初始化失败则返回 AX=0FFFFH。 3.2.4 鼠标状态获取模块 函数名称:GetMouse 入口参数:无 返回值:BX=鼠标左键按钮状态(0 放开,1 按下),CX=鼠标列坐标,DX=鼠标行坐标。 功能:调用鼠标 33H 中断,获取鼠标按键状态和坐标位置。 XX 工程学 第 5页
微机原理课程设计报告 3.2.5 十进制有符号数输出模块 函数名称:OutInterger。 入口参数:AX=要输出的数值 返回值:无 功能:将一个字大小的有符号数用十进制输出。输出位置为当前光标位置。 备注:此函数模块的实现原理是首先比较 AX 的最高位是否为 1,诺为 1 则输出负号再减 1 取反(诺为 0 则不进行此步处理)。然后将 AX 中的内容依次除 10,得到的余数存放在 DX 中, 再将 DX 的内容入栈保护,当余数为 0 时结束循环,最后再依次出栈到 DX 中并加 30H,调用 AH 为 2 的 21H 中断输出。如此便得以输出一个字大小的有符号数。 第四章 程序调试 4.1 运行界面分析 程序初始界面见图 4.1.1。 XX 工程学 第 6页 图 4.1.1
分享到:
收藏