微机原理作业及答案.ppt

上传人:小飞机 文档编号:5975744 上传时间:2023-09-10 格式:PPT 页数:33 大小:505KB
返回 下载 相关 举报
微机原理作业及答案.ppt_第1页
第1页 / 共33页
微机原理作业及答案.ppt_第2页
第2页 / 共33页
微机原理作业及答案.ppt_第3页
第3页 / 共33页
微机原理作业及答案.ppt_第4页
第4页 / 共33页
微机原理作业及答案.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《微机原理作业及答案.ppt》由会员分享,可在线阅读,更多相关《微机原理作业及答案.ppt(33页珍藏版)》请在三一办公上搜索。

1、一、二、三、四章 作业,第一章 作业,1、简述微型计算机的硬件系统结构,并说明其主要功能。2、试利用一个字节的字长,将十进制-115转换为相应的二进制的原码、反码和补码。解:(-115)原=(11110011)2(-115)反=(10001100)(-115)补=(10001101),3、已知X补=1100111,则X原=,2X补=,并判断结果是否溢出。解:题目没有特殊说明,将最高为(第六位作为符号位)X反=X补-1=1100110,则X原=1011001 2X补=X补+X补=1100111+1100111=1 1001110 C6C5=11=0,不溢出 另外,可以补齐第七位为0或者1,再进行

2、计算获得。,4、十进制389对应的二进制数是110000101,BCD码是001110001001,每位数字用字符表示时ASC码是333839H。5、下列无符号数中,最大的是(转化为10进制比较)A(1100100)2 B(143)8C(10011000)BCD D(65)16,第一章 作业,第二章 作业,1、8088CPU与8086CPU的差别是什么?数据线和部分引脚2、8086CPU有哪些寄存器?复位值为多少?AX BX CX DX SP BP SI DI IP CS DS ES SS FR 注意:CS:IP=FFFF:0000H3、8086系统的寻址空间采用什么结构?用什么信号作为本选信

3、号?答:采用分体结构,将1MB的存储空间分为两个体:寄地址存储体和偶地址存储器,各为512KB。奇地址存储器数据线与系统数据总线高八位相连,用BHE作为选通信号;偶地址存储体的数据线与系统数据总线低八位相连,用A0作为选通信号。4、什么是存储空间的逻辑分段与存储器单元的逻辑地址?答:8086寻址空间按字节编址,存储空间为1MB,每个存储单元地址为20位。由于CPU总线宽度和寄存器都为16位,如何形成20位地址。物理地址=段地址*16+有效地址 地址的高16位称为段地址,存放在段寄存器。物理地址唯一,指向一个存储单元,逻辑地址不唯一。5、什么是时钟周期、总线周期和指令周期?,6、已知存储器的物理

4、地址78A00H,计算所对应的逻辑地址。逻辑地址不唯一:7000:8A00,7800:0A007、比较说明8086最小工作方式下读/写操作的差别。主要在T2和控制信号差别。8、若CS=8000H,则代码段可以寻址的范围为多少?8000:0000H8000:FFFFH 800008FFFFH9、如果8086CPU的工作时钟CLK=4MHZ,请问:1)CPU工作时,RESET引脚至少出现多少微妙的高电平才能使CPU复位?由于时钟为4MHZ,一个时钟周期为0.25毫秒;CPU完成复位操作需要4个时钟周期,所以4*0.25=1毫秒。2)在插入2个TW情况下,从内存读入一个字节数据需要的时间是多少?再加

5、上2个TW情况下,共需要6个时钟周期,所以6*0.25=1.5毫秒。10、简述可屏蔽中断响应过程。1)从数据总线上读取中断类型码,将其存入内部寄存器;2)将标志寄存器的值推入堆栈,将IF和TF清零;3)将断点(地址)保存到堆栈中;4)根据中断类型码,在中断矢量表中找到中断向量,转入相应中断服务程序。,第二章 作业,1、8086/8088操作数是从哪里来的?,答:来源有3种:立即数、寄存器、存储器操作数 指令中直接给出参加操作数;参与操作的数存放在CPU的某个寄存器中;参与操作的数存放在内存单元中,需要寻找相应的物理地址。,2、指出下列指令的错误,1)MOV AX,SIDI2)MOV BX,SI

