汇编课程设计

汇编课程设计

ID:30849417

大小:895.30 KB

页数:78页

时间:2019-01-03

汇编课程设计_第1页
汇编课程设计_第2页
汇编课程设计_第3页
汇编课程设计_第4页
汇编课程设计_第5页
资源描述:

《汇编课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验的目的和意义本次课程设计的主要目的为1.深入了解与熟悉微机系统的配置并加深在DEBUG状态下输入汇编程序的方法。2.掌握编写完整汇编语言源程序的方法,掌握汇编、连接等将源程序转换成可执行代码的必要步骤。3.在熟悉理解汇编指令原理的的基础上,按照实验要求的功能编写完整的程序,生成可执行文件后,使用DEBUG对程序进行调试。4.熟练掌握并使用8254的工作方式、应用编程以及典型应用电路的接法。二.分类统计字符个数1.设计题目分类统计字符个数COUNT—CHAR2.程序的主要功能程序接收用户键入的一行字符(字

2、符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter^digit和other为名的存储单元中。1.设计说明3.1总休设计在该设计中,首先考虑数据变量的定义与内存单元的分配,其次是字符串的输入与输出问题。主要过程是对字符串字符类型的分类与个数统计,主要类别为:数字字符O至9,字母字符'A'至'Z'和&至'z'以及其他字符,对应的ASCII码为30H至39H.41H至5AH.61H至7AH,剩余的均为其他字符。计数得到的是二进制数值,在输出时要考虑转换成那种

3、进制。3.2算法设计在本次设计的程序中,主要通过分支跳转程序对条件的判断来实现跳转以确定字符的类型。程序以读到字符的ASCII码是否为ODH即回车符作为字符串结束的标志,并主要进行了三个逻辑判断,即数字字符判断,大写字母字符判断和小写字母字符判断,则剩余的均为其他字符,通过判断对相应字符的个数进行统计。在实现每一个逻辑判断时,用了两个判断指令:一个判断是否小于该类型字符的最小ASCII码的字符,另一个判断是是否小于或等于该类型字符的最大ASCII码的字符,通过如此判断,便最后将每类字符的个数转换成十进制形式

4、并输岀。3.3变量定义与寄存器分配STRING为定义的需要输入的字符串变量LETTER,DIGIT.OTHER分别为定义的字母字符、数字字符、其他字符的个数存储变量STR1、STR2、STR3分另I」为输岀的LETTER.DIGIT.OTHER个数的提示信息DI用于存放字符串的偏移地址AL用于依次存储各类字符的个数注要通过依次将各类字符的个数(存储在LETTER.DIGIT.OTHER中)赋值给AL来实现(调用进制转换与输岀子程序时需要统一的寄存器来进行操BL在进制转换中用于储存立即数AH用于DOS功能调用

5、中的类型号3.4程序流程图下图为本设计详细设计流程图开始内存单元分配崎定义输入字符串对字符进行分类11DIGIT数加1LETTER数加]OTHER数加1N杲杏小于或等于7AHNF否小于61H艮否小于或答于5AHN层杏小十4IHY於否小于或等于39HY小否小于30H凤否为口车符Y结束转换成十进制数并输出3.5操作以及结果3.5.1编译程序308kcontinue8&enterkeytoD:汇编用TDDEBUG.EXE33agc,irboAsscnblerUcrsion3・1Copyright1988

6、.1992BorlandInternationalrmessages:mingnessages:sses:iningnenory:ssenblingfile:3.ASMming*3.ASH<82>Reservedwordusedassynbo1:DISPLAYNoneTD-PITDebug"Ucrsion1.0CopyRight<02001,2002TangduCO.,LTD3.5.2连接程序3.5.3运行程序3.6设计总结我们对此程序按部就班的进行设计,首先考虑输入字符的读取,判断字符的类别,然后储存字符

7、数量,最后输出各个字符的数量。程序基本的统计各类字符个数的功能已经满足,但是功能过于简单,程序并没有判断用户输入字符是否超过80个的功能,容易出现问题,最好就是加一段判断代码,提示用户是否超岀80个字符。附录:程序源代码DATASSEGMENTSTRING1DB'InputYourString:$:输入提示信息STRING2DB'Digit:$*;各类字符提示信息STRING3DB'CHAR:$*STRING5DB'Others:$'DIGITDBO;数字CHARSDBO;字母OTHERSDB0淇他DATA

8、SENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXLEADX.STRING1;显示输入提示信息MOVAH,9INT21HMOVCX,80;设置循环次数足够大L1:MOVAH,1;中断调用,单字符输入INT21HCMPAL.0DH;若输入回车符则结束JZOVER2CMPAL.30HJBOTHER;S<30H(0),OTHERS++CMP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。