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

上传人:m**** 文档编号:473109933 上传时间:2023-03-17 格式:DOCX 页数:39 大小:304.63KB
返回 下载 相关 举报
判断是否能构成三角形汇编语言程序设计_第1页
第1页 / 共39页
判断是否能构成三角形汇编语言程序设计_第2页
第2页 / 共39页
判断是否能构成三角形汇编语言程序设计_第3页
第3页 / 共39页
判断是否能构成三角形汇编语言程序设计_第4页
第4页 / 共39页
判断是否能构成三角形汇编语言程序设计_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《判断是否能构成三角形汇编语言程序设计》由会员分享,可在线阅读,更多相关《判断是否能构成三角形汇编语言程序设计(39页珍藏版)》请在金锄头文库上搜索。

1、判断是否能构成三角形汇编语言程序设计目录摘要01 程序设计要求及目的11.1 程序设计要求11.2 程序设计目的12 设计思路与准备22.1 程序设计思路22.2 DOS功能调用32.3 ASCII码转换表63 程序设计与代码说明73.1 流程图设计73.2 程序输入部分83.3 程序判断部分93.4 程序输出部分113.4.1 构成三角形的边长输出113.4.2 错误输出123.5 完整程序代码134 程序调试与运行164.1 调试过程165 程序创新与改进195.1 改进说明195.2 程序代码205.3 程序运行与调试216 心得及体会217 参考文献23附件一:题目要求源程序附件二:加

2、入判断等腰或等边三角形的程序摘要汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址,如此就增强了程可的可读性和编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。汇编语言是微机原理及应用的基础,微机主机及接口所要实现的功能都要通过汇编语言来实现。尽管汇编语言程序设计编程效率偏低,但运行效率高

