汇编语言课程设计带显示界面的加法器

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

华北科技学院

课程设计说明书

设计题目: 带显示界面的加法器

课程名称: 汇编语言课程设计班级: 计科B08-2 姓名: 胡玉学号: 200807014218

设计时间: 2010-6-23 至2010-7-2

指导教师: 陈振国

评语:

评阅成绩: 评阅教师:

一、课程设计的性质和目的

性质:《汇编语言》是计算机科学与技术专业及网络工程本科学生必修的专业课程。

目的:进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。

二、课程设计的要求

1、遵循模块化、结构化的程序设计方法。

2、要求程序必须正确。

3、程序简明易懂,多运用输入输出提示,出错信息及必要的注释。

4、要求程序结构合理,语句使用得当。

5、适当追求编程技巧和程序运行效率。

三、主要仪器设备及软件

计算机、MASM汇编软件。

四、课程设计题目

题目:带显示界面的加法器

用汇编语言设计一个加法器,实现加法求和运算。

所有数据在菜单界面上输入,输入结果也在菜单上显示,按回车键则退出加法器菜单并返回DOS系统,否则继续进行加法运算

五、课题分析及设计思路

1、这个题目是做一个带显示界面的加法器,它的主要难度是做一个显示界面;

3、在界面的输出这就用到了BIOS的10号类型的显示中断功能,主要用到了置光标,以及清屏功能;

4、设计加法器的功能就和普通的设计加法一样,只不过要和置光标功能配合将光标置于合适位置;

5、数据储存方式,由于存在位数不定的整数及小数部分,根据其特点,整数部分以有符号二进制形式储存与字单位存储区中;

6、模块的划分,宏定义模块,子程序模块,输入模块,输出模块,整数或者小数判断模块,删除模块,多重循环模块,继续模块,主程序及界面模块。其中每个功能模块都有独立的输入输出接口,有一定独立性;

六、程序主要流程

1、存储单元清零的流程图:

2、求和的流程图:

3、输入数字的流程图:

七、核心代码及分析:

DATAS SEGMENT BUF1 DB 13,10, ' @------------------------------------------@' BUF2 DB 13,10, ' | Hu Yu 200807014218 Welcome To You! |' BUF3 DB 13,10, ' | |' BUF4 DB 13,10, ' | 1:Enter Jia Fa Qi yun xing |' BUF5 DB 13,10, ' | |' BUF6 DB 13,10, ' | 2:Exit yun xing |' BUF7 DB 13,10, ' | |' BUF8 DB 13,10, ' | |' BUF9 DB 13,10, ' | |' BUF10 DB 13,10, ' @------------------------------------------@' LENGTH1 EQU $-BUF1 BUF11 DB 'Enter Exit,Other keys continue!$' BUF12 DB 'Please input again!$' ERR DB 'Error!Please input again!$' BUF13 DB 'BeiJiashu:','$' BUF14 DB 'JiaShu:','$' BUF15 DB 'JieGuo:','$' JIASHU DW ? BEIJIASHU DW ? sum DW ? ;*********************************************************************** SHOW MACRO M LEA DX,M

MOV AH,9 INT 21H ENDM

;*******显示宏定义************* ;********************************************************************

GUANGBIAO MACRO M1,M2 MOV DH,M1 MOV DL,M2 MOV BH,0

MOV AH,02 INT 10H ENDM ;*******************光标宏的定义******************

;******************************************************************** QINGPING MACRO M1,M2,M3,M4,M5 MOV AH,6 MOV AL,M1 MOV BH,0DH MOV CH,M2

MOV CL,M3 MOV DH,M4 MOV DL,M5 INT 10H ENDM ;*******清屏宏定义**************** ;************************************************************************* DATAS ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT ASSUME

CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS

MOV DS,AX

MOV AL,3

MOV AH,0

INT 10H

;***********设置显示模式为80*25彩色文本模式

MOV BP,SEG BUF1;*****回送断基地址MOV ES,BP

MOV BP,OFFSET BUF1;传送偏移地址MOV CX,LENGTH1

MOV DX,0

MOV BL,05H;颜色控制(品红)

MOV AL,0

GUANGBIAO 4,15;调用光标宏

MOV AH,13H

INT 10H

MOV AH,1

INT 21H

CMP AL,31H

JNZ LOOP8

GUANGBIAO 8,20

SHOW BUF13;调用显示宏GUANGBIAO 9,20

SHOW BUF14

GUANGBIAO 10,20

SHOW BUF15

MOV SI,-2

MOV CX,5

;******************************* **************************

;********运用多个循环来实现运算*******************

LOOP1:

ADD SI,2

MOV sum[SI],0

LOOP LOOP1

MOV BX,0

LOOP2:

QINGPING 1,8,30,8,50

QINGPING 1,9,27,9,50

QINGPING 1,10,27,10,50 GUANGBIAO 8,30

CALL INPUT;调用输出子程序MOV BEIJIASHU,BX

LOOP3:

QINGPING 1,13,18,13,51

QINGPING 1,12,20,12,50

MOV BX,0

GUANGBIAO 9,30

MOV BX,0

CALL INPUT

MOV JIASHU,BX

LOOP4:

GUANGBIAO 10,30

MOV AX,BEIJIASHU

ADD AX,JIASHU

CWD;字型转换即字转换为双字MOV DX,0

MOV BX,10000;************由高到低输出位

DIV BX

MOV [sum],AX

MOV AX,DX

CWD

MOV BX,1000

DIV BX

MOV [sum+2],AX

MOV AX,DX

CWD

MOV BX,100

DIV BX

MOV [sum+4],AX

MOV AX,DX

CWD

MOV BX,10

DIV BX

MOV [sum+6],AX

MOV [sum+8],DX

MOV SI,-2

MOV CX,5

;**************** 求和和输出LOOP5:

ADD SI,2

MOV DX,sum[SI]

ADD DX,30H

相关文档
最新文档