ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:271.38KB ,
资源ID:4142955      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4142955.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理期末考试重点总结.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理期末考试重点总结.docx

1、微机原理期末考试重点总结微机原理期末考试重点总结把寻找操作数的方式叫做(操作数)寻址方式立即数寻址方式寄存器寻址方式存储器寻址方式1、直接寻址方式 2、寄存器间接寻址方式3、寄存器相对寻址方式 4、基址变址寻址方式 5、相对基址变址寻址方式微处理器的定义微处理器即中央处理单元,采用大规模集成电路技术制成的半导体芯片,内部集成了计算机的主要部件:控制器、运算器、寄存器组。微处理器通过执行指令序列完成指定的操作,处理器能够执行全部指令的集合就是该处理器的指令系统。微机的总线结构的好处,使用特点。包括总线定义,分类。总线定义:指传递信息的一组公用导线,总线结构的好处:总线结构使得微机系统组态灵活,扩

2、展方便。使用特点:在某个时刻只有一个总线主控设备控效,T3时钟下降沿检测READY信号,决定是否插入Tw;Tw期间,各信号延续状态。T4状态完成数据传送,并准备过渡到下一操作。-WR、-DEN转为无效。常用的控制信号:ALE地址锁存允许,输出、三态、高电平有效IO/-M:I/O或存储器访问,输出、三态-WR:写控制,输出、三态、低电平有效-RD:读控制,输出、三态、低电平有效INTR、-INTA等存储器地址的译码问题全译码:所有的系统地址线均参与对存储单元的译码寻址特点:采用全译码,每个存储单元的地址都是唯一的,不存在地址重复译码电路可能比较复杂、连线也较多部分译码:只有部分(高位)地址线参与

3、对存储芯片的译码特点:每个存储单元将对应多个地址(地址重复),需要选取一个可用地址可简化译码电路的设计、但系统的部分地址空间将被浪费存储芯片为什么要设置片选信号?它与系统地址总线有哪些连接方式?采用何种连接方式可避免地址重复?采用哪些连接方式可节省用于译码的硬件?解答:片选信号说明该存储器芯片是否被选中正常工作,设置它可以比较方便地实现多个存储器芯片组成大容量的存储空间存储器片选信号通常与CPU地址总线的高位地址线相关联,可以采用“全译码”、“部分译码”、“线选译码”方式采用全译码方式可以避免地址重复采用部分或线选译码可以节省译码硬件8086微处理器的内部结构,EU、BIU的定义和作用,流水线

4、。BIU(总线接口单元):由指令队列、指令指针、段寄存器、地址加法器和总线控制逻辑构成。该单元管理着8088与系统总线的接口、负责CPU对存储器和外设进行访问。EU(执行单元):由ALU、通用寄存器、标志寄存器和指令译码逻辑等构成,它负责指令的译码、执行和数据的运算。两个单元相互独立,分别完成各自操作。两个单元可以并行执行,实现指令取指和执行的流水线操作8086的寻址方式。物理地址和逻辑地址的定义。两者之间转换。8086系统存储器采用分段管理方式。(要求很熟练)对于每个存储器单元都有一个唯一的20位地址,称为物理地址。在8088的总线内部和用户编程时,所采用的“段地址:偏移地址”形式,称为逻辑

5、地址。一个存储器单元可以拥有多个逻辑地址,但可能拥有唯一的物理地址。转换过程:先将段寄存器提供的16位段地址左移四位,低位补0,恢复为20位地址,然后与由各种寻址方式提供的16位偏移地址相加,即得到20位的物理地址。8086微处理器的内部构成。8086的寄存器结构,标志寄存器中每一个标志位的含义及应用。8086复位时各寄存器的初始状态。内部构成:算术逻辑单元(运算器)、寄存器组、指令处理单元(控制器)寄存器结构:8086/8088共有8个的通用寄存器,1个标志寄存器,4个段寄存器和1个指令指针寄存器。进位标志 CF:计算结果的最高有效位有进位,则CF=1,否则CF=0溢出标志 OF:若算术运算

6、的结果有溢出,则OF=1;否则 OF0全零标志位 ZF:若运算结果为全0,则ZF=1,否则ZF=0符号标志 CF:运算结果最高位为1,则SF=1;否则SF=0奇偶标志位 PF:当运算结果最低字节中1的个数为零或偶数时,PF=1;否则PF=0(奇校验)辅助进位标志 AF:运算时D3位(低半字节)有进位或借位时,AF=1;否则AF=0方向标志 DF:存储地址自动增加,DF=1,否则DF=0中断允许标志: IF1,则允许中断,IF0,则禁止中断陷阱标志TF: TF0,处理器正常工作;TF1,处理器每执行一条指令就中断一次中断向量表。掌握中断向量表的构成,计算中断类型号,中断服务程序入口地址。中断的工

