微机原理一至四章课后习题
微机原理课后习题解答

微机原理习题第一章绪论习题与答案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答案:改正后:。
微机原理课后习题参考答案

微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。
微型计算机:简称“微型机”、“微机”,也称“微电脑”。
由大规模集成电路组成的、体积较小的电子计算机。
由微处理机(核心)、存储片、输入和输出片、系统总线等组成。
特点是体积小、灵活性大、价格便宜、使用方便。
微型计算机系统:简称“微机系统”。
由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。
配有操作系统、高级语言和多种工具性软件等。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。
1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。
总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。
1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。
微机原理1-4答案

第一章作业习题课2.微处理器,微型计算机,微型计算机系统有什么联系与区别?微处理器只是一个中央处理器(CPU),由算术逻辑部件(ALU),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。
微处理器不能构成独立工作的系统,也不能独立执行程序,必须配上存储器,外部输入、输出接口构成一台微型计算机方能工作。
微型计算机由CPU,存储器,输入/输出接口电路和系统总线组成。
它已具有计算功能,能独立执行程序,但若没有输入/输出设备,数据及程序不能输入,运算结果无法显示或输出,仍不能正常工作。
以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。
没有配置软件的计算机称为裸机,仍然什么工作也不能做,必须配置系统软件和应用软件,这样才可以正常提供使用。
3.微处理器有哪些主要部件组成?其功能是什么?微处理器是中央处理器(CPU)。
它是由算术逻辑部件(ALU),累加器和寄存器组,指令指针寄存器IP,段寄存器,时序和控制逻辑部件,内部总线等组成。
微处理器主要部件作用:算术逻辑部件主要完成算术运算及逻辑运算。
通用寄存器组用来存放参加运算的数据、中间结果或地址。
程序计数器指向要执行的下一条指令,顺序执行指令时,每取一个指令字节,程序计数器加1。
控制逻辑部件负责对整机的控制,包括从存储器中取指令,对指令进行译码和分析,确定指令的操作及操作相应的控制信号和时序,送到微型计算机的其他部件,使CPU内部及外部协调工作。
内部总线用来传送CPU内部的数据及控制信号。
第二章作业习题课1.8086CPU由哪两部分组成?它们的主要功能是什么?8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。
总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。
所有与外部的操作由其完成。
指令执行部件EU的功能:指令译码,执行指令。
2.8086CPU中有哪些寄存器?各有什么用途?8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。
微机原理课后习题参考答案

微机原理课后习题参考答案第一章2、完成下列数制之间的转换。
01011100B=92D135D=10000111B 10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。
答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。
组合型:254=BCD 非组合型:254=BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。
+32767~ -32768。
9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。
X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确[X-Y]补=10111001B=00010010+10100111=补正确X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=补正确[X-Y]补=11101001+00001011=11110100B=补正确X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=补正确[X-Y]补=00010010+00001111=00100001B=补正确X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=补正确[X-Y]补=11101110+10001000=01110110B=补于X-Y=-138 超出了机器数范围,因此出错了。
13、微型计算机的主要性能指标有哪些?答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。
微机原理习题答案1234章

