微机原理第一章习题及答案

合集下载

微机原理课后答案详解(朱红刘景萍)-南理工的哦

微机原理课后答案详解(朱红刘景萍)-南理工的哦

微机原理课后答案详解(朱红刘景萍)-南理工的哦第一章习题答案一、选择题1.十进制数66转换成二进制数为_______。

A.11000010B.01100110C.11100110D.01000010答案:D2.十进制数27.25转换成十六进制数为_______。

A.B1.4HB.1B.19HC.1B.4HD.33.4H答案:C3.下列数中最小的是________。

A.(101001)2B.(52)8C.(2B)16D.(50)10答案:A4.若一个数的BCD编码为00101001,则该数与______相等。

A.41HB.121DC.29DD.29H答案:C5.十进制数9874转换成BCD数为________。

A.9874HB.4326HC.2692HD.6341H答案:A6.BCD数64H代表的真值为_______。

A.100B.64C.-100D.+100答案:B7.十六进制数88H,可表示成下面几种形式,错误的表示为_______。

A.无符号十进制数136B.带符号十进制数-120C.压缩型BCD码十进制数88D.8位二进制数-8的补码表示答案:D8.若[A]原=10111101,[B]反=10111101,[C]补=10111101,以下结论正确的是______。

A.C最大B.A最大C.B最大D.A=B=C答案:B9.8位二进制补码表示的带符号数10000000B和11111111B的十进制数分别是____。

A.128和255B.128和-1C.-128和255D.-128和-1答案:D10.微机中地址总线的作用是___________。

A.用于选择存储器单元 B.用于选择进行信息传输的设备C.用于指定存储器单元和I/O设备接口单元的选择地址D.以上选择都不对答案:C11.计算机中表示地址使用____。

A.无符号数B.原码C.反码D.补码答案:A二、填空题1.计算机的主机由_______、控制器、主存储器组成。

(完整版)微机原理答案1

(完整版)微机原理答案1

(完整版)微机原理答案1第 1 章微型计算机系统概述习题参考答案1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由CPU、存储器、输入/输出接口及系统总线组成。

CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。

暂存少量数据。

对指令译码并执行指令所规定的操作。

与存储器和外设进行数据交换的能力。

提供整个系统所需要的定时和控制信号。

响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU和外设之间起适配作用。

1-2.CPU 执行指令的工作过程。

答:指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。