6、 3)ADD BYTE,PTRBX 4)JMP BYTE,PTRBX 5)OUT 230H,AX,(不能同时使用两个变址寄存器),(原操作数和目的操作数不能同时为存储器),(书写错误,没有目的操作数,BYTE,PTR一/少一个操作数),(段内转移至少16位,格式书写错误),第三章 作业,(端口地址超过一个字节大小,需要使用DX中介),3、堆栈指针寄存器SP的初值为1000H,(AX)=2000H,(BX)=3000H,试问:(1)执行指令PUSH AX后,(SP)=()(2)在执行指令PUSH BX和POP AX后,(SP)=(),(AX)=(),(BX)=()。,答:PUSH指令,堆栈指针向

7、低地址方向移动2个内存空间,即SP-2。(SP)=1000H-0002H=0FFEH。,对于本题一共要执行3条指令:PUSH AXPUSH BXPOP AX对于PUSH AX:,对于PUSH BX:,对于POP AX:(SP)=0FFEH(AX)=3000H(BX)=3000H,第三章 作业,5、判断下列执行程序后,BX的内容(答案待定)MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL,答:0B7H循环右移2位:(BX)=C02D H,6、指出下面程序段的功能 CLD LEA DI,1200H MOV CX,0F00H XOR AX,AX REP STOSW,功能

8、:从有效地址为1200H的内存单元开始,开辟F00H个内存单元 存放0(清除从1200H开始的F00H(3840)单元的内容),第三章 作业,7、写出完成下列功能的程序段1)从地址DS:0012H中送一个数据56H到AL寄存器;2)AL的内容与字节单元DS:0013H中的内容相乘;3)乘积存入子单元DS:0014。,MOV AL,12H,MUL 13H,MOV WORD PTR14H,AX,MOV SI,12HMOV AL,SI,INC SIMUL SI,MOV WORD PTR SI+1,AX,第三章 作业,第四章 作业,2、画图说明下列语句所分配的存储空间 WORD_VER DW 3 DU

9、P(0,1,2),?,-5,BC,256H,3 DUP(0,1,2),保留空间,-5原,-5补=FFFB,-5,C,B,256H,3、已知(AX)=4567H,(BX)=9ABCH,执行下列程序后,AX=?BX=?,CMP AX,BX JG NEXT XCHG AX,BX NEXT:NOT AX,比较AX,BX大小,结果反映到标志寄存器中,带符号比较指令,如果AXBX,转到NEXT,如果AXBX,交换内容,寄存器内容取反,分析:(AX)=4567H为正数,(BX)=9ABCH为负数,JG成立,转向 NEXT,此时取反(AX)=BA98H,(BX)不变,即(BX)=9ABCH,4、编写一段程序,

10、把BUFFER开始的200个字节的内存初始化 66H、0FAH、66H、0FAH、66H、0FAH。,DATA SEGMENT BUFFER DB 100 DUP(66H,0FAH)DATA ENDS,DATA SEGMENT BUFFER DB 200 DUP(?)DATA ENDSCODE SEGMENT ASSUME:CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AX,0FA66H,LEA DI,BUFFERCLDMOV CX,100REP STOSWHLTCODE ENDS END START,5、编写下面公式前20个值的程序,F(0)=

11、1 F(1)=1 F(X)=F(X-1)+F(X-2)X2,DATA SEGMENT DATA1 DB 0,1,18 DUP(?)DATA ENDCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA BX,DATA1 MOV CL,18 CLC,NEXT:MOV AX,0 MOV AL,BX MOV DL,BX+1 ADD AL,DL DAA MOV BX+2,AL INC BX LOOP NEXT HLTCODE ENDS END START,初始化,循环主体,循环控制,6、从数据段BUF单元开始存放一个32位数

