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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课后答案.docx

1、微机原理课后答案课后答案:2.1 将下列十进制数分别转换为二进制数、八进制数、十六进制数。128D=10000000B=200O=80H1024D=10000000000B=2000O=400H0.47D=0.01111000B=0.36O=0.78H625D=1001110001B=1161O=271H67.544D=1000011.1000B=103.4264O=43.8BH2.2 将下列二进制数转换成十进制数。10110.001B=22.125D11000.0101B =24.3125D2.3 将下列二进制数分别转换为八进制数、十六进制数。1100010B=142O=62H101110.

2、1001B=56.44O=2E.9H0.1011101B=0.564O=0.BAH2.4 写出下列用补码表示的二进制数的真值。01110011 01110011 +11500011101 00011101 +2910010101 11101011 10711111110 10000010 210000001 11111111 1272.6 写出下列十进制数的BCD码表示形式。456=(0100 0101 0110)BCD789=(0111 1000 1001)BCD123=(0001 0010 0011)BCD3.1 8086CPU由几部分组成?它们的主要功能是什么?答:从功能上讲,8086分

3、为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。BIU是CPU与外部存储器及IO的接口,负责与存储器和I0系统进行数据交换。指令执行部件EU完成指令译码和执行指令的工作。3.2 8086有多少根地址线?可直接寻址多大容量的内存空间?答:8086CPU有16根数据线和20根地址线,直接寻址空间为220,即为1M字节。3.3 8086内部的寄存器由哪几种类型组成?各自的作用是什么?答:8086CPU内部有14个16位寄存器,可以分为以下三组:分别是通用寄存器组,段寄存器组,控制寄存器。通用寄存器组可以分为两组:数据寄存器和地址指

4、针与变址寄存器。数据寄存器主要用来保存算术、逻辑运算的操作数、中间结果和地址。地址指针与变址寄存器主要用于存放或指示操作数的偏移地址。段寄存器组:80868088CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES,由它们给出相应逻辑段的首地址,称为“段基址”。控制寄存器:含指令指针IP及标志位寄存器FR。IP用来存放将要执行的下一条指令在现行代码段中的偏移地址。标志寄存器FR用来存放运算结果的特征3.5 8086的存储器采用什么结构?答:8086的存储器采用分体结构。1M的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为

5、512K字节。3.7 8086系统中的堆栈操作是按什么原则进行的?答:堆栈操作的原则是后进先出。4.3存储器的地址译码有几种方式?各自的特点是什么?答:常用的存储器地址译码有两种方式,即单译码和双译码方式。单译码方式是一个“N中取1”的译码器,译码器输出驱动N根字线中的一根,每根字线由M位组成。若某根字线被选中,则对应此线上的M位信号便同时被读出或写入,经输出缓冲放大器输出或输入一个M位的字。主要用于小容量的存储器。双译码方式采用的是两级译码电路。当字选择线的根数N很大时,N=2p中的p必然也大,这时可将p分成两部分,如:N=2p=2q+r=2q2r=XY,这样便将对N的译码分别由X译码和Y译

6、码两部分完成。从而大大减少了选择线的数目。4.4某RAM芯片的存储容量为10248位,该芯片的外部引脚应有几条地址线?几条数据线?若已知某RAM芯片引脚中有13条地址线,8条数据线,那么该芯片的存储容量是多少?答:该芯片的外部引脚应有10条地址线,8条数据线。RAM芯片引脚中有13条地址线,8条数据线,那么该芯片的存储容量是8K8位。4.5用Intel 2114 1K4位的RAM芯片组成32K8位的存储器,需要多少块这样的芯片?答:需要64块。注:扩展时需要的芯片数量可以这样计算:要构成一个容量为 MN 位的存储器,若使用 pk 位的芯片(pM,kN),则构成这个存储器需要 ( M/p )(

7、N/k )个这样的存储器芯片 。4.6利用2764芯片(EPROM,8K8位)并采用74LS138译码器进行全译码,在8086系统的最高地址区组成32KB的ROM,请画出这些芯片与系统总线连接的示意图。5.1 试出指令MOV BX,3040H和MOV BX,3040H有什么不同?1、 寻址方式不同:立即数寻址和直接寻址。 2、 运行结果不同:MOV BX,3040H ;BX=3040HMOV BX,3040H ;将DS段3040H和3041H的内容送BX5.2 指出下列指令是否有错,并说明理由。 (1)MOV DI,SI ;错,内存单元之间不能直接进行数据传送(2)MOV CS,AX ;错,C

