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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理习题参考答案1docx.docx

1、微机原理习题参考答案1docx习题与思考题(参考答案)第一章1.6将下列十进制数转换成二进制数。256D =10000000B 237. 135D=11101101.0010001B12. 58D=1100. 100101B 0. 374D二0. 0101B1.7写出下列二进制数对应的十进制数、八进制数、十六进制数。1101110B二110D二156Q二6EH 111011000B二472D二730Q二1D8H1101111. 1001B-111. 5625D二157.44Q二6F 9H1.8填空:10101. 001B= (21. 125) D= (25. 1) Q= (15.2) H2DE

2、. 6H= (1011011110.011) B= (1336. 3) Q= (734. 375) D 1.9试写出下列用补码表示的二进制数的真值。00111010 -00111010-+58 10000000-12810000101-11111011-123 11111110-10000010-2 01111110-01111110-+1261. 10已知X=35, Y = -89,试用补码运算法则,求出:X + Y = ?X补= 00100011 Y原=11011001 Y补=10100111X + Y补=X补 + Y补= 00100011+10100111 = 11001010X + Y

3、 = 10110110B=-541. 11 已知X补=10011011, X + Y补=10111001,试求:1 x Y 补=? (有溢出,结果出错。)因为X + Y补=X补 + Y补=10111001所以Y补=X + Y补一 X补= 00011110-Y补=11100010X Yh=X补+ 丫补=10011011+11100010 = 011111012 X、Y的真值各为多少?X原= 11100101, X 的真值为一101; 丫原=00011110, Y 的真值为30第二章2. 3 8086CPU的ALE信号的功能是什么?答:ALE (Address Latch Enable)是8086

4、CPU提供给地址锁存器的控制 信号,在任何一个总线周期的T1状态,ALE输出有效电平(正脉冲),以表示 当前地址/数据、地址/状态复用总线上输出的是地址信息,锁存器可利用 它的下降沿将地址锁存起来。ALE信号不能浮空。2.4 8086CPU内部的寄存器由哪几种类型组成?各自的作用是什么?答:8086CPU内部有14个16位寄存器,可以分为以下三组:分别是通用 寄存器组,段寄存器组,控制寄存器。通用寄存器组可以分为两组:数据寄存器和地址指针与变址寄存器。 数据寄存器主要用来保存算术、逻辑运算的操作数、中间结果和地址。地址指针与变址寄存器主要用于存放或指示操作数的偏移地址。段寄存器组:8086 /

5、 8088CPU内部设置了 4个16位段寄存器,它们分别 是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES, 由它们给出相应逻辑段的首地址,称为“段基址”。控制寄存器:含指令指针IP及标志位寄存器FR。IP用来存放将要执行的下一条指令在现行代码段中的偏移地址。标志寄存器FR用来存放运算结果的特征。2.6 8086的存储器采用什么结构?答:8086的存储器采用分体结构。1M的存储空间分成两个存储体:偶地 址存储体和奇地址存储体,各为512K字节。2.7 8086CPU访问存储器时物理地址是如何形成的?答:8086CPU访问存储器时根据所执行的操作,自动选择某个段寄存器,

6、将其中的内容(16位)自动左移4位形成20位地址的高16位,而20位地址 的低4位自动添0,然后通过20位地址加法器再与16位偏移量相加,形成对 应的物理地址。2. 10名词解释(1) 时钟周期:一个时钟脉冲的时间长度,CPU的时钟频率的倒数,也称 T状态。(2) 总线周期:CPU中,BIU完成一次访问存储器或I/O端口操作所需要 的时间,称作一个总线周期,也称机器周期(Machine Cycle)o(3) 指令周期:执行一条指令所需的时间称为指令周期。(4) 等待周期:在T3和T4之间插入的周期。(4)空闲状态:CPU不执行总线周期时的状态。(5) 时序:计算机操作运行的时间顺序。2. 12

7、如果8086的CLK引脚输入的时钟脉冲频率为4MHz,那么一个基本的 总线周期是多少?答:T=l/4us,那么一个基本的总线周期是4T=1 use第三章3.5已知某个系统的ROM容量为6K字节,首地址为2800H,求其最后一个 单元的地址。答:最后一个单元的地址=2800H+17FFH = 3FFFH3. 6采用Intel 2114 (1KX4位)RAM芯片,组成64KX8位的存储器,需 要多少片2114?答:需要128块。注:扩展时需要的芯片数量可以这样计算:要构成一个容量为MX7位 的存储器,若使用pXk位的芯片(pM,kN),则构成这个存储器需要(M/p ) X( N/k )个这样的存储