(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。

存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。

(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。

(4)修改程序计数器的内容。

1-3.果微处理器的地址总线为20 位,它的最大寻址空间为多少?答:220=1048576=1MB1-4.处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核心部件。

微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。

以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。

1-5.下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制:80H 65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH1024,二进制:10000000000B,八进制:2000O,十六进制:400H1-6.下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:1011.1010B,十进制:11.625,十六进制:B.AH111101.11B,十进制:125.75,十六进制:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111 B1-8.设字长为8 位,请写出下列数的原码、反码、补码和移码:15,-20,-27/32 答:[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111 [-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100 [-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100,[-27/32]移=0.0010100第 2 章微型计算机系统的微处理器习题参考答案2-1.086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit),执行部件EU (Execution Unit)。

微机原理课后习题解答

微机原理课后习题解答

微机原理习题第一章绪论习题与答案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 例 题1.把十进制数137.875转化为二进制数。

P7解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。

整数部分:一般采用除2取余法小数部分:一般采用乘2取整法余数 低位 整数 高位 2 | 137 0.8752 | 68 × 22 | 34 1.7502 | 17 × 22 | 8 1.5002 | 4 × 2 2 | 2 1.0001 高位 低位 (137)10=(10000111)2 (0.875)10=(0.1101)2所以,(137.875)10=(10001001.111)22.把二进制数10011.0111转换为八进制数和十六进制数。

P9解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。

(10 011.011 1)2=(010 011.011 100)2=(23.34)8(1 0011.0111)2=(0001 0011.0111)2=(13.7)163.将八进制数23.34转换为二进制数。

P9解:(23.34)8=(010 011.011 100)2=(10011.0111)24.X=0.1010,Y=-0.0111,求[X -Y]补,并判断是否有溢出?P11解:[X -Y]补=[X]补+[-Y]补[X]补=0.1010 [Y]补=1.1001 [-Y]补=0.01110.10100.01111.0001说明:当异号相减运算时,通过补码,减法运算转化为两个正数的加法运算,结果为负(符号位为1),表示运算结果溢出。

+ -------------- 1 -------------- 0 -------------- 0 -------------- 1 -------------- 0 -------------- 0 -------------- 0 -------------- 1 ------------- 1 ------------- 1------------- 15.10010101B分别为原码、补码、BCD码表示时,对应的十进制数为多少?解:[X]原=10010101,X=-21[X]补=10010101,[X]原=11101011,X=-107[X]BCD=10010101,X=956.简述计算机为什么能实现自动连续的运行?解:计算机能实现自动连续的运行,是由于计算机采用了存储程序的工作原理。

微机原理答案第一章习题答案

微机原理答案第一章习题答案

微机原理答案第⼀章习题答案第⼀章习题1 什么是冯·诺依曼机?答:冯·诺依曼在1946 年提出了⼀个完整的现代计算机的结构雏型,它由5 个部分组成,即运算器、控制器、存储器、输⼊设备和输出设备。

运算器负责指令的执⾏;控制器的作⽤是协调并控制计算机的各个部件按程序中排好的指令序列执⾏;存储器是具有记忆功能的器件,⽤于存放程序和需要⽤到的数据及运算结果;⽽输⼊/输出设备则是负责从外部设备输⼊程序和数据,并将运算的结果送出。

1. 什么是冯.诺伊曼计算机1946年6⽉,美籍匈⽛利科学家冯·诺依曼(Johe Von Neumman)提出了“存储程序”的计算机设计⽅案。

按照这⼀原理设计的计算机称为冯·诺依曼型计算机。

特点:(1)采⽤⼆进制数形式表⽰数据和计算机指令。

(2)指令和数据存储在计算机内部存储器中,能⾃动依次执⾏指令。

(3)由控制器、运算器、存储器、输⼊设备、输出设备5⼤部分组成计算机硬件。

(4)⼯作原理的核⼼是“存储程序”和“程序控制”。

冯·诺依曼提出的体系结构奠定了现代计算机结构理论的基础,被誉为计算机发展史上的⾥程碑。

2.微处理器,微型计算机,微型计算机系统有什么联系与区别?微处理器只是⼀个中央处理器(CPU),由算术逻辑部件(ALU),累加器和通⽤寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。

微处理器不能构成独⽴⼯作的系统,也不能独⽴执⾏程序,必须配上存储器,外部输⼊、输出接⼝构成⼀台微型计算机⽅能⼯作。

微型计算机由CPU,存储器,输⼊/输出接⼝电路和系统总线组成。

它已具有计算功能,能独⽴执⾏程序,但若没有输⼊/输出设备,数据及程序不能输⼊,运算结果⽆法显⽰或输出,仍不能正常⼯作。

以微型计算机为主体,配上外部输⼊/输出设备及系统软件就构成了微型计算机系统。

没有配置软件的计算机称为裸机,仍然什么⼯作也不能做,必须配置系统软件和应⽤软件,这样才可以正常提供使⽤。

微机原理习题集答案

微机原理习题集答案

第1章 概述1.电子计算机主要由.电子计算机主要由 运算器运算器 、 控制器控制器 、 存储器存储器 、 输入设备输入设备 和 输出设备输出设备 等五部分组成。

等五部分组成。

等五部分组成。

2. 运算器运算器 和 控制器控制器 集成在一块芯片上,被称作CPU CPU。

3.总线按其功能可分.总线按其功能可分 数据总线数据总线 、 地址总线地址总线 和 控制总线控制总线 三种不同类型的总线。

三种不同类型的总线。

4.计算机系统与外部设备之间相互连接的总线称为.计算机系统与外部设备之间相互连接的总线称为 系统总线(或通信总线)系统总线(或通信总线) ;用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ; CPU 内部连接各寄存器及运算部件之间的总线称为内部连接各寄存器及运算部件之间的总线称为 内部总线内部总线 。

5.迄今为止电子计算机所共同遵循的工作原理是迄今为止电子计算机所共同遵循的工作原理是 程序存储程序存储 和 程序控制程序控制 的工作原理。

的工作原理。

这种原理又称这种原理又称为 冯·诺依曼型冯·诺依曼型 原理。

原理。

第3章 微处理器及其结构1.8086/8088 CPU 执行指令中所需操作数地址由执行指令中所需操作数地址由 EU EU EU 计算出计算出计算出 16 16 16 位偏移量部分送位偏移量部分送位偏移量部分送 BIU BIU BIU ,由,由,由 BIU BIU BIU 最后最后形成一个形成一个 20 20 20 位的内存单元物理地址。

位的内存单元物理地址。

2.8086/8088 CPU CPU在总线周期的在总线周期的在总线周期的T1 T1 T1 时刻,用时刻,用时刻,用A19/S6A19/S6A19/S6~~A16/S3 A16/S3 输出输出输出 20 20 20 位地址信息的最高位地址信息的最高位地址信息的最高 4 4 4 位,而在位,而在其他时钟周期,则输出其他时钟周期,则输出 状态状态 信息。

微机原理第一章练习题及解答

微机原理第一章练习题及解答

微机原理第一章练习题及解答一:单项选择题●若二进制数为010111.101,则该数的十进制表示为( B )。

A:23.5 B:23.625C:23.75 D:23.5125●若无符号二进制数为11000110,则该数的十进制表示为( A )。

A:198 B:70C:126 D:49●十进制数81的8421BCD码为( A )。

A:81H B:51HC:18H D:15H●11000110为二进制原码,该数的真值为( B )。

A:-70 B:+70C:-198 D:+198●11000110为二进制补码,该数的真值为( D )。

A:+198 B:-198C:+58 D:-58●01000110为二进制补码, 该数的真值为( A )。

A:+70 B:-70C:+58 D:-58●字符A的ASCII码为41H,字符a的ASCII码为( C )。

A:41H B:42HC:61H D:62H●字符A的ASCII码为41H,字符B的ASCII码为( B )。

A:41H B:42HC:61H D:62H●字符9 的ASCII码为( C )。

A:09H B:9C:39H D:99●8位二进制数的原码表值范围为( C )。

A:0 ~ 255 B:-128 ~ +127C:-127 ~ +127 D:-128 ~ +128●8位二进制数的反码表值范围为( C )。

A:0 ~ 255 B:-128 ~ +127C:-127 ~ +127 D:-128 ~ +128●8位二进制数的补码表值范围为( B )。

A:0 ~ 255 B:-128 ~ +127C:-127 ~ +127 D:-128 ~ +128●8位二进制数的无符号数表值范围为( A )。

A:0 ~ 255 B:-128 ~ +127C:-127 ~ +127 D:-128 ~ +128●n+1位符号数X的原码表值范围为( A )。

A:-2n<X <2 n B:-2 n≤X ≤2 nC:-2 n≤X <2 n D:-2 n<X ≤2 n●n+1位符号数X的补码表值范围为( C )。

微机原理习题与答案

微机原理习题与答案

微机原理习题与答案微机原理习题与答案第一章微机基础1-1微处理器、微机与微机系统三者之间有什么不同?答: 微处理器一般也称为CPU,它本身具有运算能力和控制功能。

微型计算机是由CPU、存储器、输入/输出接口电路和系统总线构成的裸机系统。

微型计算机系统是以微型计算机为主机,配上系统软件和外设之后而构成的计算机系统。

微处理器是微型计算机的一组成部分,而微型计算机又是微型计算机系统的一组成部分。

1-2 CPU在内部结构上由那几部分组成?答:8位CPU在内部结构上由寄存器阵列、算术逻辑运算单元ALU、控制器和内部总线及缓冲器等部分组成。

1-3总线接口部件有哪些功能? 8086的执行部件有什么功能?答:总线接口部件的功能是负责与存储器、I/O端口传送数据。

执行部件的功能是负责指令的执行。

1-4 8086/8088的状态标志和控制标志分别有哪些?答:8086/8088的状态标志有6个:CF、AF、SF、PF、OF、ZF,控制标志有3个:TF、DF、IF。

1-5 8086/8088和传统的8位计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?答:8位饥是取一条指令,执行一条,再取,再执行;8088执行时,取指与执行几乎是同时进行的。

1-6 8086/088微处理器中有哪些寄存器?通用寄存器中哪些可以作地址指针用?答:8086/8088各有14个寄存器,它们可分为3组:(1)四个通用寄存器和四个变址和指针寄存器,即AX,BX,CX,DX,SP,BP,SI,DI。

(2)四个段寄存器,即CS,DS,SS,ES。

(3)两个控制寄存器,即IP,FR。

1-7 8086/8088 20位物理地址是怎么样形成的?当CS=2000H,IP=0100H,其指向的物理地址等于多少?答:物理地址=段地址×16+段内偏移地址。

201002-1 试述8088微处理器的各种寻址方式,并写出各种寻址方式的传送指令1~~2条(源操作数寻址与目的操作数寻址)答:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,变址寻址,基址加变址寻址。

微机原理习题及答案

微机原理习题及答案

微机原理习题册第 1 章数制和码制1.将下列十进制数分别转换为二进制数(4)(1)147 (2)4095 (3)解:147=B 4095=B= =2. 将下列二进制数分别转换为十进制数(3)(1)(2).001B解:= .001B==3.将二进制数转换成十六进制数(1)B(2)11B(3)101B (4)0B(5)01111111B(6)0B 解:(1)95H(2)34BH(3)FFFDH(4)0815H(5)7FH(6)401H4.已知 a=1011B, b=11001B, c=100110B,按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b;解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=1B=275 (4)c/b=1……1101B(=13)5.设机器字长为 8 位,写出下列各数的原码和补码:(1)+1010101B (2)-1010101B (3)+1111111B (4)-1111111B (5)+1000000B (6)-1000000B 解:(1)+1010101B 原码 01010101B 补码 01010101B(2)-1010101B 原码 B 补码 B(3)+1111111B 原码 01111111B 补码 01111111B(4)-1111111B 原码 B 补码 B(5)+1000000B 原码 01000000B 补码 01000000B(6)-1000000B 原码 B 补码 B6.已知 a=00111000B,b=B,计算下列逻辑运算:(1)aAND b;(2)a OR b;(3)a XOR b;(4)NOT a;解:(1)00000000B(2)1B(3)1B(4)B7.求下列组合 BCD 数的二进制和十六进制表示形式:()(1)3251;(2)12907;(3)2006 解:(1)0011 0010 0101 0001B,3251H(2)0001 0010 1001 0000 0111 B , 12907H(3)0010 0000 0000 0110B , 2006H8.设下列四组为 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章计算机基础知识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得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。

微机原理习题答案(完整版)

微机原理习题答案(完整版)

第一章习题答案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 将下列补码转化成二进制数的真值。

微机原理习题与答案

微机原理习题与答案

微机原理习题册第1 章数制和码制1.将下列十进制数分别转换为二进制数(4)0.15625(1)147 (2)4095 (3)0.625解:147=10010011B 4095=1B0.625=0.101B 0.15625=0.00101B2. 将下列二进制数分别转换为十进制数(3)11010.1101B(1)10110.101B (2)10010010.001B解:10110.101B=22.625 10010010.001B=146.062511010.1101B=26.81253.将二进制数转换成十六进制数(1)10010101B(2)1101001011B(3)11101B (4)01B(5)01111111B(6)1B 解:(1)95H(2)34BH(3)FFFDH(4)0815H(5)7FH(6)401H4.已知a=1011B, b=11001B, c=100110B,按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b;解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=100010011B=275 (4)c/b=1……1101B(=13)5.设机器字长为8 位,写出下列各数的原码和补码:(1)+1010101B (2)-1010101B (3)+1111111B (4)-1111111B(5)+1000000B (6)-1000000B 解:(1)+1010101B 原码01010101B 补码01010101B(2)-1010101B 原码11010101B 补码10101011B(3)+1111111B 原码01111111B 补码01111111B(4)-1111111B 原码11111111B 补码10000001B(5)+1000000B 原码01000000B 补码01000000B(6)-1000000B 原码11000000B 补码11000000B6.已知a=00111000B,b=11000111B,计算下列逻辑运算:(1)aAND b;(2)a OR b;(3)a XOR b;(4)NOT a;解:(1)00000000B(2)111111111B(3)111111111B(4)11000111B7.求下列组合BCD 数的二进制和十六进制表示形式:(1.14)(1)3251;(2)12907;(3)2006 解:(1)0011 0010 0101 0001B,3251H (2)0001 0010 1001 0000 0111 B , 12907H(3)0010 0000 0000 0110B , 2006H8.设下列四组为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章习题与思考题1、将下列二进制数转换成十进制数、BCD数。

解题方法:按权展开,十进制运算;四位二进制码对应一位十进制数字A、01000100B =1⨯26+1⨯22=64+4=68=(01101000B)BCDB、00110111B =1⨯25+1⨯24+1⨯22+1⨯21+1⨯20=32+16+4+2+1=55=(01010101B)BCDC、00101101B =1⨯25+1⨯23+1⨯22+1⨯20=32+8+4+1=45=(01000101B)BCDD、01001111B =1⨯26+1⨯23+1⨯22+1⨯21+1⨯20=32+8+4+2+1=79=(01111001B)BCD2、完成下列二进制无符号数的加法运算。

A、00011101+00000101 =00100010BB、10010110+01101111=100000101BC、00111110+11100011=100100001BD、10101010+11001101=101110111B3、完成下列二进制数的逻辑“与”、“或”、“异或”运算。

解题方法:位对位逻辑运算A、10110011和1110000110110011∧11100001=10100001B10110011∨11100001=11110011B10110011 ⊕11100001=01010010BB、10101010和0011001110101010∧00110011=00100010B10101010∨00110011=10111011B10101010 ⊕00110011=10011001BC、01110001和1111111101110001∧11111111=01110001B01110001∨11111111=11111111B01110001⊕11111111=10001110BD、00111110和0000111100111110∧00001111=00001110B00111110∨00001111=00111111B00111110 00001111=00110001B4、完成下列十六进制无符号数的加、减运算。

微机原理复习题_第1、7章_序论、中断系统

微机原理复习题_第1、7章_序论、中断系统

第一章序论一.填空题1.与十进制数45等值的二进制数是______;与十进制数67等值的十六进制数是______。

答案:101101B;43H技巧:45=16×2+13=2DH=101101B ; 67=16×4+3=43H2.(250)10=()16=()2=()8答案:FA;11111010;372技巧:250=16×15+10=FAH=1111 1010B=372Q3.若X= -1010100,机器字长为8,则[X]原码 =______,[X]反码 =______ ,[X]补码 =______。

答案:11010100;10101011;101011004.对于字长为8的定点整数,其原码、反码的表示范围是______,补码的表示范围是______。

若N=-1010100,n=8,则[N]原码=______,[N]反码=______,[N]补码=______。

答案:-127~+127;-128~+127;11010100;10101011;101011005.已知X= +1011001,则 [X]补=______;已知Y =-1011001,则 [Y]补=______。

答案:01011001;101001116.已知X=-0.1011001,则 [X]补=______;已知Y=-0.1011001,则 [Y]反=______。

答案:1.0100111;1.01001107.字符“A”的ASCII码为41H,则字符“D”的ASCII码应为:______;字符“0”的ASCII码为30H,则字符“8”的ASCII码应为:______。

答案:44;388.若X=-107,Y=+74,按8位二进制可写出:[X]补=______;[Y]补=______;[X+Y]补=______;[X-Y]补=______答案:1001 0101B;0100 1010B;1101 1111B;0100 1011B分析:107=16×6+11=6BH ∴ [X]补=0-6BH=95H ;74=16×4+10=4AH ∴ [Y]补=4AH ;[-Y]补=0-[Y]补=B6H [X+Y]补=95H+4AH=DFH ;[X-Y]补=[X]补+[-Y]补=95H+B6H=4BH或[X-Y]补=[X]补-[Y]补=95H-4AH=4BH (有溢出,结果出错)9.110101.11B=______D答案:53.75 分析:11 0101B=35H=16×3+5=53D 0.11=1×2-1+1×2-2=0.7510.若[X]补=0011 0011B,[Y]补=1100 1100B,则[X-Y]补=______B,运行结果对状态标志ZF、SF、OF的影响为______、______、______。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章微型计算机概论
一、填空题
1、有一二进制数为10110101B,表示的十六进制数为B5H ,八进制数为265Q ,若表示有符号的数,则对应的十进制数为-53 。

2、有一二进制数为101101.10B,表示的十六进制数为2D.8H ,八进制数为55.4Q ,若表示有符号的数,则对应的十进制数为45.5D 。

3、以8位二进制数为例,若X=-63,Y=59,则:[X]补=C1H ,[Y]补=3BH ,[X+Y]补=FCH ,[X-Y]补=86H 。

4、已知X的补码为10011001B,则X的值为-103 ,其原码表示为11100111B 。

5、若X=-63,Y=+127,则[X+Y]补= 01000000B ,运行后状态标志位ZF= 0 。

6、字符“H”的ASCⅡ码是1001000,若采用奇校验,则应配置的校验位为 1 。

二、选择题
1、目前绝大多数计算机都采用( C )来进行加减运算。

A.原码表示法B.反码表示码
C.补码表示法D.移码表示法
2、8位二进制数的操作称为( A )
A.字节操作B.字操作C.双字操作D.词操作
3、将微处理器、RAM、ROM以及I/O接口电路,再配上相应的外设和监控程序固件等,安装在一块印刷电路板上构成的微型计算机系统称为( B )
A.单片机B.单板机C.个人计算机D.工程工作站
4、用数进行运算,可减少计算精度上的损失。

( B )
A.定点数B.浮点数C.原码表示数D.补码表示数
5、单片机是一个集成电路芯片中集成了( D )
A.微处理器和I/O接口B.微处理器和RAM
C.微处理器和ROM D.微处理器、I/O接口,RAM(或加上ROM) 6、若下列字符码(ASCII)中有奇偶校验位,但没有数据错误,采用偶校验的字符码是( D )。

A.11001011 B.11010110 C.11000001 D.11001001
三、计算题
1、将下列二进制数分别转换成十进制、八进制、十六进制数。

(1)1110 1010.1001(2)1100.01011
解:(1)1110 1010.1001B=234.5625D=352.44Q=EA.9H (2)1100.01011B=12.34375D=14.26Q=C.58H
2、将下列十进制数分别转换成二进制、八进制、十六进制(1)21.32D (2)50.38D
解:(1)21.32D=15.51H=00010101.01010001B=25.242Q (2)50.38D=32.614H=00110010.0110000101=62.3024Q
3、用8位二进制表示出下列十进制数的原码、反码、补码。

(1)+127 (2)-127 (3)+0 (4)-0 (5)+1 (6)-1
解:(1)[+127]
原=[+127]

=[+127]

=01111111B
(2)[-127]

=11111111B
[-127]反=10000000B
[-127]补=10000001B
(3)[+0]原=[+0]反=[+0]补=00000000B
(4)[-0]

=10000000B
[-0]反=11111111B
[-0]补=00000000B
(5)[+1]
原=[+1]

=[+1]

=0000001B
(6)[-1]

=10000001B [-1]反=11111110B
[-1]补=11111111B。

相关文档
最新文档