微机原理与接口技术习题解答第1章数制与码制1.将下列十进制数转换成二进制数:(1)58;(2)67.625; (3)5721;解:(1)58D = 0011 1010B(2)67.625D = 0100 0011.1010B(3)5721D = 0001 0110 0101 1001B2.将二进制数变换成十六进制数:(1)1001 0101B;(2)11 0100 1011B;(3)1111 1111 1111 1101B;(4)0100 0000 10101B;(5)0111 1111B;(6)0100 0000 0001B解:(1)1001 0101B = 95H(2)11 0100 1011B = 34BH(3)1111 1111 1111 1101B = FFFDH(4)0 1000 0001 0101B = 815H(5)0111 1111B = 7FH(6)0100 0000 0001B = 401H3.将十六进制数变换成二进制数和十进制数:(1)78H;(2)0A6H;(3)1000H;(4)0FFFFH解:(1)78H = 120D = 0111 1000B(2)0A6H = 166D = 1010 0110B(3)1000H = 4096D = 0001 0000 0000 0000H(4)0FFFFH = 65535D = 1111 1111 1111 1111B4.将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.5625解:(1)39D = 27H(2)299.34375D = 12B.58H(3)54.5625D = 36.9H5.将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B解:(1)10110.101B = 22.625D(2)10010010.001B = 146.125D(3)11010.1101B = 26.8125D6.计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;解:(1)10100111B(2)11111100B(3)1010000B(4)19D9H(5)5796H(6)A4H7.已知a=1011B, b=11001B, c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b; (2)c-a-b; (3)a×b; (4)c÷b解:a=1011B=11D b=11001B=25D c=100110B =38D(1)100100B = 36D(2)10B = 2D(3)1 0001 0011B=275D(4)1B 余1101B= 13D8.已知a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b; (2)a OR b; (3)a XOR b; (4)NOT a解:(1)00000000B(2)11111111B(3)11111111B(4)11000111B9.设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B解:(1)原01010101B 补01010101B(2)原11010101B 补10101011B(3)原01111111B 补01111111B(4)原11111111B 补10000001B(5)原01000000B 补01000000B(6)原11000000B 补11000000B10.写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)80解:(1)(00001111B)补(2)(11111111B)补(3)(01110101B)补(4)(00000000B)补(5)(11110001B)补(6)(01111111B)补(7)(10000000B)补(8)(01010000B)补11.设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);解:(1)1110B=14D(2)00001110B 进位舍弃(3)10100000B=-96D 溢出(4)11110010B=-14D(5)01100000B=96D 溢出(6)11110010B=-14D12.已知a,b,c,d为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B,计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c解:(1)01111100B(2)00011011B(3)00110011B(4)10100011B(5)11101000B(6)10110111B(7)11010001B(8)11B13.设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H, b=57H; (2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H解:(1)a+b=8EH溢出,a-b=E0H未溢出(2)8EH未溢出,E0H未溢出(3)CEH未溢出,20H未溢出(4)FEH未溢出70H未溢出14.求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)2006解:(1)0011 0010 0101 0001B = 3251H(2)0001 0010 1001 0111B = 12907H(3)0010 0000 0000 0110B = 2006H15.将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-23解:(1) 0011 1000B + 0100 0010B = 0111 1010B 低BCD码位需要加6修正0111 1010B + 0000 0110B = 1000 0000B = 80BCD(2) 0101 0110B + 0111 0111B = 1100 1101B 高、低BCD码位都需要加6修正1100 1101B + 0110 0110B = 0001 0011 0011B=133BCD(3) 1001 1001B+1000 1000B = 0001 0010 0001B 高、低BCD码位都需要加6修正0001 0010 0001B +0110 0110B = 0001 1000 0111B=187BCD(4) 0011 0100B + 0110 1001B = 1001 1101B 低BCD码位需要加6修正1001 1101B + 0000 0110B = 1010 0011B 修正结果使高BCD码位需要加6修正1010 0011B +0110 0000B = 0001 0000 0011B = 103BCD(5) 00111000B-01000010B =(-1)1111 0110B 高 BCD码位需要减6修正(-1)1111 0110B -0110 0000B =(-1)1001 0110B=-100+96=-4BCD(6)01110111B-01010110B = 0010 0001B = 21BCD(7) 00011001B-01110110B =(-1)1001 1111B 高、低BCD码位都需要减6修正(-1)1001 1111B -01100110B =(-1)0011 1001B = -100+39 = -61BCD(8)10001001B-00100011B = 0110 0110B = 66BCD16.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example 1;(2)XiDian University;(3)-108.652;(4)How are you?;(5)Computer(6)Internet Web解:(1)45H,78H,61H,6DH,70H,6CH,65H,20H,31H(2)58H,69H,44H,69H,61H,6EH,20H,55H,6EH,69H,76H,65H,72H,73H,69H,74H,79H (3)2DH,31H,30H,38H,2EH,36H,35H,32H(4)48H,6FH,77H,20H,61H72H,65H,20H79H,6FH,75H(5)43H,6FH,6DH,70H,75H,74H,65H,72H(6)49H,6EH,74H,65H72H,6EH,65H,74H,20H,57H,65H,62H17.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123<CR>456;(注:<CR>表示回车)(3)ASCII;(4)The number is 2315解:(1)48H,65H,6CH,6CH,6FH (2)31H,32H,33H,0DH,34H,35H,36H (3)41H,53H,43H,49H,49H (4)54H,68H,65H,20H,6EH,75H,6DH,62H,65H,72H第2章 8086 CPU 结构与功能1. 微处理器内部结构由哪几部分组成?阐述各部分的主要功能。
微机原理及接口技术课后习题及参考答案

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=.11B=43.6Q=23.CH③ 123.875D=.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=.B=494.109D ② 63.73Q=.B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=.B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补= ② [-1]补=③ [-0]补= ④[-128]补=1.6 ① [+355]补= 00011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。
微机原理课后习题答案

第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,求在各种寻址方式下源操作数的物理地址。
微机原理习题答案1234章