12、。下面子程序的功能是统计该数中含“1”的个数,并将结果存入RSLT字节单元。试在空白处填上适当的内容,保证程序的正确性。,XHZY PROC FAR PUSH AX PUSH DX MOV AX,BUF MOV DX,BUF+2 MOV CX,32LP:SHL AX,_ RCL DX,_,ADC BX,0 LOOP _ MOV BYTE PTR SRLT,_ _ _ RETXHZY ENDP,BX+0+(CF),1,1,LP,BL,POP DX,POP AX,7.将内存(10050H)的内容分为两段,每段4位,高4位和低4位分别存入 10052H和10051H单元,这两个单元的高4位为0。,0

13、,0,MOV AX,1000HMOV DS,AXMOV SI,50HMOV AL,SIAND AL,0FHMOV SI+1,ALMOV AL,SIMOV CL,4SHR AL,CLMOV SI+2,AL,附段地址,取10050H地址的值,高4位为0,保留4位,取值,逻辑右移4位,物理地址:程序中应该用逻辑地址表示。,也可以采用PUSH,POP指令,五、六、七、八章 作业,1、可编程中断控制器8259A级联使用时,从片的中断请求是如何被响应的?,答:8259A级联使用时,主片设置为特殊全嵌套方式,从片设置为完全嵌套工作方式。当从片的某一端IRi收到一个或多个中断请求信号,经过该从片判别本片的优先

14、级后确定为本片的当前最高优先级。从片INT发出一个请求信号给主片的IRi,再经过主片的判优确定为本片的最高优先级,通过主片的INT发出一个中断请求信号给CPU,若果IF=1,CPU发出两个INTA信号:主片收到第一个INTA信号,设置主片ISR相应位为1,表示中断已经被响应,清除IRR相应位为0。检查ICW3决定中断请求是否来自从片,则将从片级联地址CAS0CAS3上输出给所有从片,只有级联地址与CAS0CAS3上信息一致的从片被选中。选通从片收到第一个INTA信号后,将其ISR的相应位置1,表示中断已经被响应,将IRR中断请求相应位清0。CPU的第二个INTA信号到达后,选中从片相应中断类型

15、号送到系统总线低8位。,第五章 作业,选中,第三章 作业,2、若中断向量标的地址为0040H单元存放的是1234H,0042H单元存放的是5678,试问:1)这些单元的中断类型编号是多少?2)该中断服务程序的起始地址是多少?,答:中断类型号=中断类型地址/4=二进制表示的中断向量地址逻辑右移2位 0040H逻辑右移2位:10H或16D 中断服务程序的入口地址=段地址:偏移量=5678:1234H,3、有2片8259A级联形式,主片为特殊完全嵌套方式,从片是一般完全嵌套方式,从片的INT引角接到主片IR3引角,主从8259A的中断优先顺序?,答:考察在级联方式下,各8259A的IRi引脚中断优先

16、级别。主片为特殊全嵌套方式时,中断优先级从高到低为IR0,IR1,IR7,中断嵌套时能被同级打断。IR0 IR1 IR2(IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7)IR4 IR5 IR6 IR7 主片 从片 主片,4、某可编程控制器8259A的IR3接在一个输入设备的中断请求输出线上,其中断类型号为63H,那么该片的中断类型号范围是多少?,答:单片使用的8259A。可以管理8级中断。其对应的8个中断向量依次存放 在中断向量表连续的32个字节里,因此占有的连续8个中断类型号。即这 8个中断类型号的高5位相同,后3位由所接的IRi编号决定。该片的中断类型号的范围:60H-67

17、H。,5、某8086微机的中断系统有5个外部中断源,接在8259A的IR0IR4端,中断类型码为58H、59H、5AH、5BH和5CH,8259A的端口地址为B0H、B1 H。允许它们以全嵌套工作式工作,中断请求采用电平触发方式。试编写8259A的初始化程序。,MOV AL,00011011BOUT B0H,AL MOV AL,58HOUT B1H,AL MOV AL,00000111BOUT B1H,AL,初始化命令字,中断类型码初始化,控制初始化,第六章 作业,0001100001,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 1 1 0 0 0 Y0 218