7、作过程。 中断向量表是一种表数据结构,是中断向量号与其对应的中断服务程序入口之间的链接表。该地址包括:偏移地址IP 、段地址CS (共32位)每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节(低对低,高对高)。8088 微处理器从物理地址000H开始到3FFH(1KB),依次安排各个中断向量,向量号从0到255。256个中断向量所占用的1KB区域,称中断向量表中断向量的存放首址=N*4 中断类型:8088 CPU具有哪些中断类型?各种中断如何产生,如何得到中断向量号?除法错中断:在执行除法指令时,除数为0或商超过了寄存器所能表达的范围产生指令中断:在执行中断指令INT n时产生溢出中

8、断:在执行溢出中断指令INTO时,溢出标志OF为1产生单步中断:单步标志TF为1,在每条指令执行结束后产生非屏蔽中断:外部通过NMI请求信号向微处理器提出请求时产生可屏蔽中断:外部通过INTR请求信号向微处理器提出请求,并在允许可屏蔽中断的条件下产生(2)除法错中断、溢出中断、单步中断、非屏蔽中断的向量号是8086微处理器内部已经确定指令中断的操作数n就是向量号可屏蔽中断的向量号在响应中断时通过数据总线从外部获得什么是8259A的中断结束字(EOI)?(1)IRi被响应时,ISR中对应的Di位被置1;(2)中断处理完毕,相应的Di位应置0。(3)向8259A送中断结束指令,使ISR的某位清0,

9、指令的内容叫作中断结束字。8259A中IRR、IMR和ISR三个寄存器的含义中断请求寄存器IRR:保存8条外界中断请求信号IR0IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求中断屏蔽寄存器IMR:保存对中断请求信号IRi的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止);为0表示允许中断服务寄存器ISR:保存正在被8259A处理的中断的状态Di位为1表示IRi中断正在处理中;为0表示没有被处理中断的概念。中断向量表的含义。深入理解8259的工作方式,优先权设置、中断结束处理、中断源屏蔽、中断触发等等。8259的初始化编程。中断服务程序编写。中断:指当出现需要时,CPU暂时停止

10、当前程序的执行转而执行处理新情况的程序和执行过程。优先权设置:在ISR的 Di 位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套中断结束处理:自动中断结束方式、普通中断结束方式、特殊中断结束方式;中断向量表的含义:256个中断向量所占用的1KB区域,称中断向量表计算机主机和I/O设备之间进行数据传送的方法。重点掌握查询方式完成数据传送的流程,要会编程。查询传送的特点是:工作可靠,适用面宽,但传送效率低查询输入接口(考电路):代码如下: mov dx,8000h ;dx指向状态端口Status: in al, dx ;读状态端口 test al,01h ;测试标志位D0

11、jz status ;D0=0,未就绪,继续查询 inc dx ;D0=1,就绪,DX指向数据端口 in al,dx ;从数据端口输入数据中断传送:中断传送是一种效率更高的程序传送方式;中断过程的完成由中断系统(硬件,如8259和CPU)和中断服务程序(软件)共同控制完成中断工作过程:1、中断请求(外设) 2、中断响应(CPU)3、关中断(CPU) 4、断点保护(CPU)5、中断识别(软件/硬件) 6、现场保护(用户)7、中断服务(用户) 8、恢复现场(用户)9、开中断(用户/CPU) 10、中断返回(IRET/用户)最小组态的写总线周期时序:如何限制只能输入小写字母( 61h7Ah,课本P2

12、2),否则要求重新输入。 .datamsg db not a lowercase,input again, db 0dh, 0ah, $input: mov ah,1 ;输入小写字母 int 21h cmp al, 61h jl once-again cmp al, 7Ah ja once-again jmp convertonce-again: mov dx,offset msg mov ah,9 int 21h jmp input convert: sub al,20h ;转换为大写字母 采用查表法,实现一位16进制数转换为ASCII码显示04h34h(4) 0bh42h(B)ASCII

13、db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h ;对应0 9的ASCII码 db 41h,42h,43h,44h,45h,46h ;对应A F的ASCII码hex db 04h,0bh ;假设两个16进制数;代码段mov bx,offset ASCII;BX指向ASCII码表mov al, hex ;AL取得一位16进制数;恰好就是ASCII码表中的位移and al, 0fh ;只有低4位是有效的,高4位清0xlat ;换码:ALDS:BXALmov dl,al ;欲显示的ASCII码送DLmov ah,2 ;2号DOS功能调用int 21h ;显示一个A