3、、速度快。因此掌握汇编语言是学好微机原理及接口技术的第一步。本次课设通过代码编程,设计出输入三边并判断它们是否能够成三角形,若不能,则显示错误字样。否则直接显示输出该三角形的周长。充分应用汇编技术,微机原理和接口技术的知识。关键词:汇编语言,控制,微机原理及接口技术,三角形1程序设计要求及目的1.1 程序设计要求1.1.1 选题:第十四题判断是否能构成三角形汇编语言程序设计输入a,b,c三边后,判断是否能构成三角形,如能构成三角形,输出三角形的周长,否则输出“ERRORo要求:提示输入三角形三边长度abc;键盘输入,中间空格隔开;Enter键结束输入,并换行显示判断结果。1.1.2 要求:(1

4、)程序需上机调试通过才算完成该设计内容;(2)同一选题可合作完成,但设计报告书需注明本人承担的设计部分;(3)报告书中的源程序要求加注释。1.2程序设计目的(1)进一步建立微机系统的概念,加深对系统的理解和认识,培养学生应用微型计算机解决实际问题的能力;(2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。(3)进一步熟悉微机最小系统的构成及常用接口芯片的使用,提高系统设计能力。2设计思路与准备2.1 程序设计思路2.1.1 构成三角形的条件由三角形定理克制,三边构成三角形的充要条件:(1)任意两边之和大于第三边,(2)任意

5、两边之差小于第三边,令给出三遍长度分别为a、b、c,转换为字母表示如下:(1) a+bc;a+cb;b+ca;(2) |a-b|c;|a-c|b;|b-c|,等待DO阶令。(8)直接输入、输出单字符(6号功能调用)格式:MOVDL,输入/输出标志MOVAH,06HINT21H功能:执行键盘输入操作或屏幕显示输出操作,但不检查Ctrl+Break组合键是否按下。执行这两种操作的选择由DL寄存器中的内容决定。 当(DL)=0FFH时,执行键盘输入操作。若标志ZF=0,AL中放入字符的ASCII码;若标志ZF=1,表示无键按下。这种调用用来检测键盘是否有键按下,但不等待键盘输入。 当(DL)w0FF

6、H时,表示将DL中内容送屏幕显示输出。DO现能调用表功能号功能入口参数出口参数01H带回显的键盘输入AL=输入字符06H直接控制台I/ODL=FF(输入)DL=字符(输出)AL=输入字符0AH字符串缓冲输入DS:DX缓冲区首址02H字符显示DL=输出字符04H用行口输出字符DL=输出字符05H字符打印DL=输出字符09H字符串显示DS:DX缓冲区首址2.3ASCII码转换表编程涉及的部分ASQI码转换如下表所示:八进制十六进制十进制字符解释150D13CR回车键402032(space)空格6030480数字06131491数字16232502数字26333513数字36434524数字465

7、35535数字56636546数字66737557数字77038568数字87139579数字93程序设计与代码说明3.1流程图设计4输入a、b、c将a、b、ic转化计算周长将数字转换WB图2主程序流程图3.2 程序输入部分3.2.1 程序说明为保证界面的美观,在输入a,b,c之前希望界面显示提示输入的字符,在数据段可以定义,利用功能调用代码MOVAH,9显示提示输入的字符串。程序输入部分要求键盘输入a,b,c的值,则需要调用DOS功能,键盘单字符输入的代码指令为MOVAH,1。CBW代码是将输入在AL中的数扩展到AH中从而得到AX的值。输入空格的功能调用操作指令为MOVAH,2,分别在三次单

8、字符键入后使用保证没输入完成一个字符后自动空格。利用回车完成输入结束等待继续程序可以用CMPAL,0DH和JNEINPUT实现,由于回车的ASCR码为0DH,故输入回车时两者相等程序继续,若输入字符不为回车,则执行JNE后的程序段,跳转至输入程序段首重新等待输入。3.2.2 程序代码INPUT:LEADX,BUFF1MOVAH,9;显示请输入a、b、c的值字样INT21HMOVAH,1;输入a值INT21HMOV BX,AXMOV AL,20HMOV AH,2INT 21HMOV AH,1CBW;#AL数中的符号位扩展到AH中得AX;将a的值存入BX中;在字母a的值键入后输出空格;输入b的值I

9、NT21HCBW;#AL数中的符号位扩展到AH中得AXMOVCX,AX;将b的值存入CX中MOVAL,20HMOVAH,2;在字母b的值键入后输出空格INT21HMOVAH,1;输入c的值INT21HCBW;#AL数中的符号位扩展到AH中得AXMOVDX,AX;防止AX中数据改变MOVAH,1;输入任意字符INT21HCMPAL,0DHJNEINPUT;若此时输入字符不为回车则返回重新输入部分3.3 程序判断部分3.3.1 程序说明要判断是否能够成三角形即判断是否满足先前三个等式的条件,故需计算三次。其中任意一次的结果不满足等式则自动跳转至错误显示环节,若三者均满足,则程序继续运行并计算三角形

10、三边周长。再输入部分代码以ASCH码存储,运算时需将其还原至数值形式,故先要将DX,BX,CX寄存器中白数值减30H得运算数值。三边边长比较时,先利用ADD句将任意两边分别相加然后与第三边比较,若前两边不大于,即小于等于第三边值,则跳转至ERROR不能构成三角形。在满足条件时,利用ADG!行三边边长的求和。3.3.2 程序代码JUDGE:SUBDX,30H;将输入后c的ASCII码转换为数值型SUBBX,30H;将输入后a的ASCH码转换为数值型SUBCX,30H;将输入后b的ASCH码转换为数值型MOVAX,BX;#BX的数值存入AX寄存器ADDAX,CX;计算BX+CX的长度CMPAX,DX;BX+CX的值与第三边DX作比较JNGERROR;BX+CX=DX,贝U跳转至ERRORMOVAX,CX;#BX的值送入DXADDAX,DX;计算DX+CX的长度CMPAX,BX;DX+CX的值与第三边BX作比较JNGERROR;DX+CX=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号