8、S不能做目的操作数(3)MOV 1200,AX ;错,立即数不能做目的操作数(4)MOV DS,CS ;错,段寄存器之间不能互相传送(5)PUSH FLAG ;对(6)POP CS ;错,CS不能做目的操作数(7)MOV CL,AX ;错,源、目的操作数长度不一致(8)MOV 5000H,1000H ;错,内存单元之间不能直接进行数据传送5.3 在8086中,堆栈操作是字操作还是字节操作?已知SS=1050H,SP=0006H,AX=1234H,若对AX执行压栈操作(即执行PUSH AX);试问AX的内容存放在何处?答:堆栈操作是字操作。入栈时“先减后压”(SP先减2,再压入操作数),执行压栈

9、操作后AL的内容存放在10504H,AH的内容存放在10505H。5.4 假如要从200中减去AL中的内容,用SUB 200,AL对吗?如果不对,应采用什么方法?答:不对,立即数不能作为目的操作数。先把立即数传送到一个存储器或寄存器当中。 例如:MOV BL,200 SUB BL,AL 或: NEG AL ADD AL, 2005.5 编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放内存(2800H)单元中。解: CMP AX , BX CMP AX , BX CLC JA PT1 JA PT1 SUB AX , BX SUB BX , AX XCHG AX , BX JC PT

10、1 MOV DX , 2800H PT1:SUB AX , BX MOV DI , 2800H MOV DX ,BX MOV 2800H , AX MOV DI , AX HLT HLT HLT PT1: SUB AX , BX PT1:SUB BX ,AX MOV DX ,2800H MOV DI ,2800H MOV DX , AX MOV DI , BX HLT HLT5.6 若有两个4字节的无符号数相加,这两个数分别存放在2000H和3000H开始的存储单元,将所求的和存放在2000H开始的内存单元中,试编制程序。MOV DI , 2000HLEA SI , 3000HMOV AX ,

11、 DIMOV DX , DI+2ADD AX , SIADC DX , SI+2MOV DI , AXMOV DI+2 , DX5.7 用两种方法写出从88H端口读入信息的指令,再用两种方法写出从44H端口输出数据56H的指令。方法一:IN AL , 88H 方法二:MOV DX , 0088H IN AX , DX MOV AL , 56H MOV AL ,56H OUT 44H , AL MOV DX ,0044H OUT DX , AL 6.12 指出以下四条指令的作用(HEX为数据段的一个变量名) MOV BX, HEX ;将变量HEX的内容传送到BX寄存器 LEA BX, HEX ;

