微机原理课后练习题-答案
微机原理课后习题解答
![微机原理课后习题解答](https://img.taocdn.com/s3/m/945060fd534de518964bcf84b9d528ea81c72ff8.png)
微机原理习题第一章绪论习题与答案1. 把下列二进制数转换成十进制数、十六进制数及BCD码形式;2 =解:2 = == 1001 0010 0101BCD2. 把下列十进制数转换成二进制数;1 100D =2 1000D =3 =解:1 100D = 01100100B3 =3. 把下列十六进制数转换成十进制数、二进制数;1 2B5H =2 =解:1 2B5H = 693D = 0010 1011 0101B2 = = 0100 1100 0101 B4. 计算下列各式;1 A7H+B8H =2 E4H-A6H =解:1 A7H+B8H = 15FH2 E4H-A6H = 3EH5. 写出下列十进制数的原码、反码和补码;1 +892 -37解:1 +89 原码、反码和补码为: 01011001B6.求下列用二进制补码表示的十进制数101001101补 =解:101001101补 = 77D7.请用8位二进制数写出下列字符带奇校验的ASCII码; 1C: 1000011 2O: 10011113M: 1001101 4P: 1010000解:1C:0 1000011 2O: 0 10011113M:1 1001101 4P: 1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码; 1+:0101011 2=: 01111013:0100011 4>: 0111110解:1+:0 0101011 2=: 1 01111013:1 0100011 4>: 1 01111109.叙述 CPU 中PC的作用;解:PC是CPU中的程序计数器,其作用是提供要执行指令的地址;第二章微处理器体系与结构习题与答案1. 8086/8088 CPU 由哪两大部分组成请分别叙述它们的功能;解:8086/8088 CPU均由两个独立的逻辑单元组成,一个称为总线接口单元BIUBus Interface Unit,另一个称为执行单元EUExecution Unit;总线接口单元BIU取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储器单元或I/O端口存取数据;执行单元EU任务是执行指令,进行全部算术逻辑运算、完全偏移地址的计算,向总线接口单元BIU提供指令执行结果的数据和偏移地址,并对通用寄存器和标志寄存器进行管理;2. 8086/8088与传统的计算机相比在执行指令方面有什么不同这样的设计思想有什么优点解:总线接口部分和执行部分是分开的,每当EU执行一条指令时,造成指令队列空出2个或空出一个指令字节时 ,BIU马上从内存中取出下面一条或几条指令,以添满他的指令队列;这样,一般情况下,CPU在执行完一条指令后,便可马上执行下一条指令,不像以往8位CPU那样,执行完一条指令后,需等待下一条指令;即EU从指令队列中取指令、执行指令和BIU补充指令队列的工作是同时进行的;这样大大提高了CPU利用率,降低了系统都对存储器速度的要求;3. 状态标志和控制标志有何不同8086/8088的状态标志和控制标志分别有哪些解:8086/8088 CPU设立了一个两字节的标志寄存器,共九个标志;其中标志位O、S、Z、A、P、C是反映前一次涉及ALU操作结果的状态标志,D、I、T是控制CPU 操作特征的控制标志;4. 8086/8088 CPU寻址存储器时,什么是物理地址逻辑地址它们之间有何关系解:8086/8088系统中每个存储单元都有一个物理地址,物理地址就是存储单元的实际地址编码;在CPU与存贮器之间进行任何信息交换时,需利用物理地址来查找所需要的访问的存储单元;逻辑地址由段地址和偏移地址两部分组成;逻辑地址的表示格式为:段地址:偏移地址;知道了逻辑地址,可以求出它对应的物理地址:物理地址=段地址×10H+偏移地址;5. 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少指向这一物理地址的CS值和IP值是唯一的吗解:根据:物理地址=段地址×10H+偏移地址,指令的物理地址为21F00H;指向这一物理地址的CS值和IP值不唯一;6. 8086 CPU中信号和A0信号是通过怎样的组合解决存储器和外设端口的读/写的这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分怎样区分解:若存取一个字节的数据,总是用一个总线周期来完成该操作;若存取一个字,则依该字是规则字还是不规则字需用一个或两个总线周期来完成;对规则字,只用一个总线周期来完成16位数据的传送,而对于非规则字则用相邻两个总线周期来完成该字的存储操作,先取其奇地址字节即数据的低位字节,然后存取偶地址字节;在组成存储系统时,总是偶地址单元的数据通过AD0~AD7传送,而奇地址单元的数据通过AD8~AD15传送,即通过总线高字节传送; 信号和A0信号控制存储器读写见下表:7.什么叫总线为什么各种微型计算机系统中普遍采用总线结构答:总线是模块与模块之间传送信息的一组公用信号线;总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行;因此微型计算机系统中普遍采用总线结构;8.微型计算机系统总线从功能上分为哪三类它们各自的功能是什么答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类;地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的工作;9.8086/8088 CPU 分为哪两个部分如何协调工作答:EU是执行部件,主要的功能是执行指令和形成有效地址;BIU是总线接口部件,与片外存储器及I/O接口电路传输数据,主要功能是形成实际地址、预取指令和存取操作数;EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令;EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作;10.8086/8088 CPU的地址总线有多少位其寻址范围是多少答:8086/8088 CPU的地址总线共20 位,最大可寻址1MB空间;11.8086/8088 CPU使用的存储器为什么要分段怎么分段答:8086/8088为16位CPU,其内部的ALU、相关的地址寄存器如SP、IP以及BX、BP、SI、DI等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在64KB范围内;而实际上8086/8088有20条地址线,它的最大寻址空间为1MB;这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个20位的存储器物理地址实际使用的解决办法是:将1MB大小的存储空间分为若干“段”,每段不超过64KB;这样,一个20位的物理地址就可以用“16位段基址:16位偏移量”的形式称为逻辑地址来表示了,其中段地址存放在8086/8088的段寄存器中;12.8086/8088 CPU 中有几个通用寄存器有几个变址寄存器有几个指针寄存器通常哪几个寄存器亦可作为地址寄存器使用答:8086/8088 CPU 中共有:8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI;2个变址寄存器SI、DI;2个指针寄存器BP、SP;其中BX、BP、SI、DI 亦可作地址寄存器;13.Intel 8086与8088有何区别答:8086与8088的区别主要表现在以下几个方面:第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字节指令代码填入队列;而8088只能容纳4个字节,且每个总线周期只能取出1个字节指令代码;第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位;注意:8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统地址线和数据线连接方式的不同;第三、其他不同的引脚定义:1AD15~AD0,在8086中为地址/数据复用,而在8088中AD15~AD8 改为A15~A8只作地址线用;234、28号引脚定义不同;14.8086/8088CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号当CPU访问外设接口时,要利用哪些信号答:8086/8088 CPU工作在最小模式时,若访问存储器,需用到以下信号:IOM/、ALE、RDT/、DEN、READY、BHE、W R、RD、AD0~AD15、A19/S6~A16/S3;若访问外设,需用到以下信号:IODT/、DEN、READY、W R、RD、AD0~AD15;M/、ALE、R15.试指出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别:11278H+3469H答:CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1254E3H-27A0H答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=033881H+3597H答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=1401E3H-01E3H答:CF=0 AF=0 ZF=1 SF=0 OF=0 PF=1其中,进位标志CF 用于判别无符号数运算是否超出数的表示范围,而溢出标志OF 用于判别带符号数运算是否超出数的表示范围;奇偶标志PF 只能判断结果低8 位中“1”的个数为奇数还是偶数;16.什么是逻辑地址什么是物理地址它们之间有什么联系各用在何处答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;物理地址是一个20 位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上;由于8086/8088CPU 中的寄存器只有16 位长,所以程序不能直接存放20 位的物理地址,而必须借助逻辑地址,即用两个16 位的寄存器来表示物理地址;他们之间的关系是:物理地址=段基址16+偏移量;另外,一个物理地址可对应多个逻辑地址;17.设现行数据段位于存储器0B0000H~0BFFFFH 单元,DS 段寄存器内容为多少答: DS 段寄存器内容为0B000H;18.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么答:逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移地址两部分组成,都是16位的二进制代码,如1234H:0088H;偏移地址是指段内某个存储单元相对该段首地址的差值;物理地址是8086芯片引线送出的20位地址码,物理地址=段基址16+偏移地址,用来指出一个特定的存储单元;19.给定一个存放数据的内存单元的偏移地址是20C0H,DS=0C0E0H,求出该内存单元的物理地址;答:物理地址:0C2EC0H;20.8086/8088为什么采用地址/数据引线复用技术答:考虑到芯片成本和体积,8086/8088采用40条引线的封装结构;40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线;21.怎样确定8086的最大或最小工作模式答:引线MXMN引线接高电平,8086 MN的逻辑状态决定8086的工作模式,MX被设定为最小模式,MXMN引线接低电平,8086被设定为最大模式;22.8086基本总线周期是如何组成的答:基本总线周期由4个时钟CLK周期组成,按时间顺序定义为T1、T2、T3、T4;23.在基于8086的微计算机系统中,存储器是如何组织的存储器是如何与处理器总线连接的BHE信号起什么作用答:8086为16位微处理器,可访问1M字节的存储器空间;1M字节的存储器分为两个512K字节的存储体,分别命名为偶存储体和奇存储体;偶体的数据线连接D7~D0,“体选”信号接地址线A0;奇体的数据线连接D15~D8,“体选”信号接BHE信号;A0信号有效时允许访问偶体中的低字节存储单元,BHE信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问;24.有一个由20个字组成的数据区,其起始地址为610AH:1CE7H;试写出该数据区首末单元的实际地址PA;首单元地址:610A0H+1CE7H=62D87H末单元地址:62D87H+27H=62DAEH25.有两个16位的字31DAH、5E7FH,它们在8086系统存储器中的地址为00130H 和00135H,试画出它们的存储器示意图;地址00130H00132H00133H00134H00135H00136H26.试说明8086CPU答:8086的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用ALE信号将低位地址线通过锁存器保存,以形成系统地址总线;第三章 80x86指令系统习题与答案1、指出下列指令中操作数的寻址方式8086系统;1 MOV AX,1002 MOV AX,1003 MOV DL,BP+SI4 MOV BX,CX5 MOV DX,SI6 MOV 1234HBX,DS7 MOV DI+5678H,AL 8 MOV 12BPDI,BH9 POP CX 10MOV AX,BX+SI+10解:2、指出下列指令中操作数的寻址方式80386系统;1 MOV EBX+12H,AX2 MOV EBP+EDI2,EBX3 MOV EBX4,BX4 MOV EDX,EAX+ESI8-12H解:3、指出以下指令中,哪些指令是非法的,并说明为什么8086系统;1 PUSH 1234H2 MOV CS,AX3 IN AX, 3004 MOV AX,DX+125 MOV BX,BX6 MOV DS,1000H7 XCHG AL,AL 8 MOV AL,100H9 MOV DX,AL 10LEA BL,BX+511LEA DX,BX 12MOV 1000H,12H13ADD AX,DS 14SUB 0100H,BYTE PTR 000115SHL BL,2 16SHR CL,CL17MUL AL,BL 18INT 400解:1非法,8086系统不允许PUSH指令的操作数为立即数;2非法,MOV指令中CS不能作为目的操作数;3非法,端口号大于0FFH;4非法,DX不能出现在中括号内;5合法;6非法,不能把立即数赋给段寄存器;7合法;8非法,源操作数大于0FFH,不能赋给8位寄存器AL;9非法,源操作数是8位寄存器,目的操作数却是16位寄存器,不匹配;10非法,LEA指令得到的是16位偏移量,但目的操作数是8位寄存器;11非法,LEA指令的源操作数只能是存储器操作数;12非法,指令存在歧义,无法确定传送的是字节还是字;13非法,段寄存器不能参与算术运算;14非法,源和目的寄存器不能同为存储器操作数;15非法,在8086系统中,移位次数大于1时需要将移位次数存放到CL中;16合法;17非法,在8086系统中MUL指令没有双操作数的用法;18非法,中断类型号大于0FFH;4、指出以下指令中,哪些指令是非法的,并说明为什么80386系统;1 MOV AX,12EBXSI162 RCR EAX,103 PUSH 5678H4 POP 1000H5 MOV EAX+EAX,EAX6 MOV AL,ESP+ESP27 MOV BL,AX+12 8 IMUL AL,BL,12解:1非法,比例因子只能是1、2、4、8,不能是16;2合法;3合法;4非法,POP指令的目的操作数不能是立即数;5合法;6非法,ESP只能作为基址寄存器,不能作为变址寄存器;7非法,在386系统中AX不能作为基址寄存器,也不能作为变址寄存器;8合法;5、假设AX=1234H,BX=5678H,SP=1000H,指出执行下面的程序段后,各相关寄存器及堆栈段中的内容;PUSH AX ;AX=,BX=,SP=,栈顶字节SP=, 栈顶第二字节SP+1=PUSH BX ;AX=,BX=,SP=,栈顶字节SP=, 栈顶第二字节SP+1=POP AX ;AX=,BX=,SP=,栈顶字节SP=, 栈顶第二字节SP+1=解:AX=1234H,BX=5678H,SP=0FFEH,栈顶字节SP=34H,栈顶第二字节SP+1=12H AX=1234H,BX=5678H,SP=0FFCH,栈顶字节SP=78H,栈顶第二字节SP+1=56HAX=5678H,BX=5678H,SP=0FFEH,栈顶字节SP=34H,栈顶第二字节SP+1=12H6、假设A、B、C、D、X、Y为字节变量,AA、BB、YY为字变量,试利用算术运算指令编写程序段,完成以下各算术运算题;1计算YY←A+BC,其中A、B、C都是无符号数;2计算AA+BB/C-D,商赋给X,余数赋给Y,其中AA、BB、C、D都是带符号数;3计算YY←A-BC,其中A、B、C都是未组合BCD码;解:1MOV AL,BMUL CADD AL,AADC AH,0MOV YY,AX2MOV AX,AAADD AX,BBMOV BL,CSUB BL,DIDIV BLMOV X,ALMOV Y,AH3MOV AL,ASUB AL,BAASMUL CAAMMOV YY, AX7、利用移位指令编写程序段,实现以下运算;1计算AX←AX10,其中AX为无符号数;232位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算DX,AX←DX,AX2;332位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算DX,AX←DX,AX/2;解:1SHL AX,1MOV BX,AXSHL AX,1SHL AX,1ADD AX,BX2SAL AX,1RCL DX,13SAR DX,1RCR AX,18、指出以下指令执行后,标志寄存器OF、SF、ZF、AF、PF、CF的状态;1AL=0FFH,BL=20H,执行指令:ADD AL,BL2AL=01H, BL=02H,执行指令:CMP AL,BL3AL=0FFH,执行指令:INC AL4AL=0,执行指令:DEC AL5AL=0F0H,BL=04H,执行指令:IMUL BL6AX=1F0H,BL=08H,执行指令:DIV BL7AL=12H, BL=34H,执行指令:TEST AL,BL8AL=98H,执行指令:SAL AL,1解:注:0表示结果为0,1表示结果为1,×表示结果不变,—表示结果不确定;9、在8086系统下,编写实现如下功能的程序段:1从地址为80H的端口中读入一个字节;2如果该字节最高位为“1”,则将字节0FFH送到地址为81H的端口中,并退出程序;3如果该字节最高位为“0”,则转向第1步,继续循环扫描;解:参考程序段:AGAIN: IN AL, 80HTEST AL, 80HJZ AGAINMOV AL, 0FFHOUT 81H, AL10、我们知道,MOV指令并不能直接修改CS、IP的值,但事实上,我们还可以通过其他方法来达到修改CS、IP的目的;试编写一个程序段,使该程序段运行后,CS=0100H,IP=0000H;解:方法一、利用段间返回指令RETF:MOV AX,0100HPUSH AX ;段基址入栈MOV AX,0PUSH AX ;偏移量入栈RETF方法二、利用JMP指令实现段间跳转,假设ADDR为双字变量:MOV WORD PTR ADDR,0 ;WORD PTR ADDR←偏移量MOV WORD PTR ADDR+2, 0100H ;WORD PTR ADDR+2←段基址JMP DWORD PTR ADDR11.写出能完成下述操作的指令;1将立即数1234H 送至DS 寄存器;2将存储单元3000H 和内容送至4000H 单元;3将累加器AX 与寄存器CX 中的内容对调;答案:1MOV AX, 1234HMOV DS, AX2 MOV AX, 3000HMOV 4000H, AX3 XCHG AX, CX12.编程:将数据段中以BX 为偏移地址的连续4 单元的内容颠倒过来;答案:MOV AL, BXXCHG AL, BX+3MOV BX, ALMOV AL,BX+1XCHG AL, BX+2MOV BX+1, AL13.将AX 寄存器清零有4 种方法,试写出这4 条指令;答案:MOV AX, 00HSUB AX, AXAND AX, 00HXOR AX, AX14.使用一条逻辑运算指令实现下列要求:1使AL 高4 位不变,低4 位为0; 2使AL 最高位置1,后7 位不变; 3使AL 中的bit3、bit4 变反,其余位不变; 4测试判断CL 中的bit2、bit5、bit7 是否都为1;答案:1 AND AL, 0F0H2OR AL, 80H3XOR AL 18H4TEST AL, 0A4H15.试分析下面的程序段完成什么功能;MOV CL, 4SHL AX, CLSHL BL, CLMOV AL, BLSHR DH, CLOR AL, DH答案:将AX 中间8 位,BX 的低 4 位,DX 的高 4 位组成一个新字存放在AX 中;16.若要将源串100 个字节数据传送到目标串单元中去,设源串首址的偏移地址为2500H, 目标串首址的偏移地址为1400H,请编写程序实现以下功能; 1完成源串到目标串的搬移; 2比较两串是否完全相同,若两串相同,则BX 寄存器内容为0;若两串不同,则BX 指向源串中第一个不相同字节的地址,且该字节的内容保留在AL 的寄存器中;答案: 1 CLDMOV CX, 100MOV SI, 2500HMOV DI, 1400HREP MOVSB2 CLDMOV CX, 100MOV SI, 2500MOV DI, 1400REPE CMPSBJZ EDEC SIMOV BX, SIMOV AL, SIJMP STOPE: MOV BX, 0STOP: HLT17.设若标志寄存器原值为0A11H,SP=0060H,AL=4;下列几条指令执行后,标志寄存器、AX、SP的值分别是多少PUSHFLAHFXCHG AH,ALPUSH AXSAHFPOPF答:指令执行后标志寄存器的值为0411H,AX=0411H ,SP=005EH;18.假如在程序的括号中分别填入指令:1 LOOP L202 LOOPNE L203 LOOPE L20试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么BEGIN: MOV AX,01MOV BX,02MOV DX,03MOV CX,04L20: INC AXADD BX,AXSHR DX,1答案: 1AX= 5 BX= 16 CX= 0 DX= 02AX= 3 BX= 7 CX= 2 DX= 03AX= 2 BX= 4 CX= 3 DX= 119.变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列;答案:MOV AX, 0MOV AL, N1SUB AL, N2AASMOV DL, ALMOV AL, N1+1SBB AL, N2+1AASMOV DH, AL20.在已学的指令中,可实现累加器清0的单条指令有哪些比较它们的功能;答:1MOV AX,0 ;仅将累加器清0,不会影响任何标志位2SUB AX,AX ;累加器清0的同时影响所有状态标志,具体地有:ZF、PF置1,CF、AF、SF、OF均清03AND AX,0 ;将累加器清0,ZF、PF置1,CF、OF、SF清04XOR AX,AX ;将累加器清0,ZF、PF置1,CF、OF、SF清021.已知DS=2000H,有关的内存单元值为:21000H=00H,21001H=12H,21200H=00H,21201H=10H,23200H=20H,23201H=30H,23 400H=40H,23401H=30H,23600H=60H,23601H=30H,符号COUNT的偏移地址为1200H;执行下列指令后,寄存器AX、BX、SI的值分别是多少MOV BX,OFFSET COUNTMOV SI,BXMOV AX,COUNTSIBX答:执行结果为BX=1200H,SI=1000H,AX=3040H;22.设若内存单元DATA在数据段中偏移量为24C0H处,24C0H~24C3H单元中依次存放着55H、66H、77H、88H;下列几条指令执行后,寄存器AX、BX、CL、SI、DS的值分别是多少MOV AX,DATALEA SI,DATAMOV CL,SILDS BX,DATA答:执行结果为AX=6655H,BX=6655H,CL=55H,SI=24C0H,DS=8877H;23.若AX=26D3H,CX=7908H,CF=1,执行下列指令后,寄存器AX、CX的值分别是多少CF=OF=SAL CH,1RCR AX,CLROL AL,1答:执行结果为AX=0A64CH,CX=0F208H,CF=OF=0;24.已知有程序段如下:MOV AL,35HMOV DL,ALAND DL,0FHAND AL,0F0HMOV CL,4SHR AL,CLMOV BL,10MUL BLADD AL,DL执行之后,AL的值等于多少该程序段完成了什么功能答:程序段执行后AL=23H;该程序段实现了将AL中的1个组合BCD码转换为十六进制数并存回AL中的功能;25.下面的程序执行后,DX、AX的值分别是多少;以X为首址的字单元中的数据依次为1234H、5678H;以Y为首址的字单元中的数据依次为8765H、4321HLEA SI,XLEA DI,YMOV DX,SI+2MOV AX,XADD AX,XADC DX,SI+2CMP DX,DI+2JL L2CMP AX,YJL L1JMP EXITL1: MOV AX,1JMP EXITL2: MOV AX,2EXIT:……答:执行结果为AX=2,DX=0ACF0H;26.设VAR字单元的值为x,F1字单元的值为y,试编程按以下要求给y赋值:2 x>30y = 0 30≥x≥1-2 x<1答:一种可能的程序段实现如下:MOV AX,VAR ;AX xCMP AX,30JG PLUS2 ;x>30,则转PLUS2CMP AX,1JL MIN2 ;x<1,则转MIN2MOV F1,0 ;30≥x≥1,y=0JMP GOPLUS2:MOV F1,2 ;y=2JMP GOMIN2: MOV F1,-2 ;y = -2或00FEHGO:……;后续处理简析:本例中并未说明VAR字节单元是带符号数还是无符号数,读者在使用判断转移指令时可任意选用;若当作带符号数,应使用JG、JL、JGE、JLE等指令,如参考程序;若当作无符号数,则应使用JA、JB、JAE、JBE等指令;第四章 80x86汇编语言程序设计习题与答案1、指出以下数据定义伪指令所分配的字节数8086系统; 1DATA1 DB 10,,‘A’2DATA2 DW 10 DUP2,3 DUP,13DATA3 DB ‘HELLO,WORLD’,‘$’4DATA4 DW DATA4解:13字节;2100字节;313字节;42字节;2、指出以下数据定义伪指令所分配的字节数80386系统; 1DATA1 DF 12,34,562DATA2 DF DATA23DATA3 DQ 0,10 DUP4DATA4 DT 0,1,2解:118字节;36字节; 388字节;430字节;3、指出以下指令中哪些是无效的,并说明原因;1ADDR DB $2DATA DB F0H,12H31_DATA DW 1234H4VAR DW VAR1 ;VAR1为一个字节变量5MOV AX,10-VAR1 ;VAR1为一个字变量6MOV BX,VAR22+1 ;VAR2为一个字变量解:1非法,地址计数器$是32位数;2非法,以字母开头的16进制数应在前面加“0”,即应为“0F0H”;3非法,变量名非法,不能以数字开头;4合法;5非法,地址表达式不能是“常数-地址”;6非法,地址表达式不能出现乘法;4、假设已定义数据段如下:DATA SEGMENTORG 100HDATA1 DB 10 DUP1,2,3DATA2 DW DATA1,$DATA ENDS且段寄存器DS已初始化为该数据段的段基址假设段基址为1234H;请指出以下指令执行后,相应的寄存器中的内容;1MOV AX,WORD PTR DATA1 ;AX=2MOV BX,DATA2 ;BX=3MOV CX,DATA2+2 ;CX=4MOV DX,OFFSET DATA2 ;DX=5MOV SI,SEG DATA1 ;SI=6MOV DI,LENGTH DATA1 ;DI=7MOV SP,TYPE DATA1 ;SP=8MOV BP,SIZE DATA2 ;BP=解:1AX=0201H;2BX=0100H;3CX=0120H;4DX=011EH;5SI=1234H;6DI=000AH;7SP=0001H;8BP=0002H;5、在8086系统下,编写完整程序,实现从键盘上输入8位二进制数,从显示器上显示相应的16进制数,例如从键盘上输入“00010010”,应在显示器上显示“12H”; 解:参考程序:DATA SEGMENTMSG1 DB 'Input binary numberESC to exit:','$'MSG2 DB 0AH,0DH,'Input error',0AH,0DH,'$'DATA ENDSOUTPUT MACRO ASC ;定义输出一个字符的宏MOV DL, ASCMOV AH, 2INT 21HENDMCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXAGAIN: LEA DX, MSG1MOV AH, 9INT 21H ;提示输入信息MOV CX, 8 ;输入8位二进制数MOV BL, 0L: MOV AH, 1INT 21HSHL BL, 1CMP AL, 1BH ;ESC键退出JZ DONECMP AL, '0' ;输入“0”JZ NEXTCMP AL, '1' ;输入“1”JNZ ERROR ;输入其他则出错INC BLNEXT: LOOP LOUTPUT 0AHOUTPUT 0DHPUSH BXMOV CL, 4SHR BL, CLCALL TRAN ;显示高4位对应的16进制数POP BXAND BL, 0FHCALL TRAN ;显示低4位对应的16进制数OUTPUT 'H'OUTPUT 0AHOUTPUT 0DHJMP AGAINERROR: LEA DX, MSG2MOV AH, 9INT 21HJMP AGAINDONE: RETMAIN ENDPTRAN PROC FARCMP BL, 0AHJB BELOWADD BL, 7BELOW: ADD BL, 30HOUTPUT BLRETTRAN ENDPCODE ENDSEND MAIN6、在8086系统下,编写完整程序,实现从键盘上输入两个4位十进制数,从显示器上显示这两个数之和,例如输入“1234”、“5678”,应在显示器上显示“6912”; 解:参考程序:DATA SEGMENTMSG1 DB 'Input the first numberESC to exit:','$'MSG2 DB 'Input the second numberESC to exit:','$'MSG3 DB 0AH,0DH,'Input errorInput again:','$'DATA ENDSOUTPUT MACRO ASC ;定义输出一个字符的宏MOV DL, ASCMOV AH, 2INT 21HENDMCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN: MOV AX, DATAMOV DS, AXAGAIN: LEA DX, MSG1MOV AH, 9INT 21H ;提示输入第一个数CALL INPUT ;输入过程PUSH BXOUTPUT 0AHOUTPUT 0DHLEA DX, MSG2MOV AH, 9INT 21H ;提示输入第二个数CALL INPUT ;输入过程OUTPUT 0AHOUTPUT 0DHPOP AX ;实现两个4位组合BCD码相加ADD AL, BL ;低8位相加DAA ;校正MOV CL, AL ;保存至CLADC AH, BH ;高8位相加MOV AL, AH ;移至ALDAA ;校正MOV AH, ALMOV AL, CLMOV BX, AX ;最后结果放在BX中JNC NEXTOUTPUT '1' ;如果相加结果大于9999,则显示进位“1”NEXT: PUSH BXMOV CL, 4SHR BH, CLADD BH, 30HOUTPUT BH ;显示千位数POP BXPUSH BXAND BH, 0FHADD BH, 30HOUTPUT BH ;显示百位数POP BXPUSH BXMOV CL, 4SHR BL, CLADD BL, 30HOUTPUT BL ;显示十位数POP BXAND BL, 0FHADD BL, 30HOUTPUT BL ;显示个位数OUTPUT 0AHOUTPUT 0DHJMP AGAININPUT PROC FAR ;输入一个4位十进制数的过程BEGIN: MOV CX, 4MOV BX, 0L: SHL BX, 1SHL BX, 1SHL BX, 1SHL BX, 1 ;BX的值乘以16MOV AH, 1INT 21H ;输入CMP AL, 1BH ;ESC键退出JZ DONECMP AL, '0'JB ERROR ;非数字,出错CMP AL, '9'JA ERROR ;非数字,出错SUB AL, 30HXOR AH, AHADD BX, AX ;将输入加到BX中LOOP LRETERROR: LEA DX, MSG3MOV AH, 9INT 21HJMP BEGINDONE: MOV AH, 4CHINT 21HINPUT ENDPCODE ENDSEND MAIN7、在8086系统下,编写完整程序,实现两个32位带符号数相乘;假设被乘数存放在以字变量MUL1开始的连续4个字节中,乘数存放在以字变量MUL2开始的连续4个字节中中,相乘结果存放在以字变量RES开始的连续8个字节中;解:参考程序:DATA SEGMENTMUL1 DW 0FFFFH,0FFFFH ;被乘数MUL2 DW 5678H,1234H ;乘数RES DW 4 DUP0 ;结果DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV CX, MUL1MOV BP, MUL1+2MOV SI, MUL2MOV DI, MUL2+2TEST BP, 8000H ;被乘数是否为负数JZ NEXT1NOT BP ;为负数,则取反加1 NOT CXADD CX, 1ADC BP, 0NEXT1: TEST DI, 8000H ;乘数是否为负数JZ NEXT2NOT SI ;为负数,则取反加1 NOT DIADD SI, 1ADC DI, 0NEXT2: MOV AX, SI ;相乘过程MUL CXMOV RES, AXMOV AX, SIMUL BPADD RES+2, AXADC RES+4, DXMOV AX, DIMUL CXADD RES+2, AXADC RES+4, DXMOV AX, DIMUL BPADD RES+4, AXADC RES+6, DXMOV AX, MUL1+2XOR AX, MUL2+2 ;判断被乘数和乘数是否同号JNS DONE ;同号,则结果为正数,无须修改结果NOT RES ;不同号,则结果为负数,须取反加1 NOT RES+2NOT RES+4NOT RES+6ADD RES, 1ADC RES+2, 0ADC RES+6, 0DONE: RETMAIN ENDPCODE ENDSEND MAIN8、在8086系统下,编写完整程序,找出字节数组ARRAY中的最大值和最小值;假设ARRAY的长度为100个字节,每个字节为一个无符号数,程序执行后最大值将存放到字节变量MAX中,最小值则存放到字节变量MIN中;解:参考程序:DATA SEGMENTARRAY DB 100 DUP ;字节数组MAX DB ;最大值MIN DB ;最小值DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXLEA SI, ARRAYCLDMOV BH, 0 ;存放临时最大值的寄存器MOV BL, 0FFH ;存放临时最小值的寄存器MOV CX, 100AGAIN: LODSBCMP AL, BHJNA NEXT1MOV BH, AL ;如果当前数值比临时最大值大,则代替NEXT1: CMP AL, BLJNB NEXT2MOV BL, AL ;如果当前数值比临时最小值小,则代替NEXT2: LOOP AGAINMOV MAX, BHMOV MIN, BLRETMAIN ENDPCODE ENDSEND MAIN9、在8086系统下,编写完整程序,将字节数组ARRAY中的所有数据往高地址的方向移动一位,即原来存放在ARRAY中的字节移动到ARRAY+1中,原来存放在ARRAY+1中的字节移动到ARRAY+2中,……,依此类推;假设ARRAY的长度为100个字节; 解:可利用MOVSB指令实现移位,但应该注意,必须从串尾开始移动,因为假如直接从串头开始,将串头移到第二个数,那么第二个数将被覆盖;为使程序能从串尾开始移动,可令方向标志位DF=1;参考程序:DATA SEGMENTARRAY DB 100 DUP,DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV ES, AXLEA SI, ARRAY+99 ;SI指向源串尾LEA DI, ARRAY+100 ;DI指向新串尾STD ;DF=1,串尾先移动MOV CX, 100REP MOVSB ;循环移动RETMAIN ENDPCODE ENDSEND MAIN10、在8086系统下,编写在长字符串L_STR中查找短字符串S_STR的完整程序,如果找到匹配的字符串,则将字节变量RES置0FFH,否则置0;例如,在字符串“ABABCD”中可找到字符串“ABC”,则RES=0FFH;解:参考程序:DATA SEGMENTL_STR DB 'ABDABABCD' ;长串L_LTH DW $-L_STR ;长串长度S_STR DB 'ABC' ;短串S_LTH DW $-S_STR ;短串长度RES DB ;存放结果DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV ES, AXLEA SI, L_STRLEA DI, S_STRCLDMOV CX, L_LTHSUB CX, S_LTHINC CX ;作串比较的次数AGAIN: CALL COMP ;进行串比较INC SILOOP AGAINMOV RES, 0RETMAIN ENDPCOMP PROC FARPUSH CXPUSH SIPUSH DIMOV CX, S_LTHREPZ CMPSBJZ YES ;如果两个串相同,则说明找到POP DIPOP SIPOP CXRETYES: MOV RES, 0FFHMOV AH, 4CHINT 21HCOMP ENDPCODE ENDSEND MAIN11.执行下列指令后,AX寄存器中的内容是什么TABLE DW 10,20,30,40,50ENTRY DW 3..MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BX答:AX=4012.指出下列程序中的错误:STAKSG SEGMENTDB 100 DUPSTA_SG ENDSDTSEG SEGMENTDATA1 DBDTSEG ENDCDSEG SEGMENTMAIN PROC FARSTART: MOV DS,DATSEGMOV AL,34HADD AL,4FHMOV DATA,ALSTART ENDPCDSEG ENDSEND答案:改正后:。
微机原理(第三版)课后练习答案
![微机原理(第三版)课后练习答案](https://img.taocdn.com/s3/m/8caa6f5b3c1ec5da50e270a8.png)
1 思考与练习题一、选择题1.计算机硬件中最核心的部件是( )。
CA.运算器B.主存储器C.CPUD.输入/输出设备2.微机的性能主要取决于( )。
A(B——计算机数据处理能力的一个重要指标)A.CPUB.主存储器C.硬盘D.显示器3.计算机中带符号数的表示通常采用( )。
CA.原码B.反码C.补码D.BCD码4.采用补码表示的8位二进制数真值范围是( )。
CA.-127~+127B.-1 27~+128C.-128~+127D.-128~+1285.大写字母“B”的ASCII码是( )。
BA.41HB.42HC.61HD.62H6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。
CA.10010011BB.93HC.93D.147二、填空题1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。
P8 P52.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。
P5 P93.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。
P94.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。
P125.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。
P15 P166.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。
P18 P19三、判断题1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。
微机原理课后习题答案
![微机原理课后习题答案](https://img.taocdn.com/s3/m/c96f19e7f71fb7360b4c2e3f5727a5e9856a27eb.png)
微机原理课后习题答案1.3 微型计算机采⽤总线结构有什么优点?解:采⽤总线结构,扩⼤了数据传送的灵活性、减少了连接。
⽽且总线可以标准化,易于兼容和⼯业化⽣产。
2.6 IA-32结构微处理器⽀持哪⼏种操作模式?解:IA-32结构⽀持3种操作模式:保护模式、实地址模式和系统管理模式。
操作模式确定哪些指令和结构特性是可以访问的。
2.14 8086微处理器的总线接⼝不接有哪些功能?请逐⼀说明。
解:总线接⼝单元(BIU)负责与存储器接⼝;执⾏单元(EU)执⾏各种操作。
BIU主要由段寄存器、指令指针、加法器(形成20位地址)和预取的指令流队列等组成。
2.15 8086微处理器的总线接⼝不见由哪⼏部分组成?解:8086微处理器中的总线接⼝单元(BIU)负责CPU与储存器之间的信息传送。
具体地说,BIU既负责从内存的指令部分取出指令,送⾄指令队列中排队(8086的指令队列有6个字节,⽽8088的指令队列只有4个字节);也负责传送执⾏指令时所需的操作数。
执⾏单元(EU)负责执⾏指令规定的操作。
2.16 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?解:指令的物理地址=12000h+FF00H=21F00H2.17 8086微处理器的执⾏部件有什么功能?由哪⼏部分组成?解:8086微处理器的执⾏部件负责指令的执⾏。
它主要由算术逻辑单元、标志寄存器和通⽤寄存器等部分组成。
附:8086CPU从功能上分包括⼏部分,各有什么功能?3.3 写出下指令中内存操作数的所在地址。
(1)MOV AL,[BX+10](2)MOV [BP+10],AX(3)INC BYTE PTR[SI+5](4)MOV DL,ES:[BX+SI](5)MOV BX,[BP+DI+2]解:(1)数据段BX+10单元(2)堆栈段BP+10单元(3)数据段SI+5字节单元(4)附加段(ES段)BX+SI单元(5)堆栈段BP+DI+2单元3.4 判断下列指令书写是否正确。
微机原理课后习题参考答案
![微机原理课后习题参考答案](https://img.taocdn.com/s3/m/a10b7d6c2f3f5727a5e9856a561252d380eb200c.png)
微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。
微型计算机:简称“微型机”、“微机”,也称“微电脑”。
由大规模集成电路组成的、体积较小的电子计算机。
由微处理机(核心)、存储片、输入和输出片、系统总线等组成。
特点是体积小、灵活性大、价格便宜、使用方便。
微型计算机系统:简称“微机系统”。
由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。
配有操作系统、高级语言和多种工具性软件等。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。
1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。
总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。
1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。
(完整版)微机原理课后习题参考答案
![(完整版)微机原理课后习题参考答案](https://img.taocdn.com/s3/m/9f2c4ee3a417866fb84a8e92.png)
第一章2、完成下列数制之间的转换。
(1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。
答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。
组合型:254=(001001010100)BCD非组合型:254=(00000010 00000101 00000100)BCD7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。
+32767~ -32768。
9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。
(1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确[X-Y]补=10111001B=00010010+10100111=(-71D)补正确(2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确(3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确[X-Y]补=00010010+00001111=00100001B=(33D)补正确(4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。
微机原理课后习题答案
![微机原理课后习题答案](https://img.taocdn.com/s3/m/316557fef705cc17552709b0.png)
第二章1.8086CPU由哪两部分组成?它们的主要功能是什么?8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。
总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。
所有与外部的操作由其完成。
指令执行部件EU的功能:指令译码,执行指令。
2.8086CPU中有哪些寄存器?各有什么用途?8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。
4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。
也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。
指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。
段寄存器给出相应逻辑段的首地址,称为“段基址”。
段基址与段内偏移地址结合形成20位物理地址。
指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。
16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。
5.要完成下述运算或控制,用什么标志位判断?其值是什么?⑴比较两数是否相等?将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。
⑵两数运算后结果是正数还是负数?用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。
⑶两数相加后是否溢出?用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。
⑷采用偶校验方式。
判定是否要补“1”?用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。
(5)两数相减后比较大小?●ZF=1时,说明两数是相等的;●ZF=0时:无符号数时,CF=0,被减数大;CF=1,被减数小。
带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。
微机原理课后习题解答
![微机原理课后习题解答](https://img.taocdn.com/s3/m/52760fa351e79b896802263f.png)
微机原理习题第一章 ?绪论习题与答案1.? 把下列二进制数转换成十进制数、十六进制数及BCD码形式。
(2)?? 01011101.101B =解:(2)?????????? 01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2.? 把下列十进制数转换成二进制数。
(1)?? 100D =(2)?? 1000D =(3)?? 67.21D =解:(1)?? ?100D = 01100100B(3)?? 67.21D = 1000011.0011B3.? 把下列十六进制数转换成十进制数、二进制数。
(1)?????? 2B5H? =(2)?????? 4CD.A5H =解:?????????? (1)????????????? 2B5H? =? 693D = 0010 1011 0101B ?????????? (2)????????????? 4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B 4.? 计算下列各式。
(1)?? A7H+B8H? =(2)?? E4H-A6H? =解:(1)?????????? A7H+B8H? = 15FH(2)?????????? E4H-A6H? = 3EH5.? 写出下列十进制数的原码、反码和补码。
(1)+89(2)-37解:(1)[+89 ] 原码、反码和补码为: 01011001B6.求下列用二进制补码表示的十进制数??? (1)(01001101)补=解:??? (1)(01001101)补= 77D7.请用8位二进制数写出下列字符带奇校验的ASCII码。
??? (1)C:1000011??? (2)O:? 1001111??? (3)M:1001101??? (4)P:? 1010000解:??? (1)C:0 1000011?? (2)O:0 1001111??? (3)M:1 1001101?? (4)P:1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。
微机原理课后习题答案
![微机原理课后习题答案](https://img.taocdn.com/s3/m/4d5d833fb6360b4c2e3f5727a5e9856a56122699.png)
微机原理课后习题答案第1章进制及码元1、进制转换129= 81H= 10000001B=201Q298= 12AH= 100101010B=452Q1000= 3E8H= 1111101000B= 1750Q5DH= 1011101 B= 135 Q= 93 D3E8H= 1111101000 B= 1750Q= 1000 D;357Q=11101111 B= 0EF H= 239 D2、进制计算2FE3 F7,-119 FFF7,-32759 4 73、数据表示范围:一个字节的无符号数表示范围为0~255,有符号数补码表示范围为-l28—+127。
两个字节的无符号数表示范围为0~65535,有符号数补码表示范围为—32768~+32767。
N位二进制数的无符号数表示范围为0~(2N-1),有符号数(补码)表示范围为-2N-1~(2N-1-1).4、35H代表的ASC II字符为'5',代表十六进制数时等价的十进制值为53 ,代表压缩8421BCD码等价的十进制值为35 ,代表非压缩8421BCD码等价的十进制值为5。
5、FFH代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为一1 ,代表反码有符号数时等价的十进制值为一0 ,代表原码有符号数时等价的十进制值为一l27。
6、—20的8位二进制补码为ECH ,原码为94H ,反码为EBH 。
158的16位二进制补码为009EH,原码为009EH ,反码为009EH 。
7、英文字符一般在计算机内占用(1)个字节,每个字节的最高位一定为0 ,全角英文字符在计算机内占用2个字节,一个汉字在计算机内占用 2 个字节,每个字节最高位为 1 。
8、设阶码用8位补码表示,尾数部分用16位补码表示,则—(1/32+1/128+1/512)的尾数部分及阶码分别为多少?第2章微机硬件基础1、请画出计算机系统硬件图。
2、8086/88CPU为什么要分为BIU和EU两大模块?答:为了使取指和分析、执行指令可并行处理,提高CPU的执行效率。
完整版微机原理课后习题参考答案.doc
![完整版微机原理课后习题参考答案.doc](https://img.taocdn.com/s3/m/7f8d9aaab9f67c1cfad6195f312b3169a451eaf8.png)
完整版微机原理课后习题参考答案.doc2篇微机原理课后习题参考答案(一)微机原理课后习题是帮助学生巩固所学知识,提高学习效果的一种重要方式。
通过解答习题,学生可以检验自己的理解程度和掌握技能,同时也能发现知识的不足之处,以便及时调整学习方法和加强练习。
以下是微机原理课后习题的参考答案,供学生参考:1. 请简述微机的基本组成部分。
答:微机的基本组成部分包括中央处理器(CPU)、内存、输入输出设备和总线。
其中,中央处理器是微机的控制中心,负责数据的处理和指令的执行;内存是用于存储数据和程序的地方,包括随机访问存储器(RAM)和只读存储器(ROM);输入输出设备用于与外部设备进行信息交换,包括键盘、显示器、打印机等;总线是连接中央处理器、内存和输入输出设备的通道,用于数据传输和控制信号传递。
2. 什么是存储器的地址空间?答:存储器的地址空间是计算机可寻址的存储单元的集合。
每个存储单元都有一个唯一的地址,用于在存储器中定位该存储单元。
地址空间的大小决定了计算机可以寻址的最大存储容量。
常见的存储器地址空间包括物理地址空间和逻辑地址空间。
物理地址空间是实际存在的存储单元的集合,由硬件决定;逻辑地址空间是程序员或操作系统所见到的地址空间,它可以比物理地址空间大或小,具体取决于使用的地址转换机制。
3. 简述中央处理器的主要功能。
答:中央处理器的主要功能包括指令的执行和数据的处理。
指令的执行是指根据程序中的指令,按照特定的指令集进行操作,包括数据传输、算术运算、逻辑运算等。
数据的处理是指对输入的数据进行处理,可以进行各种运算和逻辑操作,生成相应的结果。
除了执行指令和处理数据外,中央处理器还负责控制系统的运行,包括控制信号的发出和时序的控制,以确保各个组成部分协调工作。
4. 什么是总线?答:总线是微机中各个组成部分之间进行数据传输和控制信号传递的通道。
它可以看作是计算机内部各个部分之间进行信息交换的公共通道。
总线通常分为数据总线、地址总线和控制总线三种类型。
微机原理课后习题答案
![微机原理课后习题答案](https://img.taocdn.com/s3/m/2c68bf1c866fb84ae45c8d2d.png)
第1章计算机基础知识三、简答题1.微型计算机的基本组成?答:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。
(微型计算机+软件系统,也可)2.简述冯.诺依曼型计算机基本思想?答:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。
其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。
(写出主要内容,即可)3.什么是微型计算机?答:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。
(只要答出五大组成部分即可)4.什么是溢出?答:溢出就是在运算中,使用已经确定的二进制位数,没有办法表示运算结果。
二、简答题1.在内部结构中,微处理器主要有哪些功能部件组成?答:1) 算术逻辑部件 2) 累加器和通用寄存器组3) 程序计数器 4) 时序和控制部件(意思相近即可)2. 微处理器一般应具有哪些功能?答:1)可以进行算术和逻辑运算 2)可保存少量数据3)能对指令进行译码并完成规定的操作 4)能和存储器、外部设备交换数据5)提供整个系统所需的定时和控制 6)可以响应其他部件发来的中断请求3. 什么是总线周期?答:CPU使用总线完成一次存储器或I/O接口的存取所用的时间,称为总线周期,一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。
(意思相近即可)?2.中断服务程序结束时,。
RET应该可以使中断服务程序返回主程序,但因为RETF是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。
(回答可以返回2分,出现的问题3分,意思相近即可)3.写出把首地址为 BLOCK1) MOV BX,OFFSET BLOCK+6 2) LEA BX,BLOCK 3) LEA BX,BLOCKMOV DX,[BX] MOV DX,[BX+12] MOV SI,12MOV DX,[BX+SI]4. 设BX=134AH,BP=1580H,DI=0528H,SI=0234H,DS=3200H,SS=5100H,求在各种寻址方式下源操作数的物理地址。
微机原理课后答案
![微机原理课后答案](https://img.taocdn.com/s3/m/88d409c803d276a20029bd64783e0912a3167c61.png)
微机原理课后答案第一题1.原题:请描述微机系统中的CPU、内存和外设之间的关系。
答案:在微机系统中,CPU(中央处理器)是微机系统的核心部件,它负责执行所有的指令和控制系统的运行。
CPU与内存(包括主存储器和高速缓存)之间通过总线进行数据和地址传输。
CPU通过读取和写入内存中的数据和指令来执行操作。
外设则是与CPU和内存交互的外部设备,例如键盘、鼠标、打印机等。
CPU通过输入输出控制器与外设进行通信。
第二题2.原题:什么是指令周期?指令周期与时间周期有什么关系?答案:指令周期是CPU执行一条指令所经历的一系列操作的时间周期。
它包括取指令周期(fetch)、译码周期(decode)、执行周期(execute)和存储周期(store)。
指令周期的长度由CPU的时钟信号决定,时钟信号的频率被称为时钟频率,通常以赫兹(Hz)表示。
指令周期的时间长度是时钟周期的倒数,即指令周期 = 1 / 时钟频率。
第三题3.原题:什么是中断?请简要描述中断的处理过程。
答案:中断是一种机制,用于在程序运行过程中打断当前正在执行的指令,并转而执行由中断响应函数处理的特定任务。
中断可以根据优先级和设定的触发条件被触发。
中断处理过程主要包括以下步骤:–当中断触发条件满足时,CPU会停下当前执行的指令,保存当前状态(如程序计数器和标志寄存器等)。
–CPU根据中断号,从中断向量表中获取中断服务程序的入口地址。
–CPU跳转到中断服务程序的入口地址,并开始执行中断服务程序。
–中断服务程序执行完毕后,CPU恢复之前保存的状态,继续执行被中断打断的指令。
第四题4.原题:什么是总线?请简要描述总线的作用。
答案:总线是计算机系统中不同组件之间进行数据和指令传输的物理通路。
总线起到了连接CPU、内存和外设的桥梁作用。
总线可以分为数据总线、地址总线和控制总线三个部分:–数据总线用于在CPU、内存和外设之间传输数据。
–地址总线用于指示数据在内存中的地址或外设的地址。
微机原理课后习题参考答案
![微机原理课后习题参考答案](https://img.taocdn.com/s3/m/699ed6a6dd88d0d233d46aad.png)
上册第一章P91.1 微处理器、微型计算机、微型计算机系统的区别是什么?答:(1)微型计算机中的运算器和控制器合起来称为中央处理器,也就是微处理器,又称微处理机。
(2)微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
(3)微型计算机系统由微型计算机、输入/输出设备、外存储器、系统软件、电源、面板和机架等组成。
1.2微型计算机由哪些基本部分构成?微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
1.4 说明CISC、RISC及其主要区别。
CISC是指复杂指令系统计算机,RISC是指精简指令系统计算机。
他们的区别在于不同的CPU设计理念和方法。
RISC指令系统仅包含哪些必要的经常使用的指令,不经常使用的功能,往往通过基本指令组合来完成。
完成特殊功能时效率比较低。
CISC的指令系统比较丰富,一些特殊功能都有相应的指令。
处理特殊任务效率较高。
RISC对存储器操作相对简单,使对存储器访问的控制简化;而CISC机器的存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑比较复杂。
RISC在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。
RISC CPU的电路构成比CISC CPU简单,因此面积小、功耗也更低;CISC电路CPU电路复杂,同水平比RISC CPU面积大、功耗大。
RISC CPU结构比较简单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术;CISC CPU结构复杂,设计周期长,技术更新难度大。
从使用角度看,RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
第二章2.1 8086CPU 由哪两大部分组成?简述它们的主要功能。
总线接口部件BIU跟执行部件EU。
总线接口部件(BIU)是联系微处理器内部与外部的重要通道,其主要功能是负责微处理器内部与外部的信息传递。
微机原理课后习题答案
![微机原理课后习题答案](https://img.taocdn.com/s3/m/83152c637ed5360cba1aa8114431b90d6c858996.png)
微机原理课后习题答案第⼆章1.8086CPU由哪两部分组成?它们的主要功能是什么?8086CPU由总线接⼝部件BIU和指令执⾏部件EU组成,BIU和EU的操作是并⾏的。
总线接⼝部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。
所有与外部的操作由其完成。
指令执⾏部件EU的功能:指令译码,执⾏指令。
2.8086CPU中有哪些寄存器?各有什么⽤途?8086CPU的寄存器有通⽤寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。
4个16位通⽤寄存器,它们分别是AX,BX,CX,DX,⽤以存放16位数据或地址。
也可分为8个8位寄存器来使⽤,低8位是AL、BL、CL、DL,⾼8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。
指针和变址寄存器存放的内容是某⼀段内地址偏移量,⽤来形成操作数地址,主要在堆栈操作和变址运算中使⽤。
段寄存器给出相应逻辑段的⾸地址,称为“段基址”。
段基址与段内偏移地址结合形成20位物理地址。
指令指针寄存器⽤来存放将要执⾏的下⼀条指令在现⾏代码中的偏移地址。
16位标志寄存器PSW⽤来存放运算结果的特征,常⽤作后续条件转移指令的转移控制条件。
5.要完成下述运算或控制,⽤什么标志位判断?其值是什么?⑴⽐较两数是否相等?将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。
⑵两数运算后结果是正数还是负数?⽤符号标志位SF来判断,SF=1,为负数;SF=0,为正数。
⑶两数相加后是否溢出?⽤溢出标志位来判断,OF=1,产⽣溢出;OF=0,没有溢出。
⑷采⽤偶校验⽅式。
判定是否要补“1”?⽤奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。
(5)两数相减后⽐较⼤⼩?●ZF=1时,说明两数是相等的;●ZF=0时:⽆符号数时,CF=0,被减数⼤;CF=1,被减数⼩。
带符号数时,SF=OF=0或SF=OF=1,被减数⼤;SF=1,OF=0或SF=0,OF1,被减数⼩。
微机原理习题答案(完整版)
![微机原理习题答案(完整版)](https://img.taocdn.com/s3/m/cade3c34eefdc8d376ee32f9.png)
第一章习题答案1-1 请说明CPU的功能以及CPU是如何执行指令和程序的。
答:CPU的功能是执行程序和统筹处理计算机系统中各类事务。
CPU执行指令分为3步:取指令、分析指令、执行指令;计算机程序是由一条条指令按一定的顺序排列组成的,CPU执行程序的过程就是一条条指令累计执行的过程,其方式分为串行作业方式和流水线作业方式。
1-2 请说明单片机内部主要是由哪些部件组成的,并说明各部件的作用。
答:CPU:由控制器和运算器构成,控制器的作用是执行指令和协调系统各部件的工作;运算器的作用是进行逻辑运算和算术运算。
存储器:存储计算机工作时使用的信息,即指令代码和数据代码。
I/O接口电路:具有数据缓冲、数据隔离及数据转换的功能。
1-3 请问对于容量位8K的存储器芯片,它的地址线是多少根?答:8K=8192=213,故地址线为13根。
另附:存储器的数据线由存储器的字长决定,例如一块32K×16(存储器容量显示格式:存储单元数×存储单元的字长)的存储器,其地址线为15根,数据线为16根。
1-4 将十进制数78,134,分别用二进制数、十六进制数和8421BCD吗表示。
答:(78)D=(1001110)B=(4E)H=(01111000)8421BCD(134)D=(10000110)B=(86)H=(000100110100)8421BCD注:8421BCD码为4位表示一个十进制数符,本质是符号不是数值,所以不可省略0。
1-5 将下列真值分别转化为用8位和16位二进制数表示的原码、补码和反码。
X=1000100;[X]8位原=[X]8位反=[X]8位补=01000100;[X]16位原=[X]16位反=[X]16位补=0000000001000100X= -1000100[X]8位原=11000100,[X]8位反=10111011,[X]8位补=10111100;[X]16位原=1000000001000100,[X]16位反=1111111110111011,[X]16位补=1111111110111100;X= -0111111[X]8位原=10111111,[X]8位反=11000000,[X]8位补=11000001;[X]16位原=1000000000111111,[X]16位反=1111111111000000,[X]16位补=1111111111000001;1-6 将下列补码转化成二进制数的真值。
微机原理课后习题答案
![微机原理课后习题答案](https://img.taocdn.com/s3/m/524554f9e109581b6bd97f19227916888486b947.png)
微机原理课后习题答案《微机原理》课后习题答案第⼀章1.计算机按其使⽤的逻辑元件的不同被分为哪⼏代?微型计算机是哪⼀代计算机的分⽀?答:电⼦管计算机、晶体管计算机、集成电路计算机和⼤规模、超⼤规模集成电路计算机。
微型计算机属于第四代计算机的分⽀。
2. 简述冯·诺依曼计算机体系结构的基本思想。
答:冯·诺伊曼基本设计思想为:①以⼆进制形式表⽰指令和数据。
②程序和数据事先存放在存储器中,计算机在⼯作时能够⾼速地从存储器中取出指令并加以执⾏。
③由运算器、控制器、存储器、输⼊和输出设备等五⼤部件组成计算机系统。
3.微型计算机系统由哪⼏部分组成:答: 微机系统分硬件和软件,硬件包括CPU、存储器、输⼊输出设备和输⼊输出借⼝,软件包括软件系统和应⽤软件。
6.何谓总线?有哪⼏类?作⽤如何?答:总线是计算机中各功能部件间传送信息的公共通道。
根据所传送的信息的内容与作⽤不同,总线可分为三类:地址总线、数据总线、控制总线。
这三类总线作⽤为计算机各功能部件间传送地址、数据、控制信息的。
8.存储器读写操作的不同点?答:①读操作:由CPU发出的读命令控制。
写操作:由CPU发出的写命令控制。
②读操作:把数据从内存中读出来,放到DB上。
写操作:把DB上的内容,写⼊到存储器中。
第⼆章计算机中的数值和编码1、将⼗进制数转换为⼆进制和⼗六进制(1) 129.75=1000 0001.11B=81.CH (2) 218.8125=1101 1010.1101B=DA.DH(3) 15.625=1111.101B=F.AH (4) 47.15625=10 1111.0010 1B=2F.28 H2、将下列⼆进制数转换为⼗进制和⼗六进制(1) 111010 B=58 =3A H (2) 1011 1100.111B= 188.875= BC.E H(3) 0.1101 1B=0.84375 =0.D8H (4) 11110.01 B=30.25 =1E.4H3、完成下列⼆进制数的加减法运算(1) 1001.11+100.01=1110.00 (2) 1101010110.1001-01100001.0011=01110101.0110(3) 00111101+10111011=11111000 (4) 01011101.0110-101101.1011=101111.10114、完成下列⼗六进制数的加减法运算(1) 745CH+56DFH=D14B H (2) ABF.8H-EF6.AH=9C28.E H(3) 12AB.F7+3CD.05=1678 .FC H (4) 6F01H-EFD8H=7F29 H5、计算下列表达式的值(1) 128.8125+10110101.1011B+1F.2H=101010101.1010B(2) 287.68-10101010.11H+8E.EH=103.CEH(3) 18.9+1010.1101B+12.6H-1011.1001=36.5256、选取字长n为8位和16位两种情况,求下列⼗进制数的补码。
微机原理课后习题答案
![微机原理课后习题答案](https://img.taocdn.com/s3/m/7541fdbddc88d0d233d4b14e852458fb770b3885.png)
微机原理课后习题答案2.1 8086 CPU 在内部结构上由哪几部分组成?其功能是什么?【答】8086 的内部结构-成两部分:总线接口部件BIU,负责控制存储器读写。
执行部件EU,EU 从指令队列中取出指令并执行。
8086 是16 位微处理器,有16 根数据线、20 根地址线,内部寄存器、运算部件以及内部操作都是按16 位设计的。
2.2 8086 的总线接口部件有那几部分组成?【答】8086 的总线接口部件主要由下面几部分组成:4 个段寄存器CS/DS/ES/SS, 一个16 位的指令指针寄存器IP, 一个20 位地址加法器, 6 字节的指令队列,内部暂存器以及输入输出电路组成.2.3 8086 的执行部件有什么功能?由那几部分组成?【答】8086 的执行部件主要由下面几部分组成:(1)四个16 位通用寄存器AX、BX、CX、DX, 通用四个16 位专用寄存器,包括二个指针寄存器SP、BP, 二个变址寄存器SI、DI, 算术逻辑单元ALU,标志寄存器。
2.4 8086CPU 状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086 的状态标志和控制标志分别有哪些?【答】标志分两类:状态标志(6 位):反映刚刚完成的操作结果情况。
控制标志(3 位):在某些指令操作中起控制作用。
2.5 8086/8088 和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU 执行转移指令时,指令队列寄存器内容如何变化?【答】传统的计算机一般按照取指令、指令译码/执行指令的步骤工作。
在8086/8088 中,指令的提取与执行分别由总线接口部件BIU 与执行部件EU 完成,8086/8088 可以在取指令同时又可以执行指令,这种并行工作方式有力的提高了CPU 的工作效率。
2.6 将两数相加,即0100 1100 加0110 0101,CF、PF、AF、ZF、SF、OF 各为何值?【答】0100 1100+0110 0101=10110001CF=0,PF=1,AF=1,ZF=0,SF=1,OF=12.7 存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有20 位地址线的CPU,其最大物理地址为多少?【答】存储器的逻辑地址由段地址与段内偏移地址组成。
微机原理习题与答案
![微机原理习题与答案](https://img.taocdn.com/s3/m/c1d3192202d8ce2f0066f5335a8102d276a2612b.png)
微机原理习题与答案一、选择1、在微型计算机中,微处理器的主要功能是进行()。
DA、算术运算B、逻辑运算C、算术、逻辑运算D、算术、逻辑运算及全机的控制2、PentiumI属于()位CPUCA、16B、8C、32D、643、Intel8086属于()位CPUAA、16B、8C、32D、644、CPU与I/O设备间传送的信号通常有()DA、控制信息B、状态信息C、数据信息D、以上三种都有5、存储器用来存放计算机系统工作时所需要的信息,即()。
DA、程序B、数据C、技术资料D、程序和数据6、运算器的核心部件是()。
DA、加法器B、累加寄存器C、多路开关D、算逻运算单元二、填空1、内存可分为2大类:随机存储器RAM和2、数据总线是向的,地址总线是向的。
3、计算机的五大部件是:、、、、输出设备4、总线可分为三类:、、5、存储程序工作原理最先由提出6、在计算机内部,一切信息的存取、处理和传送都是以形式进行的。
1、只读存储器ROM2、双、单3、运算器、控制器、存储器、输入设备4、地址总线、数据总线、控制总线5、冯·诺依曼6、二进制三、简答1、冯·诺依曼型计算机的特点是什么?(1).以二进制表示指令和数据(2).程序和数据存放在存储器中,从存储器中取指令并执行(3).由运算器、控制器、存储器、输入设备、输出设备构成计算机硬件系统。
一、选择1、在机器数______中,零的表示形式是唯一的()。
BDA、原码B、补码C、反码D、移码2、计算机内部表示带符号整数通常采用()。
CB、反码C、补码D、移码3、带符号数运算溢出的判定依据为()。
注:CF符号位进位标志.DF最高数据位进位标志DA、CF=1B、DF=1C、CFANDDFD、CFXORDF4、数值64的压缩BCD码是()AA、01100100BB、00000110B00000100BC、01000000BD、00110110B00110100B5、下列数中为最大值的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理课后练习题-答案(总13页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、1、2、B3、十,非压缩的BCD码4、5、微型计算机、微型计算机系统6、,,二、 B D B三、1、微型计算机系统的基本组成。
答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。
2、简述冯.诺依曼型计算机基本组成。
答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。
其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。
3、什么是微型计算机答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。
4、什么是溢出答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。
一、1、4、100ns2、Ready ,Tw(等待)3、ALE4、INTR5、85010H6、存储器或I/O接口未准备好7、非屏蔽中断8、指令周期9、4二、1、在内部结构上,微处理器主要有那些功能部件组成答案:1) 算术逻辑部件 2) 累加器和通用寄存器组3) 程序计数器 4) 时序和控制部件2、微处理器一般应具有那些基本功能答案: 1.可以进行算术和逻辑运算 2.可保存少量数据3.能对指令进行译码并完成规定的操作 4.能和存储器、外部设备交换数据5.提供整个系统所需的定时和控制 6.可以响应其他部件发来的中断请求3、什么是总线周期答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。
三、×、×、×、×、×、√、√第三章课后练习题一、1、若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程序转向何处执行。
ADD AX,BX JNC L3JNO L1 JNO L4JNC L2 JMP L5SUB AX,BX答案:L52、中断服务程序结束时,用RET指令代替IRET指令能否返回主程序这样做存在什么问题答案:RET应该可以使中断服务程序返回主程序,但因为RET是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。
3、写出把首地址为BLOCK字数组中的第6个字,送到DX寄存的指令(或指令组),要求使用以下几种寻址方式:(1) 寄存间接寻址; (2) 寄存相对寻址; (3) 基址变址寻址答案: 1) MOV BX,OFFSET BLOCK+6 MOV DX,[BX]2) LEA BX,BLOCK MOV DX,[BX+12]3) LEA BX,BLOCK MOV SI,12 MOV DX,[BX+SI]4、二、1、2458H2、00DAH3、(DX)=0010H (AX)=0420H4、0000,15、587989H 1,08FH 1,0三、×、√、√、×、×6、√、√、√、×、×、×、×、√、√、×、×、×、×、×、×、×一、1、ENDS、 ENDP2、2014H,003、16二、C B D C A B三、1、统计从01000H内存单元开始的100个字(WORD)型带符号数中的正数、负数和零的字(WORD)个数。
答案:设正数个数存放于BX中,负数个数存放于DI中,零的个数存放于DX中MOV AX,0100H JZ ZEROMOV DS,AX JL NEGATMOV BX,0 INC BXMOV DX,0 JMP NEXT1MOV DI,0 ZERO: INC DXMOV SI,0 JMP NEXT1MOV CX,100 NEGAT: INC DINEXT: MOV AX,[SI] NEXT1: ADD SI,2CMP AX,0 LOOP NEXT2、实现两个十六位二进制数的加法。
要求加数放在FIRST开始单元,被加数放在SECOND开始单元,和数放在SUM单元。
答案:MOV AX,FIRSTADD AX,SECONDMOV SUM,AX一、1、44H,11H2、723、12,0F0FFFH二、1、答案:无论采用何种工艺,动态RAM都是利用电容存储电荷的原理来保存信息的。
与静态RAM相比,动态RAM电路结构简单,集成度高,存储容量大。
但使用它必须配以复杂的刷新控制电路,以便不断地对其补充电荷。
因此边线较静态RAM复杂,故常用在要求速度快,存储容量大的场合。
2、答案:(1)32,32 (2)8,8 (3)64,32 (4)4,2 (每个1分,)3、答案:当存储器芯片的容量小于所需内存容量时,需要用多个芯片构成满足容量要求的存储器,这就是字扩展。
当存储器芯片每个单元的字长小于所需内存单元的字长时,需要用多个芯片构成满足字长要求的存储模块,这就是位扩展。
买内存条进行内存扩充是字扩展。
三、存储器应用1、地址范围第一片 10000H--13FFFH;第二片 14000H--17FFFH2、答案:1) 该存储器芯片有14位地址线和4位数据线。
2) 共需总芯片数为8片。
3)一、C C D D D D A二、1、说明I/O接口的基本功能。
答案: I/O地址译码与设备选择;信息的输入输出;命令、数据和状态的缓冲与锁存;信息转换等功能。
2、相对于查询方式,中断方式有什么优点和DMA方式比较,中断方式有什么不足之处答案:中断方式可以使CPU与外设并行工作,所以比起查询方式,CPU的工作效率提高了。
中断方式仍然要由CPU通过指令来传送数据,对高速设备来说速度太慢了。
DMA方式是在DMA控制器控制下进行数据传送,速度上限主要取决于存储器的存取速度,因此中断方式传输速度不如DMA方式。
三、答案:独立编址,独立编址一、1、方式选择控制字,C口置复位控制字2、方式选择控制字二、 B B三、常用的键盘扫描有几种方式试述各自的特点及原理。
答案:行扫描法和行反转法行扫描法工作原理1)规定行输出,列输入2)将全“0”数据从行线上输出,读取列线,若全“1”,则认为没有按键,否则认为有按键。
3)在有按键情况下,逐次使其中的行线输出“0”,其余的行线为“1”,读取列线,若读取的数据为全“1”,则表明该行没有按键,若读取的非全“1”,根据行列线上的数据,可以唯一确定哪一个键按下。
行反转法工作原理1)首先规定行线为输出,列线为输入。
2)从行线上输出全“0”的数据,从列线读取数据,如果读取数据为全“1”,则说明没有键按下,否则认为有按键。
3)改变输入、输出端口,将2)获得的数据从列线输出,从行线读取数据,根据两次读取的数据,就可以唯一确定哪个键按下。
四、8255A的工作方式控制字和C口的按位置位/复位控制字有何差别若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,程序段就应是怎样的答案:工作方式控制字的最高位为1,而C口的按位置位/复位控制字最高位为0MOV DX,303HMOV AL,80HOUT DX,ALMOV AL,05HOUT DX,AL五、1、已知8255的控制口地址为236H,LED采用共阳级接法。
字型信息接在PB口,字位信息接在PA口,使用8255作为接口芯片,在两块LED上显示自己的学号。
要求画出完整的线路连接图并设计相应的程序(8086工作在最小模式,8255相应控制字为80H)。
答案:MOV DX,236H LOP: LOOP LOPMOV AL,80H MOV DX,232HOUT DX,AL MOV AL,nn ;学号高位MOV CX,000H OUT DX,ALSTART:MOV DX,232H MOV AL,2MOV AL,nn ;学号低位MOV DX,230HOUT DX,AL OUT DX,ALMOV AL,1 LOP1:LOOP LOP1MOV DX,230H JMP STARTOUT DX,AL2、若打印机及其工作时序如图所示,当打印机不忙时(BUSY=0),向它送数据(设每次只传送1个字节)并在数据稳定时用负脉冲将数据存于打印机内部,同时设置打印机忙信号,即BUSY =1。
1)用可编程接口芯片8255将打印机与总线相连接起来。
若规定8255的地址为0320H~032FH 任选,试画出连接电路图。
2)数据段中首地址为BUFFER的区域中存放着100字节要打印的字符,试编写包括8255初始化的打印程序,并将100个字符打印出来。
答案:1、2、MOV DX,326H MOV AL,[BX]MOV AL,81H OUT DX,ALOUT DX,AL MOV DX,326HLEA BX,BUFFER MOV AL,8MOV CX,100 OUT DX,ALNE:MOV DX,324H MOV AL,9IN AL,DX OUT DX,ALTEST AL,01 INC BXJZ NE LOOP NEMOV DX,322H3、在一个系统中,8255A的四个端口地址分别为:420H、422H、424H和426H。
要求:1)初始化8255,使端口A、B、C均工作于方式0,端口A作为输入端口,端口B和C作为输出端口。
2)将端口A输入的信息取反后直接输出到端口B。
3)检测端口A输入的信息的PA7位。
当PA7=1时,端口C输出FFH,否则,输出00H。
请编写程序段,完成上述功能(程序要加注解)。
答案: 1) MOV AL,90HMOV DX,426HOUT DX,AL2) MOV DX,420HIN AL,DXMOV DX,422HNOT ALOUT DX,AL3) MOV DX,420H ;从端口A输入信息IN AL,DXTEST AL,80H ;测试PA7是否为0MOV AL,0JZ KO ;如果为0,输出0MOV AL,0FFH ;否则输出0FFHKO:MOV DX,424H ;端口C的地址OUT DX,AL1、8086中断系统有哪几类答案:种类有非屏蔽中断、可屏蔽中断、软件中断和软件陷阱。
2、CPU响应可屏蔽中断有哪些基本条件。
答案:中断是允许的;有中断请求;没有总线请求和响应;没有高优先级中断在服务;当前指令执行完;如果是对段寄存器的操作,执行完此指令后必须再执行一条指令;如果当前指令是带REP的串指令,则一个字节或字的操作完成,没有必要完全执行完该指令;若当前指令是封锁指令,则必须执行完其后的一条指令。