代码转换程序设计概述Word下载.docx
- 文档编号:13364062
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:26
- 大小:186.30KB
代码转换程序设计概述Word下载.docx
《代码转换程序设计概述Word下载.docx》由会员分享,可在线阅读,更多相关《代码转换程序设计概述Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
电气1107班
指导教师:
陈静教授工作单位:
自动化学院
题目:
代码转换程序设计
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.用汇编语言编写一个字母和数制之间的转换程序,设计出友好的交互界面;
2.实现小写字母和大写字母之间的相互转换;
附加功能:
将字符转换成其相应的ASCII码;
3.撰写课程设计说明书。
内容包括:
摘要、目录、正文、参考文献、附录(程序清单)。
正文部分包括:
设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。
时间安排:
12月26日-----12月28日查阅资料及方案设计
12月29日-----1月2日编程
1月3日-----1月7日调试程序
1月8日-----1月9日撰写课程设计报告
指导教师签名:
年月日
系主任(或责任教师)签名:
目录
摘要1
1设计任务及分析2
1.1设计任务要求2
1.2设计系统分析2
1.3方案比较及认证2
2方案设计3
2.1方案原理3
2.2指令功能3
2.3主程序流程图5
3源程序7
3.1主程序设计7
3.2子程序大小写字母转换及流程图12
3.3子程序ASCII码转换CBA及流程图14
4程序运行及调试16
4.1大小写转换17
4.2ASCII码转换17
4.3输入非字符18
4.4调试中出现的错误18
4.5结果分析20
5心得体会21
参考文献22
本科生课程设计成绩评定表
摘要
汇编语言是直接面向处理器(Processor)的程序设计语言。
处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。
每一种处理器都有自己可以识别的一整套指令,称为指令集。
处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。
汇编语言的主要特点是可以使用助记符来表示机器指令的操作码和操作数,可以用标号和符号来代替地址、常量和变量。
这次课程设计的任务是用汇编语言进行一个数制转换,从键盘输入一串字符(非字符则不接受),通过屏幕提示菜单选择转换成ASCII码,或者进行大小写转换(原来是大写转换成小写,小写则转换为大写)并显示。
先输入要转换的数据,再对数据进行检验判断其合法性,对不合法的数据进行警报并重新输入数据,对合法的数据按照要求进行大小写转换或者转换成ASCII,码,最后显示转换后的字符串。
关键词:
DOS功能调用大小写转换ASCII码
1设计任务及分析
1.1设计任务要求
(1)用汇编语言编写一个字母和数制之间的转换程序,设计出友好的交互界面;
(2)实现小写字母和大写字母之间的相互转换;
(3)撰写课程设计说明书。
1.2设计系统分析
DOS是一个磁盘操作系统,也称为IBM-DOS或者MS-DOS。
DOS不仅为用户提供了许多使用命令,而且还有用户可以直接调用的上百个子程序。
对这些子程序的调用,称为系统功能调用。
这些子程序主要完成一系列的管理功能。
在使用时,用户不需要了解各种I/O接口硬件的详细情况,就能完成对I/O接口的控制和管理。
为了使用方便,将所有子程序从1号开始顺序编号,这些编号称为DOS功能调用号。
所以在进行设计之前,先要弄清楚DOS功能调用。
1.3方案比较及认证
方案一:
通过运用汇编语言提供的基本指令,加上运用适当的循环方式,按照要求设计指令来达到满足要求的目的。
这种方式比较容易理解和编程,是考虑到程序可能有许多重复的地方,运用这种直接的方法就可能造成代码很多的结果。
方案二:
通过运用DOS函数调用,运用汇编语言提供的各种现成的函数来满足要求,也可以自己定义函数来达到某种要求,在重复使用时不用造重新编写,只需一个调用,大大简化了程序,这种方法更加简洁方便,所以选用这种方法。
2方案设计
2.1方案原理
本次课程设计的要求是:
从键盘输入一串字符,通过屏幕提示菜单选则进行大小写转换或者转换成相应的ASCII码并显示。
设计的基本思路:
首先要先完成字符串的输入并存在buf1中,然后输入一个字符通过检验字符来选择跳转到相应的子程序中去进行ASCII码转换或者进行大小写转换,将转换后的字符串存放到buf2中;
转换完成后跳转到输出部分即可完成程序功能;
为了程序能重复运行,在代码段末尾加一条强制跳转语句跳到开头部分。
2.2指令功能
(1)键盘输入并显示(1号功能调用)
格式:
INT21H
功能:
按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。
如果按下的是Ctrl+Break组合键,则终止程序执行。
1号功能调用无须入口参数,出口参数在AL中
(2)键盘输入但不显示
MOVAH,08H
同1号功能调用,但字符不在屏幕上显示。
(3)屏幕显示一个字符(2号功能调用)
MOVDL,‘字符’
MOVAH,02H
将置入DL寄存器中的字符在屏幕上显示输出。
(4)打印输出(5号功能调用)
MOVAH,05H
INT21H
将置入DL寄存器中的字符送打印机接口,打印输出。
(5)屏幕显示
格式:
LEADX,字符串的偏移地址
MOVAH,09H
INT21H
功能:
在屏幕上显示字符串。
在使用9号功能调用时,应当注意以下问题。
1)待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。
2)应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。
(6)字符串输入功能调用(0AH号功能调用)
LEADX,已定义缓冲区的偏移地址
MOVAH,0AH
从键盘接收字符,并存放到内存缓冲区。
在使用0AH号功能调用时,应当注意以下问题。
1)执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。
第二个字节保留,在执行程序完毕后存入输入的实际字符个数。
从第三个字节开始存入从键盘上接收字符的ASCII码。
若实际输入的字符个数少于定义的
2)应当将缓冲区首地址的段基址和偏移地址分别存入DS和DX寄存器中。
(7)返回DOS操作系统(4CH号功能调用)
MOVAH,4CH
终止当前程序的运行,并把控制权交给调用的程序,即返回DOS系统,屏幕出现DOS提示符,如“C:
\>
”,等待DOS命令。
(8)直接输入、输出单字符(6号功能调用)
MOVDL,输入/输出标志
MOVAH,06H
INT21H
执行键盘输入操作或屏幕显示输出操作,但不检查Ctrl+Break组合键是否按下。
执行这两种操作的选择由DL寄存器中的内容决定。
1)当(DL)=0FFH时,执行键盘输入操作。
若标志ZF=0,AL中放入字符的ASCII码;
若标志ZF=1,表示无键按下。
这种调用用来检测键盘是否有键按下,但不等待键盘输入。
2)当(DL)≠0FFH时,表示将DL中内容送屏幕显示输出。
(9)检查键盘的工作状态(0BH号功能调用)
MOVAH,0BH
检查是否有键盘输入,若有键按下,则使AL=0FFH,若无键按下,则AL=00H。
对于利用键盘操作退出循环或使程序结束之类的操作来说,这种调用是很方便实用的。
2.3主程序流程图
远程转移是段间的转移,目的地址与JMP指令所在地址不在同一段内。
执行该指令时要修改CS和IP的内容。
间接转移指令的目的地址可以由存储器或寄存器给出。
段内间接转移JMPWORDPTROPRD;
IP=[EA](由OPRD的寻址方式确定)。
JMPWORDPTR[BX]IP=((DS)*16+(BX))
JMPWORDPTRBXIP=(BX)
段间间接转移JMPDOWRDPTROPRD;
IP=[EA],CS=[EA+2]
该指令指定的双字节指针的第一个字单元内容送IP,第二个字单元内容送CS。
JMPDWORDPTR[BX+SI]
根据题目的要求和选择的指令,首先设计出主程序,其流程图如图2-1:
NY
Y
N
图2-1主程序的流程图
3源程序
3.1主程序设计
根据课题的要求,首先设计友好的人机交互页面,编辑提示语,然后编辑自己所需的函数,通过DOS调用现成的以及自己编辑的函数,来满足题目要求。
主程序如下:
;
*输入一串字符(非字符则不接受)*
*原字符存放在buf1中,转换后的字符存放在buf2中*
*按照屏幕菜单选择进行ASCII码转换*
*或者进行大小写转换*
*----------------------------------------------------------*
DATASEGMENT;
数据段
inputdb0ah,0dh,'
ifyouwanttoquit,pleasepressQ/q!
'
db0ah,0dh,'
pressotherkeytozhuanhuan'
0ah,0dh,'
$'
;
输入提示
inputmessdb0ah,0dh,'
pleaseinputbuf1:
'
bufdb100
db'
db100dup(0);
字符缓冲区
ZHUANHUANdb0ah,0dh,'
ifyouwanttochangecasepressA/a!
ifyouwanttotransformtoasciipressB/b!
转换提示
outputmessdb0ah,0dh,'
aftertransformCharacterStringBUF2:
BUF1:
输出提示
BUF1DB100dup(0)
chglinedb0ah,0dh,'
BUF2:
BUF2DB100DUP('
)
BUF3db0ah,'
DATAENDS
STACK1SEGMENTSTA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代码 转换 程序设计 概述