计算机课英语大写,指令计本3班 大小写字母转换课程设计

安徽省巢湖学院计算机与信息工程学院

课程设计报告

课程名称 微机原理

课题名称 大小写字母转化

专业班级 11计本3班

指导教师 叶海燕

完成日期: 2013 年 1 月 5 日

目录

摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1. 1 8086简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1.2汇编程序设计简介. . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1.3报警设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2. 1程序设计流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2.2从键盘接受字符程序段. . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2.3大写字母转换成小写字母程序段. . . . . . . . . . . . . . . . . .错误未定义书签。

2.4小写字母转换成大写字母程序段. . . . . . . . . . . . . . . . . .错误未定义书签。

2.5报警程序段. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2.6总程序代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3运行结果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

4心得体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

摘要

在课程设计之前具备微机原理的理论知识和实践能力熟悉汇编语言编程技术熟悉80X86的CPU结构和指令系统熟悉相关常用接口电路的设计使用方法是必不可少的。因此原理部分重新温习并整理了相关知识。

课程设计要求进行大小写字母的转换。其实字母大小写的区别在于他们的ASCII码范围它们之间的转换其实就是加减相应的ASCII码值。在判断输入的字母是大写的还是小写的即判断输入符号ASCII码在41H~5AH还是在61H~7AH内之后决定判断是加上还是减去ASCII码值。另外如果输入的不是字母输入字符对应ASCII码值不在41H~5AH或61H~7AH内则需要报警提示这不但涉及到用汇编语言实现发声的方法而且对计算机硬件的了

关键词 8086 大小写字母转换报警

1原理

1 .1 8086简介

Intel8086拥有四个16位的通用寄存器也能够当作八个8位寄存器来存取 以及四个16位索引寄存器(包含了堆栈指标) 。资料寄存器通常由指令隐含地使用针对暂存值需要复杂的寄存器配置。它提供64K 8位元的输出输入(或32K 16位元)  以及固定的向量中断。大部分的指令只能够存取一个内存位址所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。

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

80X86从功能上分执行单元EU(Execution Unit) 和总线接口单元BIU(Bus InterfaceUnit) 执行单元由算术逻辑单元ALU 、标志寄存器、通用寄存器组和EU控制器等部件组成。

指令执行部件EU由算术逻辑单元、标志寄存器、通用寄存器和EU控制器等部件组成。

主要功能是执行指令

一般顺序执行 EU不断地从指令队列中取指令连续执行而省去访问存储器取指令的时间。

需要访问存储器取操作数时 EU将访问地址送给BIU后将要等待操作数到来后才能继续操作

遇到转移类指令时要将指令队列中的后续指令作废等待BIU重新从存储器取出目标地址中的指令代码进入指令队列后 EU才能继续执行指令。

算术逻辑单元ALU完成16位或8位的二进制运算 16位暂存寄存器用来暂存参加运算的操作数。运算结果通过内部总线送到通用寄存器组或BIU的内部寄存器中等待写入存储器。经ALU运算后的结果特征置入标志寄存器中保存

EU控制器负责从BIU的指令队列中取指令并对指令译码根据指令要求向EU内部各部件发出控制命令以完成各条指令的功能。

总线接口单元由地址加法器、专用寄存器组、指令队列缓冲器和总线控制电路等部件组成

主要功能是形成访问存储器的物理地址负责与外部存储器或I/O接口打交道。

1.2汇编程序设计简介

汇编计算机不能直接识别和执行汇编语言程序而要通过“翻译”把源程序译成机器语言程序目标程序才能执行这一“翻译”工作称为汇编。汇编有人工汇编和计算机汇编两种方法。

汇编语言是面向机器的每一类计算机分别有自己的汇编语言。汇编语言占用的内存单元少执行效率高广泛应用于工业过程控制与检测等场合。

汇编语言语句格式

标号 操作符 操作数 注释

START MOV AX  50H  AX←50H

标号用来标明语句地址它代表该语句指令机器码的第一个字节的存储单元地址。

标号一般规定由18个英文字母或数字组成但第一个符号必须是英文字母。

注释只是对语句或程序段的含义进行解释说明 以方便程序的编写、阅读和交流简化软件的维护一般只在关键处加注释。

伪指令伪指令只用于汇编语言源程序中对汇编过程起控制和指导的作用不生成机器码。汇编结束 自动消失。

汇编语言程序设计步骤分析问题确定算法设计程序流程分配内存单元分配内存工作单元确定程序和数据区的起始地址编写汇编语言程序调试程序

1 .3报警设计

8253/8254是早期的PC系列机中有一个专门用于定时的集成电路定时器通道3的G端与61H端口的bit0位相联如果将61H端口的bit0位置成1那么定时器通道3就被启动此时将有一组信号从OUT端输出信号的频率可以用程序控制若61H端口bit0位为0则定时器被关闭 OUT端就会恒定为1

此电路用在这里相当一个"可控开关"如果将61H端口的bit0、 bit1位都置成1则相当于既打开了定时器又打开了开关这时候定时器产生的声音信号就会送到放大器推动喇叭发声若将bit0位置0则定时器关闭此时OUT端为1这时候如果连续改变bit1位的状态也可以从喇叭中听到声音若将bit1位置0则开关关闭此时即使打开定时器也不能听到声音。

PC中的定时电路有三个通道通道3用于发声通道1用于控制系统内部的时钟。大家都十分清楚用DOS的"TIME"命令可以观察并修改系统内部的一个时钟这个时钟之所以能连续运转主要依靠定时器的通道1。

通道1的工作方式和通道3一样但是系统启动时设定其发出一个频率固定为18.2Hz的信号这个信号直接送到系统中的"中断控制器"。每一个"Hz"都产生一个硬件中断一般称这个硬中断为"IRQ0"对应的中断号是08H。也就是说 当计算机启动后我们的机器看上去十分平静但实际上CPU非常忙碌。在定时器的控制下每隔55毫秒就要执行一个08H号中断这个中断的主要工作就是连续地计数。

在内存"0040H 006CH"处有四字节的存储空间专门用于保存计数值 CPU每执行一次08H中断这四字节的计数值就被加1不难算出这个计数值每增加1091后时间恰好过了1分钟每增加65454后时间恰好过了1小时。系统内部的时钟之所以能准确走时靠得就是08H中断和这四字节的计数值。因此我们要想精确的定时必须依靠时钟计数值才行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值