微机原理与接口技术楼顺天周佳社编著科学出版社2006年习题解答因时间紧,习题解答由部分老师提供,还没有经过仔细校对,肯定有不少错误,请各位指正。
另外,习题有多种解法,答案不唯一,仅供参考。
第1章数制与码制1.将下列十进制数转换成二进制数:(1)58;(2)67.625; (3)5721;解:(1)58D = 0011 1010B(2)67.625D = 0100 0011.1010B(3)5721D = 0001 0110 0101 1001B2.将二进制数变换成十六进制数:(1)1001 0101B;(2)11 0100 1011B;(3)1111 1111 1111 1101B;(4)0100 0000 10101B;(5)0111 1111B;(6)0100 0000 0001B解:(1)1001 0101B = 95H(2)11 0100 1011B = 34BH(3)1111 1111 1111 1101B = FFFDH(4)0 1000 0001 0101B = 815H(5)0111 1111B = 7FH(6)0100 0000 0001B = 401H3.将十六进制数变换成二进制数和十进制数:(1)78H;(2)0A6H;(3)1000H;(4)0FFFFH解:(1)78H = 120D = 0111 1000B(2)0A6H = 166D = 1010 0110B(3)1000H = 4096D = 0001 0000 0000 0000H(4)0FFFFH = 65535D = 1111 1111 1111 1111B4.将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.5625解:(1)39D = 27H(2)299.34375D = 12B.58H(3)54.5625D = 36.9H5.将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B解:(1)10110.101B = 22.625D(2)10010010.001B = 146.125D(3)11010.1101B = 26.8125D6.计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;解:(1)10100111B(2)11111100B(3)1010000B(4)19D9H(5)5796H(6)A4H7.已知a=1011B, b=11001B, c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b; (2)c-a-b; (3)a×b; (4)c÷b解:a=1011B=11D b=11001B=25D c=100110B =38D(1)100100B = 36D(2)10B = 2D(3)1 0001 0011B=275D(4)1B 余1101B= 13D8.已知a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b; (2)a OR b; (3)a XOR b; (4)NOT a解:(1)00000000B(2)11111111B(3)11111111B(4)11000111B9.设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B解:(1)原01010101B 补01010101B(2)原11010101B 补10101011B(3)原01111111B 补01111111B(4)原11111111B 补10000001B(5)原01000000B 补01000000B(6)原11000000B 补11000000B10.写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)80解:(1)(00001111B)补(2)(11111111B)补(3)(01110101B)补(4)(00000000B)补(5)(11110001B)补(6)(01111111B)补(7)(10000000B)补(8)(01010000B)补11.设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);解:(1)1110B=14D(2)00001110B 进位舍弃(3)10100000B=-96D 溢出(4)11110010B=-14D(5)01100000B=96D 溢出(6)11110010B=-14D12.已知a,b,c,d为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B,计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c解:(1)01111100B(2)00011011B(3)00110011B(4)10100011B(5)11101000B(6)10110111B(7)11010001B(8)11B13.设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H, b=57H; (2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H解:(1)a+b=8EH溢出,a-b=E0H未溢出(2)8EH未溢出,E0H未溢出(3)CEH未溢出,20H未溢出(4)FEH未溢出70H未溢出14.求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)2006解:(1)0011 0010 0101 0001B = 3251H(2)0001 0010 1001 0111B = 12907H(3)0010 0000 0000 0110B = 2006H15.将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-23解:(1) 0011 1000B + 0100 0010B = 0111 1010B 低BCD码位需要加6修正0111 1010B + 0000 0110B = 1000 0000B = 80BCD(2) 0101 0110B + 0111 0111B = 1100 1101B 高、低BCD码位都需要加6修正1100 1101B + 0110 0110B = 0001 0011 0011B=133BCD(3) 1001 1001B+1000 1000B = 0001 0010 0001B 高、低BCD码位都需要加6修正0001 0010 0001B +0110 0110B = 0001 1000 0111B=187BCD(4) 0011 0100B + 0110 1001B = 1001 1101B 低BCD码位需要加6修正1001 1101B + 0000 0110B = 1010 0011B 修正结果使高BCD码位需要加6修正1010 0011B +0110 0000B = 0001 0000 0011B = 103BCD(5) 00111000B-01000010B =(-1)1111 0110B 高 BCD码位需要减6修正(-1)1111 0110B -0110 0000B =(-1)1001 0110B=-100+96=-4BCD(6)01110111B-01010110B = 0010 0001B = 21BCD(7) 00011001B-01110110B =(-1)1001 1111B 高、低BCD码位都需要减6修正(-1)1001 1111B -01100110B =(-1)0011 1001B = -100+39 = -61BCD(8)10001001B-00100011B = 0110 0110B = 66BCD16.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example 1;(2)XiDian University;(3)-108.652;(4)How are you?;(5)Computer(6)Internet Web解:(1)45H,78H,61H,6DH,70H,6CH,65H,20H,31H(2)58H,69H,44H,69H,61H,6EH,20H,55H,6EH,69H,76H,65H,72H,73H,69H,74H,79H (3)2DH,31H,30H,38H,2EH,36H,35H,32H(4)48H,6FH,77H,20H,61H72H,65H,20H79H,6FH,75H(5)43H,6FH,6DH,70H,75H,74H,65H,72H(6)49H,6EH,74H,65H72H,6EH,65H,74H,20H,57H,65H,62H17.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123<CR>456;(注:<CR>表示回车)(3)ASCII;(4)The number is 2315解:(1)48H,65H,6CH,6CH,6FH (2)31H,32H,33H,0DH,34H,35H,36H (3)41H,53H,43H,49H,49H (4)54H,68H,65H,20H,6EH,75H,6DH,62H,65H,72H第2章8086 CPU结构与功能1.微处理器内部结构由哪几部分组成?阐述各部分的主要功能。
微机原理课后习题参考答案

