第一篇:微机原理与接口技术课程总结
10电子班《微机原理与接口技术》课程总结提要
一、围绕本课程的教学内容,除了阅读教材外你还看了哪些资料?请归纳简述其内容。
二、请陈述当前你对微控制器工作系统的认识
三、请综合运用51单片机的中断系统、定时/计数器、串行口,从实际应用出发做一个设计。这个设计可以是个新产品,也可以是对身边生活中某个环节或产品的改善;这个设计从电子专业的角度要合理可行。请清楚地阐述这个设计的功能、技术环节。不用描绘具体电路,用框图示意即可。
四、本学期的《微机原理与接口技术》课是第一次把微机原理、接口技术、单片机整合在一门课中,并赋予了72学时的课堂教学和36学时的实验学时。请从教学内容、实验内容、学时安排、教师对课程的把握等方面对本课的教学提出意见。
注:
①、对于撰写提要中的问题不能泛泛而论,希望确实通过自己的理解与想法具体说明;
②、要求字数在2000~4000之间;
③、课程总结将计入本课考核成绩;
④、请各位同学截止到7月5日24点,把课程总结的电子版发到我的教学邮箱:xyredleaf_homework_1@126.com
任课教师:洪小叶
2012-6-26
有什么问题及时沟通。
第二篇:《微机原理与接口技术》课程总结
《微机原理与接口技术》课程总结
主要内容:
《微机原理与接口技术》是我们这学期开的比较难学的一门课,课程紧密结合通信工程专业的特点,围绕微型计算机原理和应用主题,以Intel8086CPU为主线,系统介绍了微型计算机的基本知识、基本组成、体系结构、工作模式,介绍了8086CPU的指令系统、汇编语言及程序设计方法和技巧,存储器的组成和I/O接口扩展方法,微机的中断结构、工作过程,并系统介绍了微机中的常用接口原理和应用技术,包括七大接口芯片:并行接口8255A、串行接口8251A、计数器/定时器8253、中断控制器8259A、A/D(ADC0809)、D/A(DAC0832)、DMA(8237)、人机接口(键盘与显示器接口)的结构原理与应用。在此基础上,对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要介绍。
具体介绍:
第一章:主要了叙述微型计算机的发展构成和数的表示方法
(1)超、大、中、小型计算机阶段(1946年-1980年)
采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理(2)微型计算机阶段(1981年-1990年)
微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。(3)计算机网络阶段(1991年至今)。
计算机的数值表示方法:二进制,八进制,十进制,十六进制。要会各个进制之间的数制转换。计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。
第二章:介绍了8086微型机算计系统的组成原理和体系结构
(1)BIU与EU的动作协调原则:
总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务:
①每当8086的指令队列中有两个空字节,或8088的指令队列中有一个空字节时,BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。
②每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者I/O端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者I/O端口的操作;如果此时BIU正好处于空闲状态,会
第1页
立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。
③当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。
④在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。
从上述BIU与EU的动作管理原则中,不难看出,它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086/8088可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令→译码→执行指令的串行工作方式,大大提高了工作效率,这正是8086/8088获得成功的原因之一
(2)它的工作模式:有最小和最大(3)它的寻址方式: a、数据操作数
这类操作数是与数据有关的操作数,即指令中操作的对象是数据。数据操作数又可分为: A 立即数操作数。指令中要操作的数据包含在指令中。B 寄存器操作数。指令中要操作的数据存放在指定的寄存器中。C 存储器操作数。指令中要操作的数据存放在指定的存储单元中。D I/O操作数。指令中要操作的数据来自或送到I/O端口。b、地址操作数
这类操作数是与程序转移地址有关的操作数,即指令中操作的对象不是数据,而是要转移的目标地址。它也可以分为立即数操作数、寄存器操作数和存储器操作数,即要转移的目标地址包含在指令中,或存放在寄存器中,或存放在存储单元之中。
对于数据操作数,有的指令有两个操作数:一个称为源操作数,在操作过程中其值不改变;另一个称为目的操作数,操作后一般被操作结果代替。有的指令只有一个操作数,或没有(或隐含)操作数。
对于地址操作数,指令只有一个目的操作数,它是一个供程序转移的目标地址。下面以MOV指令为例:
MOV dst,src;(dst)←(src)
第三章:对8086的指令系统的介绍
计算机的指令通常包括操作吗和操作数两部分,寻址方式是指令中说明操作数所在地址的方法。寻址方式有立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址编址寻址方式、相对基址编址寻址方式,还有隐含寻址,I/O端口寻址等。要能
第2页
正确判断各种寻址方式。要熟练掌握一下下面的指令:数据传送指令,通用数据传送指令:MOV PUSH POP XCHG XLAT,输入输出指令:IN OUT地址目标传送指令: LEA LDS LES,标志传送指令: LAHF SAHF PUSHF POPF;算术运算指令,加法:ADD ADC INC AAA DAA,减法:SUB SBB DEC NEG CMP AAS DAS,乘法: MUL IMUL AAM,除法:DIV IDIV AAD CBW CWD;逻辑运算和移位指令,逻辑运算指令:NOT AND OR XOR TEST,算术逻辑移位指令:SHL/SAL SHR SAR,循环移位指令: ROL ROR RCL RCR字符串处理指令MOVS CMPS 等,指令前缀REP(无条件重复)以及转移指令:JC JZ JS JP;标志操作指令:CLC CMC STC STI等。
第四章:讨论8086汇编语言程序设计方法,并给出实例分析
汇编语言是一种利用指令助记符、符号地址、标号来编写的计算机语言。是机器语言的符号表示,是面向机器的语言,是较低级的语言。
本章主要内容是汇编语言语句类别、MASM的运算符及其表达式、伪指令语句格式和作用、基本程序结构、调用程序和被调用程序之间的数据传送途径以及汇编源程序上机调试过程。
本章重点是阅读程序和编写程序。本章知识要点如:汇编语言语句类别:实指令语句、伪指令语句、宏指令语句,程序基本机构:顺序结构、分支结构、循环结构、过程(子程序)--参数传递途径:寄存器约定、存储器约定、堆栈传递,程序开发步骤:编辑--汇编--链接--调试程序。伪指令语句:符号定义指令EQU、=,数据定义伪指令DBDWDD……,段定义伪指令SEGMENTENDS,过程定义伪指令PROC……ENDP段指派伪指令ASSUME程序定位伪指令ORG汇编结束伪指令END。
伪指令语句中的名字可以是变量名、段名、过程名。变量也有三种属性:段、偏移量和类型。
第五章:介绍存储器的分类及应用
半导体存储器是指用半导体器件作为存储器介质的存储器。目前,计算机的内存储器(主存储器)都由半导体存储器芯片担任。本章讨论半导体存储器芯片的类型、存储原理、使用场合、引脚功能、如何与CPU(或系统总线)连接以及及软件验证l连接是否正确等问题。
本章知识要点:存储器分外部和内部,外部又分软盘、硬盘、磁带、闪存盘和光盘;内部又分RAM和ROM,RAM可分为 SRAM、DRAM;ROM也可分为PROM、EPROM、EEPROM 和Flash Memory。知道各种存储器的结构和用途,特点以及寻址方式,根据实际接线图能写出寻址空间,以及明白与CPU之间的速度匹配问题等。在学习时要知道存储器芯片的存储容量的计算方法(单元数X位数/单元),会计算各存储器的芯片地址范围。
第六章:讲述I/O接口和系统总线
中断传送方式的优点是:CPU不必查询等待,工作效率高,CPU与外设可以并行工作;由于外设
第3页
具有申请中断的主动权,故系统实时性比查询方式要好得多。但采用中断传送方式的接口电路相对复杂,而且每进行一次数据传送就要中断一次CPU,CPU每次响应中断后,都要转去执行中断处理程序,且都要进行断点和现场的保护和恢复,浪费了很多CPU的时间。故这种传送方式一般适合于少量的数据传送。
第七章:讨论中断系统并介绍中断控制器8259A 本章主要内容是:中断的概念,中断源、中断响应、中断优先级、中断向量表等。会编写初始化程序,8259A的结构和原理及应用;根据题目要求会画实际连线图;会写初始化命令字ICW1、ICW2、ICW3、ICW4和操作命令字OCW1、OCW2、OCW3;会处理中断级联和中断嵌套的问题。
第八章:介绍了可编程计数器、定时器、8253和8254芯片的基本原理和它们的大量应用实例
本章主要内容是:定时器/计数器的应用场合;如何实现定时/计数;可编程计数器/定时器8253芯片的内部结构、引脚功能、计数原理、6种工作方式下的工作条件和输出波形特征。重点是8253芯片的实际应用。
本章主要知识点:知道计数和定时的概念,8253的原理和结构,有3个计数器,每个计数器能独立工作于6种方式,可通过控制字寄存器来设置每个计数器的工作方式,根据题目要求能编写简单的初始化程序,也能根据连线图写出芯片地址。
8253的引脚功能:与系统总线相连:数据引脚D0—D7、地址引脚A1、A0、控制引脚RD/CS/WR;通道引脚CLKGATEOUT其他引脚GNDVCC 可编程计数器/定时器8253的工作方式:方式0:计数结束中断方式,方式1:可编程单稳态输出方式,方式2:比率发生器(分频器),方式3:方波发生器,方式4:软件触发选通,方式5:硬件触发选通。
第九章:讲了可编程外围接口芯片8255A以及具体应用
本章主要内容是并行输入/输出接口概念,可编程并行输入/输出接口芯片8255A的内部结构、引脚功能、3种工作方式下的输入输出工作过程及其实际应用。
本章主要内容:接口的概念,知道8255A的结构和功能以及应用;芯片包括3个端口,能分别工作于3种方式,可以通过方式控制字来选择工作方式,端口A三种方式都能工作,端口B只能工作于方式0和1,端口C只能工作于方式0,可单独写控制字;键盘接口消抖问题。
第十章:简述了串行通信和可编程接口芯片8251A 本章主要内容:串信通信的基本概念:数据传送方向,串行传送的2中基本方式,串行传送的2种基本工作方式,串行传送速率,串行接口芯片,调制解调器;可编程串行通信接口芯片8251A:
第4页
内部结构和外部引脚,记住方式字、命令字和状态字。会画与CPU的实际连线图,能根据实际需要编写8251的程序及其初始化设置。
第十一章:简介了模数(A/D)和数模(D/A)转换
本章主要内容: 模数(A/D)和数模(D/A)转换的概念,模拟量变成数字量需要采样、量化、编码,通过采样保持器来实现。ADC0809转换器要了解其原理,可以有8255A来控制ADC0809,知道连线图和其在整个系统中的作用。
小结:
微机的最基础语言——计算机语言的一个最基础最古老的汇编语言。俗话说的好,越基础的东西越重要,因此它在重大的编程项目中应用的最为广泛。就我个人的理解,汇编是对寄存的地址,以及数据单元进行最直接的修改。不过它有两面性,有优点,也有缺点,最重要的一点就是它本身较为复杂:对某个数据进行修改时,本来很简单一个操作会用比较烦琐的语句来解决,而这些语句本身在执行和操作的过程中,占用大量的时间和成本。因此,在一些讲求效率的场合,这种语言并不可取,所以可以适当对它进行取舍。
汇编语言对学习其他计算机高级语言起到一个比较、对照参考的作用。因为学习总是从最简单最原始最基础的知识点开始,而汇编语言就是比较原始的一种计算机语言,故而学习高级语言也当然可以从汇编开始。而学了高级计算机语言C以后,我经常将C与汇编进行对比。也发现其中的差异,以及各自的特点,优缺点,从而让我对计算机语言又有了更深一层次的了解。由此,可以扩展的学习C++,JAVA等高级语言,这实际上是掌握了学习计算机各种语言的能力和素养。所以掌握汇编语言对以后其他语言的学习有极大的帮助和促进作用。
第5页
第三篇:微机原理与接口技术实验总结
微机原理与接口技术实验总结
11107108
徐寒黎
一、实验内容以及设计思路
1、①试编写一程序,比较两个字符串STRING1、STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出 “NO MATCH”。设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将STRING1和STRING2都实现用键盘输入,方法是
MOV DX,OFFSET STRING2 MOV AH,0AH INT 21H 并且显示在显示器上,显示方法将0AH改成09H,语句与上面类似。然后进行比较第一个单元,MOV AL,[STRING1+1] CMP AL,[STRING2+1] JNZ NOMATCH 若字符串长度不等,则直接跳转,输出输出 “NO MATCH”; 若长度相等再逐个比较 LEA SI,[STRING1+2] LEA DI,[STRING2+2] MOV CL,[STRING1+1] MOV CH,0 CLD REPE CMPSB JCXZ MATCH,意思是全部相同就跳转MATCH,输出“MATCH”;不然进入下面的NOMATCH。退出。
②试编写求级数1^3+2^3 +3^3 …..前几项和刚大于10000的程序。
设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。
一个难点是将输入的ASCII码字符串,转换成与之相同的十进制数的数值。关键的思路部分是:从1开始求级数,将和的值存在AX里,要加下一项级数前,比如这时已经加到4,PUSH一下AX,然后将5乘三遍,将乘积MOV到BX里,再POP AX,然后将BX的值加到AX里,然后将AX与N比较,如果比N小就继续上述步骤,知道刚比N大就输出数字。
③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。
设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。
④设计一个动画程序。
设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。
步骤:首先设置堆栈段,数据段,代码段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用JZ语句跳转到退出。若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。
最后编写好退出语句。
2、硬件接口主要是了解8255与8253的功能,以及控制字。①I/O地址译码
只要对硬件概念清晰,很简单的。基本上没有什么创造性。收获:熟悉实验箱结构,了解每部分元件和标注的意义。掌握I/O地址译码电路的工作原理。②可编程定时器8253 1,对照实验电路图,将计数器0设置为方式0,即数初值设为N(N<0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察OUT0点平变化。
2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。
收获:掌握8253的基本工作原理和编程方法
③并行接口8255 1,试验电路如图所示,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。3,数码管静态显示:按下图接好电路,将8255A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。
4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端S1、S0接8255 C口的PC1和PC0。编程在两个数码管上显示“56”。
动态显示时,先送“5”的段码送A口,再送02h到C口为位码;经一定延时后,送“6”的段码送A口,再送01h到C口为位码。循环完成,可以显示数码。5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。只要搞清楚各个口的地址,以及选择适当的控制字,其实很简单的。
收获:掌握8255的基本工作原理和编程方法,对方式0的认识加深了。
二、试验中遇到的问题 1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要搞清楚,Y和N不能搞反了,否则就错了。
2实验2,里面涉及的寄存器很多,很容易就会用乱了,还是很需要注意的。3比如那个小鸟动画的题目,当时在控制左右移动的时候,选择的起始位置的语句没写对位置,每次按一个移位的键以后,都从最初的初始位置向某个方向移动。
4硬件方面的,一开始没搞懂地址什么意思,所以连线时很懵懂,后来清楚了,发现就没什么了。
三、心得感受
微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
前四个简单程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了我们的创造才能。
后面几个实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己的思考以及和同学的讨论中,终于迎刃而解。
第四篇:《32位微机原理与接口技术》课程教学大纲
《32位微机原理与接口技术》课程教学大纲
一、课程名称:32位微机原理与接口技术
Principle of 32-bit Microcomputer and Interface Technology
二、课程编码:
三、学时与学分:32/2
四、先修课程:电子技术基础,16位微机原理与接口技术
五、课程教学目标
1.帮助学生获得32位微型计算机组成及接口的基本知识,了解计算机科学发展前沿,掌握计算机应用与计算机结构研究的一般方法;
2.培养学生利用计算机分析问题与解决问题的意识,提高学生在本专业领域中的计算机应用能力。
3.使学生能更深入地认识计算机,提高学习与计算机相关知识的能力。
六、适用学科专业
非计算机类的理工科专业
七、基本教学内容与学时安排 ●微型计算机概述(2学时)微处理器的发展历程 微型计算机组织结构 微型计算机的性能指标 ●32位微处理器(3学时)32位微处理器的功能结构 32位微处理器的内部寄存器 32位微处理器的外部引脚及功能 32位微处理器的工作方式
●存储器空间管理与保护(4学时)描述符和页表项
存储器空间的分段管理 存储器空间的分页管理 多任务和保护
●微型计算机的存储器系统(4学时)32位存储器的组成与多字节访问 存储器系统的多级结构 高速缓冲存储器 虚拟存储器
●32位微处理器指令系统与程序设计(4学时)32位微处理器指令系统与寻址方式 32位汇编语言程序设计 高级语言程序的机器级表示 ●总线操作与时序(3学时)
32位微处理器的基本总线操作时序 ISA系统总线 PCI系统总线
●中断系统(3学时)
中断向量和中断描述符表
32位微处理器的中断类型与中断处理过程 外部中断处理与中断控制器 软件中断与CPU内部异常处理
●32位微处理器输入/输出接口(3学时)32位微处理器的输入/输出端口 输入/输出端口地址译码技术 32位微处理器典型接口芯片 ●32位微型计算机组成(2学时)微型计算机的一般架构 微型计算机的主板及其发展 典型的32位微型计算机组成 ●基本人机交互接口(2学时)键盘 鼠标
CRT和LCD显示器接口 其他人机交互接口
● 高性能计算机新技术(2学时)Pentium 微处理器的内部结构 指令执行的并行技术
多处理器的分布式存储器结构 集群技术
八、教材及参考书
微型计算机(80486)原理及接口技术,朱德森主编,化学工业出版社,2003年 注:此点要求写详细,便于学生购买。
九、考核方式
书面考试+讨论、作业+实践表现
第五篇:微机原理与接口技术试题答案
微机原理与接口技术试题答案
一、填空题(20*1)
1、微机系统由(硬件系统)和(软件系统)两部分组成。2、8086有(20)位地址线,存储器容量为(1M)B。3、8086CPU 内部组成结构从功能上讲,可分为(BIU)和(EU)两部分。4、8086/8088的四个段寄存器为(DS)、(ES)、(SS)、(CS)
5、用来存放CPU状态信息的寄存器是(FLAGS)。
6、用来存放指令地址的寄存器是(IP)。7、8086的16位标志寄存器FLAGS中OF=1表示运算结果(溢出),ZF=1表示运算结果为零。PF=0表示运算结果的低8位中1的个数为(奇数)。
8、8086的16位标志寄存器FLAGS中IF=1表示CPU(允许)中断,TF=1表示CPU进入(单步)工作方式。
9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
11、I/O端口的寻址方式有两种,分别是(直接寻址),(间接寻址)。
12、指令JO NEXT 表示OF=(1)时转移。
13、将I/O设备端口内容读入AL中的指令助记符是(IN)。14、8086CPU的 I/O指令采用间接寻址时,使用的间接寄存器是(DX)。
15、设置DF=1的指令为(STD)。
16、清除CF标志的指令为(CLC)。
17、一对操作堆栈的指令为(POP)和(PUSH)。
18、LOOPNZ的循环条件为(CX≠0且ZF=0)。
19、实现无符号数乘2的指令的助记符是(SHL),实现有符号数除2的指令的助记符是(SAR)。22、8086CPU引脚信号中中断请求两个信号名称为(INT)和(NMI)。
26、I/O端口的编址方式一般有(存储器统一编址)和(独立编址)两种
29.1片8259A中断控制器可管理(8)级中断,用9片8259A可构成(64)级主从式中断管理系统。
二: 填空题(每题2分, 共20分)1.8086CPU复位时, 寄存器 CS值为(FFFFH), 寄存器 IP的值为(0000H)2.8086CPU的8个8位通用寄存器名为(AL),(AH),(BL),(BH),(CL),(CH),(DL),(DH).3.若SS = 3240H, SP = 2000H, 栈顶的实际地址为(34400H).4.指令 MOV AX, [BX] 的机器码为 8BH, 07H , 指令 MOV [BX], AX的机器码为(89H),(07H).5.8255A的工作方式有方式0功能为(基本输入输出), 方式1功能为(选通输入输出), 方式2功能为(双向数据传送).6.执行指令 PUSH AX有 SP =(SPBUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA STAR PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, BUF1 MOV CX , COUNT-1 MOV AL, [BX] AG: INC BX CMP AL, [BX] JAE BIG MOV AL, [BX] BIG: DEC CX JNZ AG MOV BUF2, AL RET STAR ENDP CODE ENDS END STAR 问: 该程序执行后BUF2中的值为(9).四、程序设计题(2*10)
1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
DATA SEGMENT BUF DB 0DH,0AH,“PLEASE INPUT A CHAR:$” DATAENDS
STACK SEGMENT
DB 20 DUP(?)STACKENDS
CODESEGMENT
ASSUME DS:DATA,CS:CODE ,SS:STACK BEGIN: MOV AX,DATA
MOV DS,AX
LEA DX,BUF;9号调用显示PLEASE INPUT A CHAR:
MOV AH,9
INT 21H
MOV AH,1;1号调用,从键盘接收1字符
INT 21H
CMP AL,61H /41H;若比“a”/A小转PEND
JB PEND
CMP AL,7AH /5BH;若比“z”/Z大转PEND
JA PEND;
ADD/SUB AL,20H;如在“a”与“z”之间则减去20变为大写字符
MOV DL,AL
MOV AH,2;2号功能调用显示一个字符
INT 21H
PEND: MOV AH,4CH;程序结束运行,返回DOS
INT 21H CODE ENDS
END BEGIN
2、已知芯片8253的端口地址为4F0H~4F3H,设计数器1工作在方式1,计数器初值为3060H,采用二进制计数,请设计实现上述功能的8253初始化程序。8253控制字格式如下:
因为计数器初值为3060H,即为16位的,所以读/写格式为11 因此控制字为:01110010 =72 控制字:MOV AL, 72H OUT 4F3H, AL
低8位:MOV AL, 60H OUT 4F1H, AL
高8位:MOV AL, 30H
OUT 4F1H, AL
六: 编程题(7分)编一个完整的程序, 数据段有10个符号的ASCII码值数据块 BUF , 若数据为0到 9的ASCII码值, 在屏上显示 Y , 否则显示 N 解: DATA SEGMENT BUF DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA NAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUF AG: MOV AL, [BX] CMP AL, 30H JL DISNO CMP AL, 39H JG DISNO MOV AH, 02H MOV DL, ‘Y’ INT 21H JMP NEXT DISNO: MOV AH, 02H MOV DL, ‘N’ INT 21H NEXT: INC CX DEC CX JNZ AG RET MAIN ENDP CODE ENDS END MAIN 七: 接口编程(7分, 仅编程序段)8255A的A口,B口均工作于方式0, 从A口输出数据30H, 将B口输入的数据放入寄存器BL中.(注:8255A口地址为60H到63H)解: 1 0 0 0 X 0 1 X 方式控制字= 82H MOV AL, 82H OUT 63H, AL MOV AL, 30H OUT 60H, AL IN AL, 61H MOV BL, AL