英文字母大小写转换程序设计 (2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要 (1)
数制转换 (2)
1 DOS功能调用介绍 (2)
2 设计方案 (5)
3 总程序 (6)
4 程序流程图及程序设计分析 (13)
4.1主程序流程图 (13)
4.2主程序流程图分析 (14)
4.3大小写转换子程序ABC (14)
4.3.1 子程序ABC (14)
4.3.2 子程序ABC的流程图 (16)
4.3.3 子程序ABC流程图分析 (16)
4.4ASCII码转换子程序CBA (17)
4.4.1 子程序CBA (17)
4.4.2 子程序CBA的流程图 (18)
4.4.3 子程序ABC流程图分析 (18)
5 程序运行实例 (19)
5.1大小写转换 (20)
5.2ASCII码转换 (20)
5.3输入非字符 (21)
5.4调试中出现的错误 (21)
6 心得体会 (23)
参考文献 (24)
摘要
汇编语言是直接面向处理器(Processor)的程序设计语言。处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集。处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。汇编语言的主要特点是可以使用助记符来表示机器指令的操作码和操作数,可以用标号和符号来代替地址、常量和变量。这次课程设计的任务是用汇编语言进行一个数制转换,从键盘输入一串字符(非字符则不接受),通过屏幕提示菜单选择转换成ASCII码,或者进行大小写转换(原来是大写转换成小写,小写则转换为大写)并显示。先输入要转换的数据,再对数据进行检验判断其合法性,对不合法的数据进行警报并重新输入数据,对合法的数据按照要求进行大小写转换或者转换成ASCII,码,最后显示转换后的字符串。
关键词:DOS功能调用 ASCII码大小写转换
数制转换
1 DOS功能调用介绍
DOS是一个磁盘操作系统,也称为IBM-DOS或者MS-DOS。DOS不仅为用户提供了许多使用命令,而且还有用户可以直接调用的上百个子程序。对这些子程序的调用,称为系统功能调用。这些子程序主要完成一系列的管理功能。在使用时,用户不需要了解各种I/O接口硬件的详细情况,就能完成对I/O接口的控制和管理。为了使用方便,将所有子程序从1号开始顺序编号,这些编号称为DOS 功能调用号。所以在进行设计之前,先要弄清楚DOS 功能调用。
常用的DOS功能调用:
1.键盘输入并显示(1号功能调用)
格式: INT 21H
功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中
2.键盘输入但不显示
格式: MOV AH, 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.屏幕显示
格式: LEA DX, 字符串的偏移地址
MOV AH, 09H
INT 21H
功能:在屏幕上显示字符串。
在使用9号功能调用时,应当注意以下问题。
(1)待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。
(2)应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。6.字符串输入功能调用(0AH号功能调用)
格式: LEA DX, 已定义缓冲区的偏移地址
MOV AH, 0AH
INT 21H
功能:从键盘接收字符,并存放到内存缓冲区。
在使用0AH号功能调用时,应当注意以下问题。
(1)执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。第二个字节保留,在执行程序完毕后存入输入的实际字符个数。从第三个字节开始存入从键盘上接收字符的ASCII码。若实际输入的字符个数少于定义的(2)应当将缓冲区首地址的段基址和偏移地址分别存入DS和DX寄存器中。7.返回DOS操作系统(4CH号功能调用)
格式: MOV AH, 4CH
INT 21H
功能:终止当前程序的运行,并把控制权交给调用的程序,即返回DOS系统,屏幕出现DOS提示符,如“C: \ >”,等待DOS命令。
8.直接输入、输出单字符(6号功能调用)
格式: MOV DL, 输入/输出标志
MOV AH, 06H
INT 21H
功能:执行键盘输入操作或屏幕显示输出操作,但不检查Ctrl+Break组合键是否按下。执行这两种操作的选择由DL寄存器中的内容决定。
(1)当(DL)=0FFH时,执行键盘输入操作。若标志ZF=0,AL中放入字符的ASCII码;若标志ZF=1,表示无键按下。这种调用用来检测键盘是否有键按下,但不等待键盘输入。
(2)当(DL)≠0FFH时,表示将DL中内容送屏幕显示输出。
9.检查键盘的工作状态(0BH号功能调用)
格式: MOV AH, 0BH
INT 21H
功能:检查是否有键盘输入,若有键按下,则使AL=0FFH,若无键按下,则AL=00H。对于利用键盘操作退出循环或使程序结束之类的操作来说,这种调用是很方便实用的。