判断是否能构成三角形汇编语言程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要 0
1 程序设计要求及目的 0
1.1 程序设计要求 0
1.2 程序设计目的 (1)
2 设计思路与准备 (1)
2.1 程序设计思路 (1)
2.2 DOS功能调用 (2)
2.3 ASCⅡ码转换表 (5)
3 程序设计与代码说明 (5)
3.1 流程图设计 (5)
3.2 程序输入部分 (6)
3.3 程序判断部分 (7)
3.4 程序输出部分 (8)
3.4.1 构成三角形的边长输出 (8)
3.4.2 错误输出 (9)
3.5 完整程序代码 (10)
4 程序调试与运行 (13)
4.1 调试过程 (13)
5 程序创新与改进 (14)
5.1 改进说明 (14)
5.2 程序代码 (14)
5.3 程序运行与调试 (15)
6 心得及体会 (15)
7 参考文献 (16)
附件一:题目要求源程序
附件二:加入判断等腰或等边三角形的程序
摘要
汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址,如此就增强了程序的可读性和编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。
汇编语言是微机原理及应用的基础,微机主机及接口所要实现的功能都要通过汇编语言来实现。尽管汇编语言程序设计编程效率偏低,但运行效率高、速度快。因此掌握汇编语言是学好微机原理及接口技术的第一步。
本次课设通过代码编程,设计出输入三边并判断它们是否能够成三角形,若不能,则显示错误字样。否则直接显示输出该三角形的周长。充分应用汇编技术,微机原理和接口技术的知识。
关键词:汇编语言,控制,微机原理及接口技术,三角形
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 INT 21H 功能:从键盘接收字符,并存放到内存缓冲区。 在使用0AH号功能调用时,应当注意以下问题。 ①执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。第二个字节保留,在执行程序完毕后存入输入的实际字符个数。从第三个字节开始存入从键盘上接收字符的ASCII码。若实际输入的字符个数少于定义的最大字符个数,则缓冲区