上册第一章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)是联系微处理器内部与外部的重要通道,其主要功能是负责微处理器内部与外部的信息传递。
微机原理习题参考答案

第1章计算机基础知识1.2 课后练习题一、填空题1. 2.110001113.十,非压缩的BCD码 4.100100.111(100100.111B)5.微型计算机,微型计算机系统 6.二、选择题1.B 2.D 3. B三、简答题1.以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。
(微型计算机+软件系统,也可)2.冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。
其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。
(写出主要内容,即可)3.微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。
(只要答出五大组成部分即可)4.溢出就是在运算中,使用已经确定的二进制位数,没有办法表示运算结果。
第2章 8086/8088微处理器2.2 课后练习题一、填空题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. ×2. ×3. ×4.5. × 6.√ 7. √第3章指令系统3.2 课后练习题一、简答题1. L52. RET应该可以使中断服务程序返回主程序,但因为RETF是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。
微机原理课后习题参考答案_2011_简版

5. 设机器字长为 8 位。根据给出的不同形式的机器数,如下表,计算其对应的十进制表示的真值。 答: 二进制机器数 01101 1110 0101 1001 1000 1101 1111 1001 (若为)无符号数 110 89 141 249 (若为) 原码 110 89 -13 -121 (若为)反码 110 89 -114 -6 (若为)补码 110 89 -115 -7
第一章 一.思考题(略) 二.综合题 1. 设机器字长为 8 位,写出下列用真值表示的二进制数的原码、补码和反码。答: 真值 (1)+0010101B (2)+1110001B (3)+1010011B (4)-0010101B (5)-1111011B (6)-1001010B 原码 00010101 01110001 01010011 10010101 11111011 11001010 反码 00010101 01110001 01010011 11101010 10000100 10110101 补码 00010101 01110001 01010011 11101011 10000101 10110110
5CH 00H 7AH 53H 42H FFH 12H 00H 5BH 0AH
20A28H 20A29H H 20A2AH 20A2BH H 20A2CH 20A2DH H 20A2EH 20A2FH H 20A30H
堆栈必须为字操作
ห้องสมุดไป่ตู้
20A31H () H (2)SS=20A0H, SP=0028H 7. 若某存储单元的实际地址为 2BC60H,且该存储单元所在的段首地址为 2AF00H,则该存储单 元在段内的偏移地址为多少?答: 偏移地址=2BC60H-2AF00H=0D60H
微机原理习题解答1-4章

41H 12340H 42H 12341H 24H 12342H 30H 12343H 39H 12344H
30H 12340H 21H 12341H
×× 12342H ×× 12343H
78H 12340H 56H 12341H 34H 12342H 12H 12343H ×× 12344H
(2)ADD AL,DH
(3)ADC BX,CX
;AL=66H,CF=0、ZF=0、OF=0。
;BX=083EH,CF=0,ZF=0,OF=0。
(4)SUB AX,2710H;AX=1B25H,CF=0,ZF=0,OF=0。
(5)DEC BX
3-12 (1)AND AH,CL (2)OR BL,30H (3)NOT AX
2013年10月
西南交通大学电气工程学院
4
习题解答
1-9(3)[50+84]补=[50]补+[84]补=00110010B+01010100B =10000110B 0 0 1 1 0 0 1 0 + ) 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0
CsCp=01,正溢出。
(4)[72-8]补=[72]补+[-8]补=01001000B+11111000B
+1111111B 01111111B 01111111B 01111111B
+1000000B 01000000B 01000000B 01000000B
-0010101B 10010101B 11101010B 11101011B -1111111B 11111111B 10000000B 10000001B
目的操作数 寄存器寻址 寄存器寻址 寄存器寻址 基址寻址 寄存器寻址
(完整版)微机原理与接口习题1_4

