11计本3班大小写字母转换课程设计

上传人:宝路 文档编号:23234136 上传时间:2017-11-30 格式:DOC 页数:16 大小:217.63KB
返回 下载 相关 举报
11计本3班大小写字母转换课程设计_第1页
第1页 / 共16页
11计本3班大小写字母转换课程设计_第2页
第2页 / 共16页
11计本3班大小写字母转换课程设计_第3页
第3页 / 共16页
11计本3班大小写字母转换课程设计_第4页
第4页 / 共16页
11计本3班大小写字母转换课程设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《11计本3班大小写字母转换课程设计》由会员分享,可在线阅读,更多相关《11计本3班大小写字母转换课程设计(16页珍藏版)》请在金锄头文库上搜索。

1、安徽省巢湖学院计算机与信息工程学院课程设计报告课程名称 微 机 原 理 课题名称 大小写字母转化 专业班级 11 计本(3)班 学 号 11011183 姓 名 李 威 联系方式 18226926282 指导教师 叶海燕 完成日期: 2013 年 1 月 5 日目 录摘 要 .I1 原理 .11.1 8086 简介 .11.2 汇编程序设计简介 .21.3 报警设计 .22 程序设计.42.1 程序设计流程图 .42.2 从键盘接受字符程序段 .52.3 大写字母转换成小写字母程序段 .52.4 小写字母转换成大写字母程序段 .62.5 报警程序段 .72.6 总程序代码 .83 运行结果分析