12、取变量HEX的偏移地址送BX MOV BX, OFFSEG HEX ;BX指向变量HEX的偏移地址 MOV BX, SEG HEX ;将变量HEX所在段的段地址传送到BX6.13 下面是变量定义伪指令,DATA SEGMENT BUF DW 3 DUP(5,2 DUP(8)CED DB Welcome to you, ODH , OAH ,$ADDR DW BUFCOUNT EQU $-CEDDATA ENDS问: 按内存单元存放的先后次序,按字节写出数据段中的数据。 05H, 00H, 08H, 00H, 08H, 00H, 05H, 00H, 08H, 00H, 08H, 00H, 05H

13、, 00H, 08H, 00H, 08H, 00H,57H, 65H, 6CH, 63H, 6FH, 6DH, 65H, 20H, 74H, 6FH, 20H, 79H, 6FH, 75H,0DH, 0AH, 24H, 00H, 00H 说明 对BUF, CED, ADDR等变量施行TYPE, LENGTH SIZE运算符后,其结果分别为多少?TYPE BUF = 2 LENGTH BUF = 3 SIZE BUF = 6TYPE CED = 1 LENGTH CED = 1 SIZE CED = 1TYPE ADDR = 2 LENGTH ADDR = 1 SIZE ADDR = 2 COU

14、NT的值为多少? 196.17 编写一个将16位二进制数转化为四位十六进制数的程序,并将十六进制数的各位显示出来。注:答案中给了一个假定的16位二进制数。DATA SEGMENTBIN DW 1001110101111011BHEXASC DB 4 DUP(20H) DB $DATA ENDSSTACK1 SEGMENT PARA STACKDW 20H DUP(0)STACKl ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKlBINHEX: MOV CH, 4 ;十六进制数的位数 MOV BX,BIN ;取待转移数据 MOV DI,OFFS

15、ET HEXASC ;取存放ASCII码首地址CONV1: MOV CL,4 ROL BX,CL ;取4位二进制数 MOV AL,BL AND AL,0FH CMP AL,09H ;是0-9吗? JBE ASCI ;是,转移 ADD AL,07H ;是A-F,先加07HASCI: ADD AL,30H ;加30H MOV DI,AL ;存结果 INC DI ;修改指针 DEC CH JNE CONVI ;计数未完,继续 LEA DX, HEXASCMOV AH,09H INT 21HCODE ENDS END BINHEX很多同学的答案:DATA SEGMENT A DW 4 X DW (16

16、位二进制数) Y DB 4 DUP(?)DATA ENDS START: MOV CX, A LEA DI, YAGAIN: MOV BX, X PUSH CX DEC CXMOVING:SHR BX, 4 LOOP MOVING POP CX AND BL, 0FH CMP BL, 09H JG DAYU ADD BL, 30H JMP XIAOYUDAYU: ADD BL, 37HXIAOYU:MOV DI, BL INC DI LOOP AGAIN LEA DX, Y MOV AH, 09H INT 21HCODE ENDS END START7.1 名词解释(1) 时钟周期:一个时钟脉

17、冲的时间长度,CPU的时钟频率的倒数,也称T状态。(2) 总线周期:CPU中,BIU完成一次访问存储器或I/O端口操作所需要的时间,称作一个总线周期,也称机器周期(Machine Cycle)。 (3) 指令周期:执行一条指令所需的时间称为指令周期。(4) 等待周期:在T3和T4之间插入的周期。(4) (5) 空闲状态:CPU不执行总线周期时的状态。(6) 时序:计算机操作运行的时间顺序。8.5 简述CPU与外设以查询方式传送数据的过程。现有一输入设备,其数据端口的地址为FEE0H,并从端口FEE2H提供状态,当其D0位为1时表明输入数据准备好。试编写采用查询方式进行数据传送的程序段,要求从该

18、设备读取64个字节并输入到从2000H:2000H开始的内存中。(程序中需加注释)P144145页。MOV AX, 2000HMOV DS, AX ;设定段基址MOV DI, 2000H ;目的地址送DI MOV CX, 64 ;字节数READ: MOV DX, 0FEE2H ;指向状态口 IN AL, DX ;读入状态位 TEST AL, 01H ;数据准备好否? JZ READ ;否,循环检测 MOV DX, 0FEE0H ;指向数据口 IN AL, DX ;已准备好,读入数据 MOV DI, AL ;存到内存缓冲区中 INC DI ;修改地址指针 LOOP READ ;未传送完,继续传送

19、很多同学的答案: MOV CX, 64NEXTIN: IN AL, 0FEE2H TEST AL, 01H JZ NEXTIN IN AL, 0FEE0H MOV BX, 2000H MOV 200HBX, AL INC BX LOOP NEXTIN8.6 简述中断传送的特点。中断传送的显著特点是:能节省大量的CPU时间,实现CPU与外设并行工作,提高计算机的使用效率,并使I/O设备的服务请求得到及时处理。I/O主动,CPU被动。9.3 设8259A应用在8086系统,采用电平触发方式,中断类型号为60H-67H,采用特殊全嵌套方式,中断非自动结束,非缓冲工作方式,端口地址为63H和64H,写

20、出其初始化程序。ICW1=00011011B=1BH, ICW2=01100000B=60H, ICW4=00010101B=15HICW1必须写入到偶端口地址MOV AL, 1BHOUT 64H, ALMOV AL, 60HOUT 63H, ALMOV AL, 15HOUT 63H, AL9.4 设8259A级连应用于8086系统,从片的中断请求线接于主片的IR7输入端,主片端口地址为64H和66H,从片端口地址为84H和86H,主片IR0的中断向量号为50H,从片IR0的中断向量号为58H,主片工作方式同9.3,从片工作方式采用缺省工作方式,编写初始化程序,并画出硬件连接电路图。64H =

21、 01100100B 84H = 10000100B66H = 01100110B 86H = 10000110B主片:ICW1=00011001B=19H ICW2=01010000B=50H ICW3=10000000B=80H ICW4=00010101B=15H从片:ICW1=00011001B=19H ICW2=01011000B=58H ICW3=00000111B=07H ICW4=00000001B=01H10.3 试按如下要求分别编写8253的初始化程序,已知8253的计数器02和控制字寄存器I/O地址依次为40H43H。(因为地址小于256,所以可以不用DX。)(1)使计数

22、器1工作方式0,仅用8位二进制计数,计数初值为128。 计数器1的通道地址为:41H;128=80H 控制字:01010000B=50H MOV AL , 50H OUT 43H ,AL MOV AL ,80H OUT 41H ,AL(2)使计数器0工作方式1,按BCD码计数,计数值为3000。计数器0的通道地址为:40H;3000的BCD码为3000H 控制字:00110011B=33H MOV AL , 33H OUT 43H , AL MOV AL , 00H OUT 40H , AL MOV AL , 30H OUT 40H , AL(3)使计数器2工作方式2,计数值为02F0H。计数

23、器2的通道地址为:42H 控制字:10110100B=B4H MOV AL , B4H OUT 43H , AL MOV AL , F0H OUT 42H , AL MOV AL , 02H OUT 42H , AL10.4 设8253计数器02和控制字寄存器的I/O地址依次为F8HFBH,说明如下程序的作用。MOV AL, 33H ;00110011B 计数器0,先低位后高位,方式1,BCD码计数OUT 0FBH, AL ;写控制字MOV AL, 80H ;置计数初值低位字节80HOUT 0F8H, AL ;先写低位字节MOV AL, 50H ;置计数初值高位字节50HOUT 0F8H, A

24、L ;写高位字节程序的作用为:使计数器0工作在方式1,用BCD码计数,计数初值为5080。10.5 设8253的通道02和控制端口的地址分别为300H、302H、304H和306H,又设由CLK0输入计数脉冲频率为2MHz。要求通道0输出1.5kHz的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。试编写初始化程序,并画出硬件连线图。通道0:输出方波则工作在方式3;计数初值为n0=2MHz/1.5kHz1334=536H(1.499kHz)控制字为:00110110B=36H通道1:输出序列负脉冲则工作在方式2;计数初值为n1=1.

25、5kHz/300Hz=5=05H 控制字为:01010100B=54H通道2:每秒钟向CPU发50次中断请求则工作在方式2;计数初值为n2=300/50=6=06H 控制字为:10010100B=94H初始化程序:通道0: MOV DX , 306H MOV AL , 36H OUT DX , AL MOV DX , 300H MOV AL , 36H OUT DX , AL MOV AL , 05HOUT DX , AL11.3编程使8255A的PC5端输出一个负跳变。如果要求PC5端输出一个负脉冲,则程序又如何编写?设端口地址分别为:B0H B2H B4H B6H。系统复位后8255A的所

26、有端口都被置为输入。控制字为:10000000B=80H输出负跳变:MOV AL, 80HOUT B6H, ALMOV AL, 0BHOUT B6H, ALMOV AL, 0AHOUT B6H, AL输出负脉冲:MOV AL, 80HOUT B6H, ALMOV AL, 0BHOUT B6H, ALMOV AL, 0AHOUT B6H, ALMOV AL, 0BHOUT B6H, AL11.5设一工业控制系统,有四个控制点,分别由四个开关K0K3控制,控制点的状态用发光二极管L0L3表示,开关打开则对应的发光二极管亮,表示该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。画出系统的结构框图并编写程序。设端口地址分别为:B0H B2H B4H B6HA口、B口都工作在方式0,A口输入,B口输出,C口未用控制字为:10010000B=90HMOV DX,0B6H ;控制字寄存器 MOV AL,10010000B ;控制字 OUT DX,AL ;写入控制字TEST: MOV DX,0B0H ;指向A口 IN AL,DL ;从A口读入开关状态 MOV DX,0B2H ;指向B口 OUT DX,AL ;B

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

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