第1章习题1、冯诺依曼计算机的内涵是什么?这种计算机的程序运行是由指令流驱动的还是数据流驱动的?2、微型计算机系统有哪三个层次?试简述它们的内涵及其联系和区别。
3、为什么把微型计算机的基本结构说成是总线结构?试简述总线结构的优点。
4、微型计算机硬件系统由哪些部分组成?各组成部分的功能是什么?5、计算机分那几类?各有什么特点?6、微处理器应包含的最基本功能部件是哪些?7、微计算机应包含的最基本功能部件是哪些?8、微型计算机系统有哪几部分组成,简述各部分功能特点?9、一个完整的计算机系统通常包括系统软件和应用软件、硬件系统和软件系统、计算机及其外部设备、系统硬件和系统软件这四种组合中的哪一种?第1章习题解答1、冯诺依曼计算机的内涵是什么?这种计算机程序运行是由指令流驱动的还是数据流驱动的?答:冯诺依曼计算机的内涵:由运算器、控制器、存储器、输入设备、输出设备5大部分组成计算机硬件。
数据和计算机指令采用二进制数形式表示,存储在计算机内部存储器中.计算机工作原理的核心是“存储程序”和“程序控制”。
事先编制好的由计算机指令组成的程序在执行前先装入存储器,控制器依据程序中的指令顺序周而复始地取出指令、分析指令、执行指令,根据指令的功能进行相应的运算,直到完成全部指令操作为止.程序的运行是通过指令流来驱动的。
2、微型计算机系统有哪三个层次?试简述它们的内涵及其联系和区别。
答:微型计算机系统的三个层次:微处理器、微型计算机和微型计算机系统.三者的内涵:微处理器是利用大规模集成电路技术,将组成计算机的核心部件—-运算器和控制器集成在一块硅片上的集成电路,简称MPU,习惯上称CPU.微型计算机则是以微处理器为核心,配以内存储器、输入/输出(I/O)接口电路,通过总线结构连接而构成的裸机。
微型计算机系统是由微型计算机配以相应的外围设备(如键盘、显示器、打印机、外存储器等)、电源和其他辅助设备(如面板、机架等),以及控制微型计算机工作的软件而构成的完整的计算系统。
《微机原理及应用》各章习题参考答案

《微机原理及应用》各章习题参考答案第1章微型计算机概论一、填空题1. 微机硬件系统主要由CPU、(存储器)、(总线)、(输入输出接口)和输入输出设备组成。
2. 冯·诺依曼计算机的核心原理是(存储程序原理)3. 完成下列数制的转换1)10100110B=( 166 )D=( A6H )H2)223.25 =( 11011111.01 )B=( DF.4 )H3)1011011.101B=( 5B.A )H=(1001 0001.01100010 0101 )BCD4. 已知[X]补5. 已知A=10101111,B=01010000,则A∧B的结果为( 00000000 ) B=86H,则X的十进制表示形式为( -122 )6. -29H的8位二进制反码是(11010110 )B7.字符4的ASCII码=( 34 )H二、简答题1.冯.诺依曼计算机的结构是怎样的,主要特点有哪些?解:将计算机设计为由运算器、控制器、存储器、输入设备和输出设备等5个部分组成,所有的执行都以运算器为核心,采用存储程序工作原理。
2. 已知X=-1101001B,Y=-1010110B,用补码方法求X-Y=?解:[X-Y]补=[X+(-Y)]补= [X]补+[-Y] [X]补原=11101001B [X]补 [-Y]=10010111B原=01010110B=[-Y] [X-Y]补补= [X]补+[-Y]补X-Y=[[X-Y]=11101101B补]补=10010011=-0010011=-193. 写出下列真值对应的原码和补码的形式:1)X=-1110011B2)X=-713)X=+1001001B解:1)[X]原码=11110011B , [X]补码=10001101B2)[X]原码=11000111B, [X]补码=10111001B3)[X]原码=01001001, [X] 补码=01001001B=?4. 已知X和Y的真值,求[X+Y]补1)X=-1110111B Y=+1011010B2)X=56 Y=-215. 若与门的输入端A、B、C的状态分别为1、0、1,则该与门的输出端状态为?若将这3位信号连接到或门,那么或门的输出又是什么状态?解:由与和或的逻辑关系知,若“与”门的输入端有一位为“0”,则输出为“0”;若“或”门的输入端有一位为“1”,则输出为“1”。
微机原理一至四章课后习题

第一章习题1简答:微处理器也叫CPU或中央处理器,包括运算器、控制器、寄存器组和内部总线。
微型计算机包括CPU、内存、I/O接口、系统总线。
微型计算机系统由硬件系统和软件系统共同构成微型机系统,是相辅相成的,缺一不可关系:微型计算机是以微处理器为核心,微型计算机系统是以微型计算机为核心,它们都不能独立工作,只有微型计算机系统才是完整的数据处理系统,才具有实用意义。
2简答:微型计算机由CPU、内存、I/O接口、系统总线组成。
3简答:在CPU内部连接各寄存器及运算部件之间的总线称为微处理器总线,即内部总线。
总线由三类传输线组成:数据线、地址线和控制线。
4答:微型计算机的工作过程就是逐条执行指令序列的过程,也就是不断的取指令和执行指令的过程。
在去指令阶段,把指令的地址赋给程序计数器PC,CPU从内存中读出的内容为指令,把它送入指令寄存器,由指令译码器译码,经控制器发出相应的控制信号。
在执行指令阶段,CPU执行指令所规定的具体操作。
一条指令执行完毕,就转入下一条指令的取指令阶段,这样周而复始的循环直到程序结束。
第二章习题一、填空题1、执行部件EU的组织有:,和。
2、8086CPU从偶地址访问内存1个字时需占用周期,而从奇地址访问内存1个字操作需占用周期。
3、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为字节。
4、8086微处理机在最小模式下,用来控制输出地址是访问内存还是访问I/O。
5、一台计算机能执行多少种指令,是在时确定的。
二、单项选择题1、微型计算机的性能主要由来决定。
A、价钱B、CPUC、控制器D、其它2、对微处理器而言,它的每条指令都有一定的时序,其时序关系是A、一个时钟周期包括几个机器周期,一个机器周期包括几个指令周期。
B、一个机器周期包括几个指令周期,一个指令周期包括几个时钟周期。
C、一个指令周期包括几个机器周期,一个机器周期包括几个时钟周期。
D、一个指令周期包括几个时钟周期,一个时钟周期包括几个机器周期。
微机原理与接口技术第1~4章作业题及补充题解答

