1、 1 题题 目:目: 四则运算四则运算 班班 级:级: 姓姓 名:名: 学学 号:号: 指导老师:指导老师: 日日 期:期: 年年 月月 日日 课 设 报 告课 设 报 告 2 目录目录 1、 设计目的 1 2、 概要设计.2 2.1 系统总体分析2 2.2 主模块框图及说明 3 3、详细设计 4 3.1 主模块及子模块概述 4 3.2 各模块详细设计 4 4、程序调试 9 4.1 运行界面分析9 4.2 调试过程与分析11 5、心得体会 12 5.1 设计体会12 5.2 系统改进12 附录14 参考文献40 1 设计目的 进行程序设计方法和技能的基本训练, 巩固在课堂上学到的有关 程序设计
2、的基本知识和基本方法,通过实际动手能力的培养,进一步 熟悉汇编语言的结构和使用方法,达到能独立阅读、 编制和调试一定 规模的汇编语言程序的水平,对自身的学习从理论到实践的应用, 加 深对汇编语言的认识。 2 概要设计 2.1 系统总体分析 1. 可以任意输入十进制数进行运算。 2. 进行的运算是加、减、乘和除的独立运算。 3.运算时,当输入十进制数时,首先默认的是加法运算,通过回车得到加 法运算结果。若要进行同样数的减法,乘法和除法的运算可用鼠标点击 sub,mul和 div进行运算。若不想则通过 reload 重新输入。 4. 程序可以重复进行运算,这就要求每次运算后置零数据存储区,通过 r
3、eload 清零。 5. 由于运算的结果位数不确定,要设计一个能显示结果的输出程序,通 过窗口实现。 3 2.2 主模块框图及说明 详细设计详细设计 3.1 主模块及子模块概述 主模块主要是四则运算部分,就是进行运算的模块,包括加减乘除为实现 运算而进行的模块,程序的中心部分。其他子模块包括用鼠标选择的何种运算的 模块,通过鼠标选择加法运算或者其他的运算等等。以及窗口模块,主要是进行 数据的显示。还有就是菜单模块,就是鼠标选择运算的模块,通过选择加减或者 定义数据段定义数据段 初始化寄存器初始化寄存器 鼠标初始化鼠标初始化 窗口初始化窗口初始化 是 否 在是 否 在 范围内范围内 通过鼠标选择
4、并运通过鼠标选择并运 算算 不运算不运算 输出结果输出结果 开始开始 输入数据输入数据 是 否 4 乘除来实现运算。以及鼠标引入模块,实现鼠标的选择操作。输出模块和清零数 据重新运算模块。 3.2 各模块详细设计 3.2.1 主要是数据的初始化 data segment Notice db (Notice: 0ax MulInterger proc near push si push bx lea si,Number1 mov ax,si lea si,Number2 mov bx,si mul bx pop bx pop si ret MulInterger endp ;DivInterge
5、r ;参数:无 ;返回:end-ax DivInterger proc near push dx push si push bx lea si,Number1 mov ax,si lea si,Number2 mov bx,si xor dx,dx div bx pop bx pop si pop dx ret DivInterger endp ;GetInterger ;参数:bx ;返回:interger-bx ;注意:0ax SubInterger proc near push si push bx lea si,Number1 mov ax,si lea si,Number2 mov bx,si sub ax,bx pop bx pop si ret SubInterger endp 32 ;MulInterger ;参数:无 ;返回:end-ax MulInterger proc near push si push bx lea si,Number1 mov ax,