判断是否能构成三角形汇编语言程序设计

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

目录

摘要 0

1 程序设计要求及目的 (1)

1.1 程序设计要求 (1)

1.2 程序设计目的 (1)

2 设计思路及准备 (2)

2.1 程序设计思路 (2)

2.2 DOS功能调用 (3)

2.3 ASCⅡ码转换表 (6)

3 程序设计及代码说明 (7)

3.1 流程图设计 (7)

3.2 程序输入部分 (8)

3.3 程序判断部分 (10)

3.4 程序输出部分 (11)

3.4.1 构成三角形的边长输出 (11)

3.4.2 错误输出 (13)

3.5 完整程序代码 (13)

4 程序调试及运行 (17)

4.1 调试过程 (17)

5 程序创新及改进 (21)

5.1 改进说明 (21)

5.2 程序代码 (22)

5.3 程序运行及调试 (23)

6 心得及体会 (23)

7 参考文献 (25)

附件一:题目要求源程序

附件二:加入判断等腰或等边三角形的程序

摘要

汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址,如此就增强了程序的可读性和编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。

汇编语言是微机原理及应用的基础,微机主机及接口所要实现的功能都要通过汇编语言来实现。尽管汇编语言程序设计编程效率偏低,但运行效率高、速度快。因此掌握汇编语言是学好微机原理及接口技术的第一步。

本次课设通过代码编程,设计出输入三边并判断它们是否能够成三角形,若不能,则显示错误字样。否则直接显示输出该三角形的周长。充分应用汇编技术,微机原理和接口技术的知识。

关键词:汇编语言,控制,微机原理及接口技术,三角形

1 程序设计要求及目的

1.1 程序设计要求

1.1.1 选题:

第十四题判断是否能构成三角形汇编语言程序设计

输入a,b,c 三边后,判断是否能构成三角形,如能构成三角形,输出三角形的周长,否则输出“ERROR”。要求:提示输入三角形三边长度a b c;键盘输入,中间空格隔开;Enter 键结束输入,并换行显示判断结果。

1.1.2 要求:

(1)程序需上机调试通过才算完成该设计内容;

(2)同一选题可合作完成,但设计报告书需注明本人承担的设计部分;

(3)报告书中的源程序要求加注释。

1.2 程序设计目的

(1)进一步建立微机系统的概念,加深对系统的理解和认识,培养学生应用微型计算机解决实际问题的能力;

(2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。

(3)进一步熟悉微机最小系统的构成及常用接口芯片的使用,提高系统设计能力。

2 设计思路及准备

2.1 程序设计思路

2.1.1 构成三角形的条件

由三角形定理克制,三边构成三角形的充要条件:(1)任意两边之和大于第三边,(2)任意两边之差小于第三边,令给出三遍长度分别为a、b、c,转换为字母表示如下:

(1)a+b>c;a+c>b;b+c>a;

(2)|a-b|

显然由式(1)中的三个不等式可以推出式(2)中全部不等式,故三边构成三角形的充要条件可以简化为条件(1),即:三边中任意两边之和均大于第三边。

2.1.2 程序结构框架

(1)循环结构:

循环结构表示程序反复执行某个或某些操作,直到满足或不满足设定的条件时才可终止循环。

题中在三边长度不满足构成三角形条件时,输出“ERROR”字符后自动跳转至程序首段进行下一轮三边长度的输入操作。

(2)选择结构

选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。

题中所述判断两边之和及第三边大小关系时要用到选择结构确定各大小关系程序的跳转,从而完成判断是否能够构成三角形的目的。

2.1.3 程序设计思路图

如图1所示

图1 程序设计思路图

2.2 DOS功能调用

(1)键盘输入并显示(1号功能调用)

格式:MOV AH, 01H

INT 21H

功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中。

(2)键盘输入但不显示输入字符(8号功能调用)

格式:MOV A=H, 08H

INT 21H

功能:同1号功能调用,但字符不在屏幕上显示。

(3)屏幕显示一个字符(2号功能调用)

格式:MOV DL, '字符'

MOV AH, 02H

INT 21H

功能:将置入DL寄存器中的字符在屏幕上显示输出。

(4)打印输出(5号功能调用)

格式:MOV DL, '字符'

MOV AH, 05H

INT 21H

功能:将置入DL寄存器中的字符送打印机接口,打印输出。(5)屏幕显示字符串(9号功能调用)

格式:MOV DX, 字符串的偏移地址

MOV AH, 09H

INT 21H

功能:在屏幕上显示字符串。

在使用9号功能调用时,应当注意以下问题。

①待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。

②应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。

(6)字符串输入功能调用(0AH号功能调用)

格式:MOV DX, 已定义缓冲区的偏移地址

MOV AH, 0AH

相关文档
最新文档