大小写字母转换(微型计算机原理与接口技术)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北华航天工业学院
《微机原理及接口技术》
课程设计报告(论文)
设计课题:大小写字母转换
专业班级:
学生姓名:
指导教师:
设计时间:
北华航天工业学院电子工程系
微机原理与接口技术课程设计任务书姓名:专业:电子信息工程班级:
指导教师:职称:讲师
课程设计题目:
大小写字母转换
设计要求:
1:按屏幕提示要求输入,从屏幕上获得正确结果。
2:实现大小写字母转换
所需仪器设备:
计算机、
成果验收形式:
大小写字母转换,对汇编程序的理解和设计报告
参考文献:
微机原理与接口技术
8086实验指导书
时间安排星期一,星期二,星期三程序设计,调试星期二,星期三验收
指导教师:刘金梅教研室主任:2010年12月24 日
内容摘要
在计算机系统中有多种数制和编码,常用的数制有二进制、八进制以及十六进制,常用的代码有BCD码、ASCll码和七段显示码等。这些数制和编码根据其作用的不同,在存储形式上也有差异。在实际应用中,它们也因使用的要求不同而有所差异。在配备操作系统管理程序的计算机中,有些代码转换程序已在系统管理软件中编好。还有些代码转换需要根据使用要求通过编程完成。因此,代码转换是非数据处理中最常见的情况。
模块1实现小写字母向大写字母的转换,主要利用小写字母比大写字母大20H的关系。
模块2实现大写字母向小写字母的转换,与模块1类似,将大写字母的ASCll 值加上20H就可以转换成小写字母。
索引关键词微机原理及接口技术、大小写字母转换
目录
一概述 (5)
二方案设计与论证 (5)
2.1 设计流程图 (5)
2.2 汇编语言程序设计 (6)
三设计源程序 (7)
四运算结果分析 (10)
五试验设备 (11)
六心得体会 (11)
七参考文献 (12)
一、概述
课程设计要求进行大小写字母的转换。其实字母大小写的区别在于他们的ASCII码范围,它们之间的转换其实就是加减相应的ASCII码值。在判断输入的字母是大写的还是小写的(即判断输入符号ASCII码在41H~5AH还是在61H~7AH内)之后,决定判断是加上还是减去ASCII码值。另外如果输入的不是字母(输入字符对应ASCII码值不在41H~5AH或61H~7AH内),则需要报警提示,这不但涉及到用汇编语言实现发声的方法,而且对计算机硬件的了解也有要求,因此原理部分加入了部分有关声音产生的硬件知识。
二、方案设计与论证
2.1设计流程图
开始
array首地址→bx
从键盘接受字符
输入字母
大写转小写
小写转大写
回车换行输出
报警
结束
2.2汇编语言程序设计
汇编:计算机不能直接识别和执行汇编语言程序,而要通过“翻译”把源程序译成机器语言程序(目标程序)才能执行,这一“翻译”工作称为汇编。汇编有人工汇编和计算机汇编两种方法。
汇编语言是面向机器的,每一类计算机分别有自己的汇编语言。汇编语言占用的内存单元少,执行效率高,广泛应用于工业过程控制与检测等场合。
汇编语言语句格式
标号:操作符操作数;注释
START: MOV A, 30H ;A←(30H)
标号用来标明语句地址,它代表该语句指令机器码的第一个字节的存储单元地址。
标号一般规定由1~8个英文字母或数字组成,但第一个符号必须是英文字母。
注释只是对语句或程序段的含义进行解释说明,以方便程序的编写、阅读和交流,简化软件的维护,一般只在关键处加注释。
伪指令:伪指令只用于汇编语言源程序中,对汇编过程起控制和指导的作用,不生成机器码。汇编结束,自动消失。
汇编语言程序设计步骤
(1)分析问题
(2)确定算法
(3)设计程序流程
(4)分配内存单元:分配内存工作单元,确定程序和数据区的起始地址。(5)编写汇编语言程序
(6)调试程序
三、设计源程序
code segment
assume cs:code,ds:code
org 100h
start:jmp begin
p1 db 100
p2 db 0
array db 100h dup(?)
begin:
lea bx,array
mov ax,cs
mov ds,ax
mov dx,offset p1
mov ah,0ah
int 21h
xor bx,bx
mov bl,p2
mov array[bx],'$'
mov di,0ffffh
next: inc di
cmp array[di],'$'
je exit cmp array[di],41h jl exit1
cmp array[di],5ah jg next1 add array[di],20h jmp next
next1:
cmp array[di],'$'
je exit cmp array[di],61h jl next
cmp array[di],7ah jg exit1 sub array[di],20h jmp next
disp:
loop next
exit: mov p1,0dh mov p2,0ah
mov ah,09h
int 21h
jmp begin
exit1: mov p1, 0dh
mov p2, 0ah
call sound call sound
call sound
call sound
jmp begin
mov ah,4ch int 21h
sound proc
push ax
push dx
mov dx, cx
in al,61h