2、 .114 心得体会.12参考文献 .13摘 要在课程设计之前,具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉 80X86 的 CPU 结构和指令系统;熟悉相关常用接口电路的设计使用方法是必不可少的。因此原理部分重新温习并整理了相关知识。课程设计要求进行大小写字母的转换。其实字母大小写的区别在于他们的 ASCII 码范围,它们之间的转换其实就是加减相应的 ASCII 码值。在判断输入的字母是大写的还是小写的(即判断输入符号 ASCII 码在 41H5AH 还是在 61H7AH 内)之后,决定判断是加上还是减去 ASCII 码值。另外如果输入的不是字母(输入字符对应 ASCII 码

3、值不在41H5AH 或 61H7AH 内) ,则需要报警提示,这不但涉及到用汇编语言实现发声的方法,而且对计算机硬件的了关键词:8086 大小写字母转换 报警01 原理1.1 8086 简介Intel 8086 拥有四个 16 位的通用寄存器,也能够当作八个 8 位寄存器来存取,以及四个 16 位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供 64K 8 位元的输出输入(或 32K 16 位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。Intel 8086

4、有四个内存区段(segment) 寄存器,可以从索引寄存器来设定。区段寄存器可以让 CPU 利用特殊的方式存取 1 MB 内存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制分段, ,使在编程中使用指针 (如 C 编程语言) 变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。而 8086 的寻址方式改变让内存扩充较有效率。80X86 从功能上分执行单元

5、 EU(Execution Unit),和总线接口单元 BIU(Bus Interface Unit),执行单元由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和 EU控制器等部件组成。指令执行部件 EU 由算术逻辑单元、标志寄存器、通用寄存器和 EU 控制器等部件组成。主要功能是执行指令:一般顺序执行,EU 不断地从指令队列中取指令连续执行,而省去访问存储器取指令的时间。需要访问存储器取操作数时,EU 将访问地址送给 BIU 后,将要等待操作数到来后才能继续操作;遇到转移类指令时,要将指令队列中的后续指令作废,等待 BIU 重新从存储器取出目标地址中的指令代码进入指令队列后,EU 才能继续

6、执行指令。1算术逻辑单元(ALU)完成 16 位或 8 位的二进制运算;16 位暂存寄存器用来暂存参加运算的操作数。运算结果通过内部总线送到通用寄存器组或 BIU 的内部寄存器中等待写入存储器。经 ALU 运算后的结果特征置入标志寄存器中保存EU 控制器负责从 BIU 的指令队列中取指令,并对指令译码;根据指令要求向 EU 内部各部件发出控制命令以完成各条指令的功能。总线接口单元由地址加法器、专用寄存器组、指令队列缓冲器和总线控制电路等部件组成;主要功能是形成访问存储器的物理地址,负责与外部(存储器或 I/O 接口)打交道。1.2 汇编程序设计简介汇编:计算机不能直接识别和执行汇编语言程序,而

7、要通过“翻译”把源程序译成机器语言程序(目标程序)才能执行,这一“翻译”工作称为汇编。汇编有人工汇编和计算机汇编两种方法。汇编语言是面向机器的,每一类计算机分别有自己的汇编语言。汇编语言占用的内存单元少,执行效率高,广泛应用于工业过程控制与检测等场合。汇编语言语句格式标号: 操作符 操作数 ;注释START: MOV AX , 50H ;AX(50H)标号用来标明语句地址,它代表该语句指令机器码的第一个字节的存储单元地址。标号一般规定由 18 个英文字母或数字组成,但第一个符号必须是英文字母。注释只是对语句或程序段的含义进行解释说明,以方便程序的编写、阅读和交流,简化软件的维护,一般只在关键处

8、加注释。伪指令:伪指令只用于汇编语言源程序中,对汇编过程起控制和指导的作用,不生成机器码。汇编结束,自动消失。汇编语言程序设计步骤:分析问题;确定算法;设计程序流程;分配内存单元:分配内存工作单元,确定程序和数据区的起始地址;编写汇编语言程序;调试程序;21.3 报警设计8253/8254 是早期的 PC 系列机中有一个专门用于定时的集成电路,定时器通道 3 的G 端与 61H 端口的 bit0 位相联,如果将 61H 端口的 bit0 位置成 1,那么定时器通道 3 就被启动,此时将有一组信号从 OUT 端输出,信号的频率可以用程序控制;若 61H 端口bit0 位为 0,则定时器被关闭,O

9、UT 端就会恒定为 1 此电路用在这里相当一个可控开关,如果将 61H 端口的 bit0、bit1 位都置成 1,则相当于既打开了定时器又打开了开关,这时候定时器产生的声音信号就会送到放大器推动喇叭发声;若将 bit0 位置 0,则定时器关闭,此时 OUT 端为 1,这时候如果连续改变 bit1 位的状态,也可以从喇叭中听到声音若将 bit1 位置 0,则开关关闭,此时即使打开定时器也不能听到声音。 PC 中的定时电路有三个通道,通道 3 用于发声,通道 1 用于控制系统内部的时钟。大家都十分清楚用 DOS 的TIME命令可以观察并修改系统内部的一个时钟,这个时钟之所以能连续运转主要依靠定时器

10、的通道 1。 通道 1 的工作方式和通道 3 一样,但是系统启动时设定其发出一个频率固定为18.2Hz 的信号,这个信号直接送到系统中的中断控制器。每一个Hz都产生一个硬件中断,一般称这个硬中断为IRQ0,对应的中断号是 08H。也就是说,当计算机启动后,我们的机器看上去十分平静,但实际上 CPU 非常忙碌。在定时器的控制下每隔 55 毫秒就要执行一个 08H 号中断,这个中断的主要工作就是连续地计数。 在内存0040H:006CH处有四字节的存储空间专门用于保存计数值,CPU 每执行一次08H 中断,这四字节的计数值就被加 1,不难算出这个计数值每增加 1091 后时间恰好过了 1 分钟,每

11、增加 65454 后时间恰好过了 1 小时。系统内部的时钟之所以能准确走时,靠得就是 08H 中断和这四字节的计数值。因此我们要想精确的定时,必须依靠时钟计数值才行。32 程序设计2.1 程序设计流程图NY 图 2.1 流程图开始array 首地址 bx从键盘接受字符输入字母?大写转小写小写转大写回车换行输出结束报警42.2 从键盘接受字符程序段本程序段要求能够从键盘接受字符,从而做出下面的判断是字母还是其他字符。程序段如下:lea bx,array mov ax,cs mov ds,axmov dx,offset p1 mov ah,0ah int 21h程序段中的一些指令功能:MOV:数据

12、传送指令。将源操作数传送到目的操作数中。OFFSET:取源操作数首地址。int 21h:结束该程序段先将 array 的首地址给 bx,将 cs 付给 ax,再将 ax 传到 ds 中,将 pl 的偏移量给 dx,接着调用中断 21 的 0a 号功能从键盘接收字符。2.3 大写字母转换成小写字母程序段本程序段要求实现大写字母转换成小写字母的设计,可以根据 AZ 的 ASCII 码来进行程序设计,若小于 A 的 ASCII 码 41h 则跳至报警程序,若大于 Z 的 ASCII 码 5ah 则跳至小写转换成大写字母程序,若在 41h5ah 范围内,则将其 ASCII 码加 20h,从而实现大写字母转换成小写字母。程序段如下:next: inc di ;di自加cmp arraydi,$ ;比较je exit ;相等,则跳到exit执行cmp arraydi,41h ;(AZ41h-5ah az61h-7ah)与A比较jl exit1 ;小于,则跳cmp arraydi,5ah ;与Z比较5jg next1 ;大于,则跳add a

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

当前位置:首页 > 中学教育 > 试题/考题

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