18、H 1 1 1 Y7 21FH,3、为什么存储器芯片能够直接连接到系统总线,而I/O设备则要通过接口才能连接到总线上?,答:这是因存储器芯片和微处理器一样都是集成芯片,是靠电子线路工作的,存储器芯片中有片内译码功能、读写控制功能及芯片工作的控制端CS;而外设不同,外设种类很多,有机械式、机电式等,工作原理及速度有所差异,需要通过外设接口协调工作、实现电平转换、数据格式转换及对I/O的工作控制。,4、某输入接口的地址为0E54H,输出接口的地址01FBH,编写程序,使得当输入接口的Bit1、Bit4、Bit7位同时为1时,CPU内存中DATA为首地址的20个单元数据从输出接口输出,若不满足条件则

19、等待。,LEA SI DATAMOV CX,OAHNEXT:MOV DX,0E54H IN AL,DX TEST AL,92H JNZ NEXTLP:MOV AX,SI MOV DX,01FBH OUT DX,AX INC SI LOOP LP,5、简述DMA传送的工作过程。,答:1)I/O设备向DMAC发出DMA请求;2)DMAC向CPU发出总线请求;3)CPU在执行完当前指令的当前的总线周期后,向DMAC发出总线响应信号;4)CPU脱离对系统总线的控制,由DMAC接管对系统总线的控制;5)DMAC向I/O设备发出的DMA应答信号;6)DMAC进行一个字节的传送;,本章的知识要点,并行接口的

20、概念,8255A,引脚功能,内部结构,A、B、C口,A组、B组,三种工作方式,数据传送方式,实际使用:硬件连接软件编程,第七章 作业,1、设8255A的A、B、C口和控制口的端口地址分别为60H,62H,64H,66H。要求A口工作在方式0输入,B口工作在方式0输出,C口的高四位输 入,C口的第4位数出,试编写8255A的初始化程序。,0 0 1 1 0 0 0标志位 A口工作方式 A口输入 C口高4位输入 B口方式0 B口输入 C口低4位输出,方式控制字:98H初始化程序:MOV AL,98H OUT 66H,AL,2、设8255工作在方式0下,从A口读入数据,将高四位清零,低4位保持 不变

21、,然后送B口输出。是编写8255初始化程序。(其中,8255A口的 地址60H,B口地址61H,控制口地址63H)。,分析:8255工作在方式0时,从A口读入数据,送B口输出,方式控制字:1 0 0 1 I/O 0 0 I/O标志位 A口方式0 A口输入 C口高4位任意 B口方式0 B口输出 C口低4位任意,工作控制字:99H,8255A初始化:MOV AL,99H OUT 63H,AL,8255A工作中:.IN AL,60HAND AL,0FHOUT 61H,AL.,本章知识要点,定时/计数器实现,软件:延时子程序,硬件:数字逻辑电路,可编程定时/计数器,定时/计数器8253A,引脚功能,编

22、程结构:6种工作方式,芯片使用:硬件连线软件编程,具体内容看第十章PPT,第八章 作业,2、8253的通道计数频率为1HZ,每个通道最大定时时间为?A 32.64ms B 97.92ms C 48.64ms D 65.536ms,本题主要考查8253工作原理及在通道技术频率已知情况下,如何计算每个通道的最大定时时间。已知计数频率1MHZ,得计数周期=1/1MHZ=1微秒1)若采用10进制计数方式,每个通道最大定时时间=10000*1微秒=10ms2)若采用2进制计数方式,每个通道的最大定时时间=65536*1微妙=63.536ms,3、8253的端口地址40H43H,CH0作为计数器,计数时钟频率为1MHZ。下面程序执行后,输出脉冲宽度是多少?MOV AL,36H;方式控制字OUT 43H,ALMOV AX 20000;计数初值OUT 40H,ALMOV AL,AHOUT 40H,AL,方式控制字:36H=00 11 011 0 B,方式3,16位读写,选择通道0,二进制计数,方式3:输出波形为方波方波的频率=计数时钟频率/计数初值=1MHZ/20000=50HZ方波周期=1/50=0.02s=20ms,输出脉冲宽度=10ms,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号