8、器芯片。3. 7某RAM芯片的存储容量为4096X8位,则该芯片的引脚中有几条数据 线和几条地址线?已知某RAM芯片引脚中有8条数据线,12条地址线,那么 该芯片的存储容量是多少?答:该芯片的外部引脚应有8条数据线,12条地址线。RAM芯片引脚中有8条数据线,12条地址线,那么该芯片的存储容量是4K X8位。3. 8在8086存储器系统的最高地址区组成32KB的ROM,要求采用2764芯 片(8KX8的EPROM),以及利用74LS138译码器进行全译码,请画出这些芯第四章4. 1试出指令MOV BX, 3040H和MOV BX, 3040H有什么不同?1、 寻址方式不同:立即数寻址和直接寻址

9、。2、 运行结果不同:MOV BX, 3040H ; BX二3040H4.2指出下列指令是否有错,并说明理由。(1) MOV DI, SIMOV BX, 304011 ;将 DS 段 304011 和 3041II 的内容送 BX(2)MOVCS,AX(3)MOV120(J, AX(4)MOVDS,CS(5)POPCS(6)MOVCL,AX(7)MOV500(川,错, 错, 错, 错, 错, 错,内存单元之间不能直接进行数据传送 CS不能做目的操作数 立即数不能做目的操作数 段寄存器之间不能互相传送 CS不能做目的操作数 源、目的操作数长度不一致1000II;错,内存单元之间不能直接进行数据传

10、送4.3在8086中,堆栈操作是字操作还是字节操作?已知SS二1050H, SP二0006H, AX二1234H,若对AX执行压栈操作(即执行PUSH AX);试问AX的 内容存放在何处?答:堆栈操作是字操作。入栈时“先减后压”(SP先减2,再压入操作数),执行压栈操作后AL 的内容存放在10504H,AH的内容存放在10505Ho4.4假如要从200中减去AL中的内容,用SUB 200, AL对吗?如果不对, 应采用什么方法?答:不对,立即数不能作为目的操作数。先把立即数传送到一个存储器 或寄存器当中。例如:MOV BL, 200SUB BL, AL或:NEG ALADD AL, 2004.

11、5编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放内存(2800H)单元中。解: CMPAX,BXCMP AX , BXCLCJAPT1JA PT1SUB AX , BXSUBBX,AXXCHG AX , BXJC PT1MOVDX,280011PT1:SUB AX , BXMOV DI , 2800IIMOVDX,BXMOV 2800H,AX MOV DI , AXHLTHLTHLTPT1: SUBAX,BXPT1:SUB BX ,AXMOVDX,2800HMOV DI ,2800HMOVDX,AXMOV DI , BXHLTHLT4.6若有两个4字节的无符号数相加,这两个数分

12、别存放在2000H和 3000II开始的存储单元,将所求的和存放在2000II开始的内存单元中,试编制 程序。MOVDI ,2000IILEASI ,3000HMOVAX ,DIMOVDX ,DI+2ADDAX ,SIADCDX ,SI+2MOVDI,AXMOVDI+2,DX4.7用两种方法写出从88H端口读入信息的指令,再用两种方法写出从44H端口输出数据56H的指令。方法一:IN AL ,88H方法二:MOV DX, 0088HIN AX , DXMOV AL ,56HMOV AL ,56HOUT 44H,ALMOV DX ,0044HOUT DX , AL4. 19指出以下四条指令的作用

13、(HEX为数据段的一个变量名)(1)MOVBX,HEX ;将变量HEX的内容传送到BX寄存器(2)LEABX,HEX;取变量HEX的偏移地址送BX(3)MOVBX,OFFSEG HEX;BX指向变量HEX的偏移地址(4)MOVBX,SEG HEX;将变量HEX所在段的段地址传送到BX其结果分别为多少?TYPE BUF 二 2TYPE CED 二 1TYPE ADDR 二 24. 20下面是变量定义伪指令,DATASEGMENTBUFDW3 DUP(5,2 DUP(8)CEDDBWelcome to you, , ODH , OAH , $,ADDRDWBUFCOUNTEQU$-CEDDATAE

14、NDS问:(1)按内存单元存放的先后次序,按字节写出数据段中的数据。05H,OOH,08H,OOH,08H,OOH,05H,OOH,08H,OOH,08H,OOH,05H,OOH,08H,OOH,08H,OOH,57H,65H,6CH,63H,6FH, I5DH, 65H, 20H, 74H, 6FH, 20H, 79H, 6FH,75H,ODH,OAH,24H,OOH,OOH 说明 对BUF, CED, ADDR等变量施行TYPE, LENGTH SIZE运算符后,LENGTH BUF 二 3LENGTH CED 二 1LENGTH ADDR 二 1SIZE BUF 二 6SIZE CED

15、二 1SIZE ADDR 二 2COUNT的值为多少?194. 22编写一个将16位二进制数转换成BCD码数的程序。DATA SEGMENTBINADECTABDBDBDW5C0EH5 DUP (?)10000,1000,100,10,1DATAENDSCODESEGMENTASSUMECS:CODE, DS:DATA,;待转换数为23567BXEDC PROC FARSTART:MOVAX,DATAMOVDS,AXLEASI,TABLEADI,ADECMOVAX,BINLOPO:XORCL,CLMOVBX,SIL0P1:SUBAX,BXJBNEXTINCCLJMPL0P1NEXT:ADDAX

16、,BXMOVDI,CLINCSIINCSIINCDICMPBX,1JNZLOPORETBXEDCENDPCODEENDSENDSTART4. 24编写一个将16位二进制数转化为四位十六进制数的程序,并将十六进制数的各位显示出来。注:答案中给了一个假定的16位二进制数。DATA SEGMENTBIN DW 1001110101111011BHEXASC DB 4 DUP (20H)DB $DATA ENDSSTACK1 SEGMENT PARA STACKDW 20H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS: STACK1

17、BINHEX: MOV CH, 4 ;十六进制数的位数MOVBX, BIN ;取待转移数据MOVDI, OFFSET I1EXASC;取存放ASCII码首地址CONVl: MOVCL, 4ROLBX, CL;取4位二进制数MOVAL, BLANDAL, OFHCMPAL, 09H ;是0-9吗?JBEASCI;是,转移ADDAL, 07H ;是A-F,先加07HASCI: ADD AL, 30H;加 30HMOVDI, AL ;存结果INCDI;修改指针DECCHJNECONVl;计数未完,继续LEADX, HEXASCMOVAH, 09HI NT21HCODE ENDSEND BINHEX很

18、多同学的答案:DATA SEGMENTA DW 4X DW (16位二进制数)Y DB 4 DUP(?)PUSHDECMOVING:SHRLOOPPOPANDCMPJGADDJMPCXCXBX, 4MOVINGCXBL, OFHBL, 09HDAYUBL, 30HXIAOYUDATA ENDSSTART: MOVCX, ALEADI, YAGAIN: MOVBX, XDAYU: ADD BL, 37HXIAOYU:MOV DI, BLINCDILOOPAGAINLEADX,MOVAH, 09HI NT21HCODE ENDSEND START4. 26从BUF单元开始有10个带符号数:-1,

19、3, 248, 90, 42, 9042, -4539, 0, -28792o试找出它们的最大值、最小值和平均值,并分别送MAX、 MIN和AVG单元。试编写完整的汇编语言程序。DATA SEGMENTBUFERDW-1, 3, 248, 90, 42, 9042, -4539, 0, -28792MAXDW0MINDW0AVGDW0DATA ENDSSTACK SEGMENT PARA STACK STACKDW 100 DUP (?)STACK ENDSCODE SEGMENTASSUMECS:CODE, DS:DATA, SS: STACKSTART PROCFARBEGIN: PUSH

20、DSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXLEASI,BUFFERMOVAX,SI;和清oMOVBX,AX;最大值MOVDX,AX;最小值INCSIINCSIMOVCX,9L0P1: ADDAX,SICMPDX,SI;与最小值单元中的值相比较JENEXT1;相等转至NEXT1JGNEXT2;若大于转至NEXT2MOVDX, SI ;把小的值送至DXNEXT1:CMPBL,DI;JBNEXT2 ;若低于转移MOVBL,DI;小值 tBL(2分)NEXT2:MOVDL,DI;取一字节数据ADDAX,DX ;累加和INCDILOOPLOP1MOVMAX,BH;送大值MOVMI

21、N,BL;送小值MOVDL,6DIVDL,;求平均值MOVAVI,AL;送平均值RETSTART ENDPCODE ENDSEND BEGIN5. 1 8086CPU对其I/O端口的寻址采用哪种方式?它的四条输入指令:IN AL, PORT; IN AL, DX ; IN AX, PORT; IN AX, DX 的作用有何区别? 答:8086CPU对其I/O端口的寻址采用I/O端口单独寻址方式。IN AL, PORT;直接寻址,从PORT端口读入(输入)一个字节到AL。IN AL, DX ;间接寻址,从DX所指端口读入(输入)一个字节到AL。IN AX, PORT;直接寻址,从PORT和POR

22、T+1两个端口读入(输入)一个字到AXoIN AX, DX;间接寻址,从DX和DX+1两个端口读入(输入)一个字 到AX o5.5某输入设备的接口电路中,其数据端口的地址为3F8H;状态端口地址 为3FEH,当其D?位为1时,表示输入数据已准备好。试编写采用查询方式的 数据传送程序段,要求从该设备读取100个字节,并存放到自2000H: 2000H 开始的内存单元之中。MOVAX,2000HMOVDS,AX;设定段基址MOVDI,2000H;目的地址送DIMOVCX,100;字节数READ: MOVDX,3FEH;指向状态口INAL,DX;读入状态位TESTAL,80H;数据准备好否?JZRE

23、AD;否,循环检测MOVDX,3F8H;指向数据口INAL,DX;已准备好,读入数据MOVDI,AL;存到内存缓冲区中INCDI;修改地址指针LOOPREAD;未传送完,继续传送5.6设计一个采用74LS138的I/O端口地址译码器,要求能寻址的端口 地址范围分别是:340II34711;34811 34F1I;350II-3571I;37811 37FI1。 答案不唯一。5. 16某8086系统中有三片8259A安排为非缓冲、级连使用,两从片A、 B分别接主片的IR2、IRi;三片8259A的端口地址分别为20H、22H、30H、32H、 40H、42H;主片及从片A、从片B的I&上各接有一

24、个外部中断源,其中断类 型号分别为75H、7DH、85H;所有中断都采用电平触发方式、全嵌套、非自动 E0I方式。试完成:1 画出该系统中三片8259A级连部分简要的电器原理图;2 AB7M/IOAB3AB2AB5AB4AB0AB6I0W编写出全部初始化程序主片:ICW1 二00011001B二 19H ICW2二01110000B二70H ICW3二00010100B二 14HICW4二00000001B二01H从片 A: ICW1 二00011001B二 1911 ICW2二01111000B二7811 ICW3二00000010B二0211从片 B: ICW1 二00011001B二 1

25、9HICW2二10000000B二80HICW3二00000100B二04HICW4=00000001B=01HICW4 二00000001B 二 0111主片初始化程序:ICW1写入到偶端口地址20H; ICW2写入到奇端口地址22HMOV AL, 19HOUT 20H, AL ;写入 ICW1MOV AL, 70HOUT 22H, AL ;写入 ICW2MOV AL, 02HOUT 2211, ALMOV AL, 01HOUT 22H, AL6. 4设8253计数器02和控制字寄存器的I/O地址依次为F8HFBH,说明如下程序的作用。MOV AL, 33H ; 00110011B计数器0,

26、先低位后高位,方式1,BCD码计数OUT OFBH, AL ;写控制字MOV AL, 80H ;置计数初值低位字节80HOUT 0F8H, AL ;先写低位字节MOV AL, 50H ;置计数初值高位字节50HOUT 0F8H, AL ;写高位字节程序的作用为:使计数器0工作在方式1,用BCD码计数,计数初值为5080o6. 5设8253的4个端口地址分别为300H、302H、304H和306H,由CLK。输入计数脉冲频率为2MHzo要求通道0输出1.5kHz的方波,通道1、通道2 均用通道0的输出作计数脉冲,通道1输出频率为300Hz的序列负脉冲,通 道2每秒钟向CPU发50次中断请求。试编

27、写初始化程序,并画出8253相关 引脚的连线图。通道0:输出方波则工作在方式3;计数初值为n二2MHz/l5kHz 1334=53611 (1.499kllz)控制字为:00110110B=36H通道1 :输出序列负脉冲则工作在方式2 ;计数初值为 m二1. 5kHz/300Hz二5二05H控制字为:01010100B=54H通道2:每秒钟向CPU发50次中断请求则工作在方式2;计数初值为匕二1500/50二30二1EH初始化程序:通道0:MOVDX ,306HMOVAL ,36HOUTDX ,ALMOVDX ,30011MOVAL ,36HOUTDX ,ALMOVAL ,05HOUTDX ,

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

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