14、SCII码字符mov al,hex+1 ;转换并显示下一个数据and al,0fhxlatmov dl,almov ah,2int 21h编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出。(可调用书中的HTOASC子程序)HTOASC proc and al,0fh ;al低四位保存待转 ;换的16进制数 cmp al,9 jbe htoasc1 add al,37h ;是A F,加37H ret ;子程序返回htoasc1: add al,30h ;0 9,加30H ret ;子程序返回HTOASC endppush axmov cl, 4r

15、or al, clcall HTOASCcall disp_a_charpop axcall HTOASCcall disp_a_char把从键盘输入的一个小写字母用大写字母显示出来(大小写字母转换)。 mov ah,1 ;输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示写一个子程序,根据入口参数AL0、1、2,依次实现对大写字母转换成小写、小写转换成大写或大小写字母互换。欲转换的字符串在string中,用0表示结束。 lucase proc push bx mov bx,offset string cmp al

16、,0 je case0 cmp al,1 jz case1 cmp al,2 jz case2 jmp donecase0: cmp byte ptr bx,0 je done cmp byte ptr bx,A jb next0 cmp byte ptr bx,Z ja next0 add byte ptr bx,20hnext0: inc bx jmp case0case1: cmp byte ptr bx,0 je done cmp byte ptr bx,a jb next1 cmp byte ptr bx,z ja next1 sub byte ptr bx,20hnext1: in

17、c bx jmp case1case2: cmp byte ptr bx,0 je done cmp byte ptr bx,A jb next2 cmp byte ptr bx,Z ja next20 add byte ptr bx,20h jmp next2next20: cmp byte ptr bx,a jb next2 cmp byte ptr bx,z ja next2 sub byte ptr bx,20hnext2: inc bx jmp case2done: pop bx retlucase endp循环累加(调用子程序)array db 12h,25h,0f0h,0a3h,

18、3,68h,71h,0cah,0ffh,90hcount equ $-array ;数组元素个数result db ? ;校验和;代码段(主程序) mov bx,offset array ;BX数组的偏移地址 mov cx,count ;CX数组的元素个数 call checksum ;调用求和过程 mov result,al ;处理出口参数checksum proc xor al,al ;累加器清0sum: add al,bx ;求和 inc bx ;指向下一个字节 loop sum RetChecksum endp计算AX中有符号数的绝对值 cmp ax,0 jge nonneg ;条件满

19、足(AX0),转移 neg ax ;条件不满足,求补(即绝对值P43)nonneg: mov result,ax ;保存结果;不恰当的分支 cmp ax,0 jl yesneg ;条件满足(AX0),转移 jmp nonnegyesneg: neg ax ;条件满足,求补nonneg: mov result,ax ;保存结果设置两个变量maxay和minay存放最大和最小值array dw 10 dw -3,0,20,900,587,-632,777,234,-34,-56maxay dw ? ;存放最大值minay dw ? ;存放最小值 lea si,array mov cx,si ;取得

20、元素个数 dec cx ;减1后是循环次数 add si,2 mov ax,si mov bx,ax maxck: add si,2 cmp si,ax ;与下一个数据比较 jle minck mov ax,si ;AX取得更大的数据 jmp nextminck: cmp si,bx jge next mov bx,si ;BX取得更小的数据next: loop maxck ;计数循环 mov maxay,ax ;保存最大值 mov minay,bx ;保存最小值挑出数组中正数(不含0)和负数,分别形成正、负数组DATAS SEGMENT count equ 10 array dw 23h,9

21、801h ayplus dw count dup(0) ayminus dw count dup(0)DATAS ENDSSTACKS SEGMENT STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX mov si,offset array mov di,offset ayplus mov bx,offset ayminus mov ax,ds mov es,ax mov cx,count cld again: lodsw cmp ax,0 jl minus jz n

22、ext minus: xchg bx,di stosw xchg bx,di next: loop again MOV AH,4CH INT 21HCODES ENDSEND START8259A 的初始化程序段(7.8), ;写入ICW1:设定边沿触发方式,单片方式,:, ;写入ICW2:设定IR0的中断向量号为90h,:, ;写入ICW4:设定普通嵌套方式,普通中断方式,8259的初始化编程:主片: mov al,11h ;写入ICW1 out 20h,alintr1: mov al,08h ;写入ICW2 out 21h,alintr2: mov al,04h ;写入ICW3 out 2