习题1 (P14)4、试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?解:内存单元的地址和内容如图,在存储器中,每个存储单元都有一个地址,每个单元可存放一个字节。
任何相邻字节单元可以存放一个字,一个字占用2个地址中小的那个地址作为该字的地址,并且较高存储器地址的字节是该字节的高8位,较低存储器地址的字节是该字节的低8位。
如图X表示某存储单元的地址,则X单元的内容(X)表示。
假如X单元中存放着Y,则(X)=Y。
而Y又是一个地址(数值上),则可用((X))来表示Y单元里的内容。
9、把下列十进制数转化为二进制数、八进制数和十六进制数。
(1)4.85 (2)255 (3)256解:(1)4.85=100.1B=4.6Q=4.DH(2)255=11111111B=377Q=0FFH(3)256=100000000B=400Q=100H10、把下列数转化为十进制数。
(1)10001100B (2)27Q (3)1FH解:(1)10001100B=2^7+2^3+2^2=140(2)27Q=2*8+7=23(3)1FH=16+15=3115、给出十进制数—30的原码、反码、补码(8位二进制数)的形式,并指出8位二进制原码、反码、补码所能表示的数值范围(用十进制数表示)。
解:[—30D]原=10011110B=9EH[—30D]反=11100001B=0E1H[—30D]补=11100010B=0E2H8位二进制数原码表示的数值范围:—127~+127;反码表示的数值范围:—127~+127;当补码表示无符号数时,表示的数值范围为:0~255,当补码表示有符号数时,表示的数值范围为:—128~+127.16、用组合和非组合BCD码分别表示十进制数388和12。
解:组合:388D=(0011 1000 1000)BCD12D=(0001 0010)BCD非组合:388D=(00000011 00001000 00001000)BCD12D=(00000001 00000010)BCD习题2 (P43)3、8086CPU的标志寄存器中有哪些标志位?它们的含义和作用是什么?解:(1)有6个状态标志位CF、OF、ZF、SF、AF、PF;3个控制标志位DF、IF、和TF。
微机原理课后习题答案

微机原理课后习题答案《微机原理》课后习题答案第⼀章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位两种情况,求下列⼗进制数的补码。
微机原理与接口技术第1~4章作业题及补充题解答