23、1h,alintr3: mov al,05h ;写入ICW4 out 21h,al 从片: mov al,11h ;写入ICW1 out 0a0h,al intr5: mov al,70h ;写入ICW2 out 0a1h,al intr6: mov al,02h ;写入ICW3 out 0a1h,al intr7: mov al, 01h ;写入ICW4 out 0a1h,al试按如下要求分别编写8253的初始化程序,已知8253的计数器02和控制字I/O地址依次为204H207H。 使计数器2工作在方式2,计数值为02F0H。 mov al,0b4h mov dx,207h out dx,

24、al mov ax,02f0h mov dx,206h out dx,al ;先写入低字节 mov al,ah out dx,al ;后写入高字节8255的初始化编程要求:A口:方式1输入、CH口:输出、CL口:输入、B口:方式0输出方式控制字:1 0110 001 B或B1H初始化的程序段: mov dx,0fffeh ;假设控制端口为FFFEH mov al,0b1h ;方式控制字 out dx,al ;送到控制端口某系统中8253芯片中计数器的0-2和控制字端口地址分别是FFF0HFFF3H。编写8253两个计数器初始化程序及两个计数器的连通图。计数器0的计数值:5M/1K5000138

25、8H 方式控制字:0010010125H、2DH、35H、3DH (十进制计数) 0010010024H、2CH、34H、3CH (二进制计数) 计数器1的计数值:1000 方式控制字:0110100169H、79H (十进制计数) 0110100068H、78H (二进制计数)MOV DX,0FFF3H MOV AL,25H ;通道0,只写高字节,方式2,十进制OUT DX,ALMOV DX, 0FFF0HMOV AL,50H ;计数初值5000OUT DX,ALMOV DX,0FFF3HMOV AL,69H ;通道1,方式4OUT DX,ALMOV DX, 0FFF1HMOV AL,10H

26、 ;计数初值1000OUT DX,AL3、某字符输出设备(如打印机),其数据口和状态口的地址均为80H。在读取状态时,当标志位D70时,表明该设备闲,可以接收一个字符,请编写利用查询方式进行数据传送的程序段。要求将存放于符号地址addr处的一串字符(以$为结束标志)输出给该设备。mov bx, offset addr ;利用offset操作符,可在汇编过程中得到addr的偏移地址again: mov ah, bx cmp ah, $ jz donestatus: in al, 80h ;查询一次 test al, 80h ;两个80h不一样 jnz status ;D7=1,表示设备忙,继续查

27、询 mov al, ah out 80h, al ;输出一个字节 inc bx jmp again ;循环done: 如图10.23为用一片8255A控制8个8段共阴极LED数码管的电路。现要求按下某个开关,其代表的数字(K1为1,K2为2,K8为8)在数码管从左到右循环显示(已有一个延时子程序delay可以调用),直到按下另一个开关。假定8255A的数据端口A、B、C及控制端口的地址依次为FFF8HFFFBH。编写完成上述功能的程序,应包括8255A的初始化、控制程序和数码管的显示代码表;显示代码表table db 0c0h ;对应0(任意) db 0f9h,0a4h,0b0h,99h,92

28、h,82h,0f8h,80h ;对应18;8255A初始化 mov dx,0fffbh mov al,10001001b ;89h out dx,al ;控制程序again0: mov dx,0fffah ;输入开关状态 in al,dx mov cx,8 ;确定哪个开关闭合 mov ah,01h ;mov ah,08hagain1: shr al,1 ;shl al,1 jnc disp0 inc ah ;dec ah loop again1 jmp disp1 ;显示字段disp0: mov bx,offset table mov al,ah xlat mov dx,0fff8h out

29、dx,al ;输出段码disp1: mov cx,8 ;循环显示8位 mov al,01h mov dx,0fff9hdisp2: out dx,al ;输出位码 call delay shl al,1 loop disp2 jmp again0 ;写入方式字 mov al,100001b ;81h mov dx,控制口地址 ;0fffeh out dx,al ;加入下一段更好,使L0L3全亮 mov al,0fh mov dx,端口C地址 ;0fffch out dx,al ;控制程序段 mov dx,端口C地址 ;0fffch in al,dx ;读入PC0PC3 mov cl,4 shl al,cl ;左移4位 out dx,al ;控制PC4PC7以8255的B口作输入口、连接逻辑电平开关;以8255的A口作输出口、连接发光二极管电路。要

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1