习题1 (P14)4、试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?解:内存单元的地址和内容如图,在存储器中,每个存储单元都有一个地址,每个单元可存放一个字节。
任何相邻字节单元可以存放一个字,一个字占用2个地址中小的那个地址作为该字的地址,并且较高存储器地址的字节是该字节的高8位,较低存储器地址的字节是该字节的低8位。
如图X表示某存储单元的地址,则X单元的内容(X)表示。
假如X单元中存放着Y,则(X)=Y。
而Y又是一个地址(数值上),则可用((X))来表示Y单元里的内容。
9、把下列十进制数转化为二进制数、八进制数和十六进制数。
(1)4.85 (2)255 (3)256解:(1)4.85=100.1B=4.6Q=4.DH(2)255=11111111B=377Q=0FFH(3)256=100000000B=400Q=100H10、把下列数转化为十进制数。
(1)10001100B (2)27Q (3)1FH解:(1)10001100B=2^7+2^3+2^2=140(2)27Q=2*8+7=23(3)1FH=16+15=3115、给出十进制数—30的原码、反码、补码(8位二进制数)的形式,并指出8位二进制原码、反码、补码所能表示的数值范围(用十进制数表示)。
解:[—30D]原=10011110B=9EH[—30D]反=11100001B=0E1H[—30D]补=11100010B=0E2H8位二进制数原码表示的数值范围:—127~+127;反码表示的数值范围:—127~+127;当补码表示无符号数时,表示的数值范围为:0~255,当补码表示有符号数时,表示的数值范围为:—128~+127.16、用组合和非组合BCD码分别表示十进制数388和12。
解:组合:388D=(0011 1000 1000)BCD12D=(0001 0010)BCD非组合:388D=(00000011 00001000 00001000)BCD12D=(00000001 00000010)BCD习题2 (P43)3、8086CPU的标志寄存器中有哪些标志位?它们的含义和作用是什么?解:(1)有6个状态标志位CF、OF、ZF、SF、AF、PF;3个控制标志位DF、IF、和TF。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章习题1简答:微处理器也叫CPU或中央处理器,包括运算器、控制器、寄存器组和内部总线。
微型计算机包括CPU、内存、I/O接口、系统总线。
微型计算机系统由硬件系统和软件系统共同构成微型机系统,是相辅相成的,缺一不可关系:微型计算机是以微处理器为核心,微型计算机系统是以微型计算机为核心,它们都不能独立工作,只有微型计算机系统才是完整的数据处理系统,才具有实用意义。
2简答:微型计算机由CPU、内存、I/O接口、系统总线组成。
3简答:在CPU内部连接各寄存器及运算部件之间的总线称为微处理器总线,即内部总线。
总线由三类传输线组成:数据线、地址线和控制线。
4答:微型计算机的工作过程就是逐条执行指令序列的过程,也就是不断的取指令和执行指令的过程。
在去指令阶段,把指令的地址赋给程序计数器PC,CPU从内存中读出的内容为指令,把它送入指令寄存器,由指令译码器译码,经控制器发出相应的控制信号。
在执行指令阶段,CPU执行指令所规定的具体操作。
一条指令执行完毕,就转入下一条指令的取指令阶段,这样周而复始的循环直到程序结束。
第二章习题一、填空题1、执行部件EU的组织有:,和。
2、8086CPU从偶地址访问内存1个字时需占用周期,而从奇地址访问内存1个字操作需占用周期。
3、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为字节。
4、8086微处理机在最小模式下,用来控制输出地址是访问内存还是访问I/O。
5、一台计算机能执行多少种指令,是在时确定的。
二、单项选择题1、微型计算机的性能主要由来决定。
A、价钱B、CPUC、控制器D、其它2、对微处理器而言,它的每条指令都有一定的时序,其时序关系是A、一个时钟周期包括几个机器周期,一个机器周期包括几个指令周期。
B、一个机器周期包括几个指令周期,一个指令周期包括几个时钟周期。
C、一个指令周期包括几个机器周期,一个机器周期包括几个时钟周期。
D、一个指令周期包括几个时钟周期,一个时钟周期包括几个机器周期。
3、属于数据寄存器组的寄存器是A、AX,BX,CX,DSB、SP,DX,BP,IPC、AX,BX,CX,DXD、AL,DI,SI,AH4、微型计算机的ALU部件是包含在之中。
A、存贮器B、I/O接口C、I/O设备D、CPU5、在8086和8088汇编语言中,一个字能表示的有符号数的范围是A、-32768≤n≤32768B、-32768≤n≤32767C、-65535≤n≤65535D、-65536≤N≤655356、80386微型计算机是32位机,根据是它的。
A、地址线是32位B、数据线为32位C、寄存器是32位的D、地址线和数据线都是32位7、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为()A.02120H B.20120H C.21200H D.03200H8、在存贮器读周期时,根据程序计数器PC提供的有效地址,使用从内存中取出()A.操作数 B.操作数地址 C.转移地址 D.操作码9、8086/8088系统中,对存贮器进行写操作时,CPU输出控制信号有效的是()A.W/IO=1, WR=0B. WR=1C.M/IO=0, RD=0D.RD=010、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是()A.IN AL,端口地址B.MOV AL,端口地址C.OUT AL,端口地址D.OUT 端口地址,AL三、简答题1.微处理器内部结构由哪些部件组成?2.论述8086 CPU的最小方式和最大方式的区别。
3.论述指令周期、机器周期和时钟周期间的关系。
4.试比较8086CPU与8086CPU的异同之处。
5.8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?6.8086系统中的物理地址是如何得到的?假如CS=2500H,IP=2l00H,其物理地址是多少?7.什么是最大模式?什么是最小模式?用什么方法将8086/8088置为最大模式和最小模式?8.存储器分段组织有何优越性?9.试述BHE与A0组合如何选择数据字?10.CPU响应中断时,为什么要执行两个连续的中断响应周期?11.答案:一、填空题1、4个通用寄存器、4个专用寄存器、1个标志寄存器和算术逻辑部件2、1个总线、2个总线3、64K4、M/IO5、设计二单项选择题1、B 2、C 3、C 4、D 5、B 6、D 7、B 8、D 9、A 10、D三、简答题1、答案:微处理器由两部分组成,总线接口单元和执行单元2、8086CPU的最小方式和最大方式的区别是:最小方式,MN/MX接+5V(MX为低电平),用于构成小型单处理机系统,支持系统工作的器件:(1)时钟发生器,8284A,(2)总线锁存器,74LS373,(3)总线收发器,74LS245,控制信号由CPU提供。
最大方式,MN/MX接地(MX为低电平),用于构成多处理机和协处理机系统,支持系统工作的器件:(1)时钟发生器,8284A,(2)总线锁存器,74LS373,(3)总线收发器,74LS245,(4)总线控制芯片,8288,控制信号由8288提供。
3、答:(1).执行一条指令所需要的时间称为指令周期;(2).一个CPU同外部设备和内存储器之间进行信息交换过程所需要的时间称为总线周期;(3).时钟脉冲的重复周期称为时钟周期;(4).一个指令周期由若干个总线周期组成,一个总线周期又由若干个时钟周期组成;(5). 8086CPU的总线周期至少由4个时钟周期组成;(6).总线周期完成一次数据传输包括:传送地址,传送数据;(7)等待周期----在等待周期期间,总线上的状态一直保持不变;(8)空闲周期----总线上无数据传输操作4、8088CPU和8086CPU内部寄存器都是16位,数据总线都有是16位,地址总线都有是20位,指令系统相同。
主要不同点有:(1)8086指令队列是6个字节长,而8088指令队列是4个字节长。
(2)外部数据总线位数不同,8086为16位AD0~AD15,8088为AD0~AD7(3)34脚和28脚功能不同,34脚8086中是数据总线允许BHE/S7,8088是SSO,28脚,8086是M/IO,8088是IO/M5、8086从功能上可分为执行单元和总线接口单元。
执行单元的功能是负责指令的执行,将指令译码并利用内部寄存器和ALU对数据进行处理。
它由4个通用寄存器(AX、BX、CX、DX),4个专用寄存器(BP、SP、SI和DI),标志寄存器和算术逻辑部件组成。
总线接口单元的功能是存储器、I/O端口传送数据。
它由4 个段寄存器(CS、DS、ES、SS),指令指针寄存器IP,20位地址加法器和6个字节的指令队列组成。
6、在8086系统中,用16位的段地址和16位的偏移地址来表示20位的物理地址,物理地址=段地址*10+偏移址得到物理地址。
该题CS=2500H,IP=2l00H,则物理地址=CS*10+IP=2500H*10+2100H=27100H7、最大模式是相对最小模式而言,系统中包含两个或多个处理品,其中一个主处理器就是8088/8086,其它处理器是协处理器,它是协助主处理器工作的。
将MN/MX*置0即为最大模式。
最小模式又是相对于最大模式,就是在系统中只有一个处理器,所有的总线控制信号都有由8088/8086产生,系统中总线控制逻辑电路少,将MN/MX*置1即为最大模式。
8、减少了指令的长度,提高了执行速度。
内存分段为程序浮动加载创造了条件。
使程序保持完整的相对性,具备了浮动性。
9、BHE的作用是高8位数据允许,A0=0是低8位数据允许,在T1状态时,BHE和A0组合起来表示连接在数据总线上的存储器和I/O端口当前的数据在总线上出现有格式。
10、CPU响应中断时,执行两个连续的中断响应周期,每个响应周期都给出中断响应信号INT A。
这是因为第一个总线周期通知中断请示设备,微处理器准备响应中断,应该准备好中断类型码,第二个总线周期中,微处理器接收中断类型码,以便得到中断向量,即中断服务程序的入口地址。
第三章一、问答题1、下列字符表示成相应的ASCII码是多少?(1)换行(2)字母“Q”(3)空格2、下列各机器数所表示数的范围是多少?(1)8位二进制无符号定点整数;(2)8位二进制无符号定点小数;(3)16位二进制无符号定点整数;(4)用补码表示的16位二进制有符号整数;3、(111)X=273,基数X=?4、有一个二进制小数X=0.X1X2X3X4X5X6(1)若使X≥1/2,则X1……X6应满足什么条件?(2)若使X>1/8,则X1……X6应满足什么条件?5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。
(1)X和Y两个数均为无符号数;(2)X和Y两个数均为有符号的补码数。
二、填空题1、对于R进制数来说,其基数(能使用的数字符号个数)是,能使用的最小数字符号是。
2、十进制数72转换成八进制数是。
3、与十进制数67等值的十六进制数是。
4、二进制数101.011转换成十进制数是。
5、十六进制数0E12转换成二进制数是。
三、选择题1、在计算机内部,一切信息的存取、处理和传送都是以形式进行的。
A)EBCDIC码B)ASCII码C)十六进制编码D)二进制编码2、与十进制数56等值的二进制数是。
A)111000 B)111001 C)101111 D)1101103、十进制数59转换成八进制数是。
A)73Q B)37Q C)59Q D)112Q4、与十进制数58.75等值的十六进制数是。
A)A3.CH B)3A.CH C)3A.23H D)C.3AH5、二进制数1101.01转换成十进制数是。
A)17.256 B)13.5 C)13.25 D)17.56、二进制数111010.11转换成十六进制数是。
A)3ACH B)3A.CH C)3A3H D)3A.3H7、十六进制数1CB.D8转换成二进制数是。
A)110001011.11001 B)111101011.11101C)111101011.11101 D)111001011.110118、将十六进制数FF.1转换成十进制数是。
A)255.625 B)2501625 C)255.0625 D)250.06259、十进制正数43的八位二进制原码。
A)00110101 B)00101011 C)10110101 D)1010101110、十进制正数38的八位二进制补码是。
A)00011001 B)10100110 C)10011001 D)00100110四、是非判断题1、在第三代计算机期间出现了操作系统。
()2、对于种类不同的计算机,其机器指令系统都是相同的。