2013微机原理试题答案课案
微机原理课后习题解答

微机原理习题第一章绪论习题与答案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.电子计算机主要由运算器、控制器、存储器、输入设备和输出设备等五部分组成。
2.运算器和控制器集成在一块芯片上,被称作CPU。
3.总线按其功能可分数据总线、地址总线和控制总线三种不同类型的总线。
4.计算机系统与外部设备之间相互连接的总线称为系统总线(或通信总线);用于连接微型机系统内各插件板的总线称为系统内总线(板级总线); CPU内部连接各寄存器及运算部件之间的总线称为内部总线。
5.迄今为止电子计算机所共同遵循的工作原理是程序存储和程序控制的工作原理。
这种原理又称为冯·诺依曼型原理。
第3章微处理器及其结构1.8086/8088 CPU执行指令中所需操作数地址由 EU 计算出16 位偏移量部分送 BIU ,由 BIU 最后形成一个 20 位的内存单元物理地址。
2.8086/8088 CPU在总线周期的T1 时刻,用A19/S6~A16/S3 输出 20 位地址信息的最高 4 位,而在其他时钟周期,则输出状态信息。
3.8086/8088 CPU复位后,从 0FFFF0H 单元开始读取指令字节,一般这个单元在 ROM 区中,在其中设置一条跳转指令,使CPU对系统进行初始化。
4.8086系统的存储体系结构中,1MB存储体分 2 个库,每个库的容量都是512K字节,其中和数据总线D15~D8相连的库全部由奇地址单元组成,称为高位字节库,并用BHE作为此库的选通信号。
5.8086/8088系统中,可以有 64K 个段起始地址,任意相邻的两个段起始地址相距 16 个存储单元。
6.用段基值及偏移量来指明内存单元地址的方式称为逻辑地址。
7.通常8086/8088 CPU中当EU执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现空闲状态。
8.8086 CPU使用 16 根地址线访问I/O端口,最多可访问64K 个字节端口,使用 20 根地址线访问存储单元,最多可访问1M 个字节单元。
微机原理试题及答案

微机原理试题及答案一、选择题。
1. 下列哪个不是微机系统的基本组成部分?A. 中央处理器。
B. 存储器。
C. 输入设备。
D. 输出设备。
答案,C。
2. 下列哪个不属于微处理器的功能?A. 运算。
B. 控制。
C. 存储。
D. 输入。
答案,D。
3. 以下哪个不是微机系统软件的组成部分?A. 操作系统。
B. 应用软件。
C. 数据库软件。
D. 固件。
答案,C。
4. 下列哪个不是微机系统的外部设备?A. 打印机。
B. 鼠标。
C. 显示器。
D. 内存条。
答案,D。
5. 下列哪个不是微机系统的存储器?A. 内存。
B. 硬盘。
C. CPU。
D. 光盘。
答案,C。
二、填空题。
1. 微机系统的核心部件是______。
答案,中央处理器。
2. 微机系统的内存是用来存储______。
答案,程序和数据。
3. 微机系统的主要输入设备有键盘、______。
答案,鼠标。
4. 微机系统的操作系统是用来管理______。
答案,硬件和软件资源。
5. 微机系统的显示器是用来输出______。
答案,图像和文字。
三、简答题。
1. 什么是微机系统?简要描述其基本组成部分。
答,微机系统是由中央处理器、存储器、输入设备、输出设备和系统总线等基本组成部分组成的计算机系统。
2. 请简要介绍微处理器的功能及其作用。
答,微处理器是微机系统的核心部件,其主要功能包括运算、控制和存储,它负责执行计算机程序中的指令,是计算机的大脑。
3. 请简要介绍微机系统的软件组成部分。
答,微机系统的软件包括操作系统、应用软件和固件,其中操作系统是管理硬件和软件资源的系统软件,应用软件是为用户提供各种功能的软件,固件是存储在计算机芯片中的软件。
四、问答题。
1. 请简要描述微机系统的工作原理。
答,微机系统的工作原理是通过中央处理器执行指令,从存储器中读取程序和数据,经过运算和控制后,将结果输出到显示器或打印机等输出设备上。
2. 请简要介绍微机系统的存储器种类及其特点。
答,微机系统的存储器包括内存、硬盘、光盘等,其中内存用于临时存储程序和数据,速度快但容量小;硬盘用于永久存储数据,容量大但速度较慢;光盘用于存储大量数据,但读写速度较慢。
微机原理试题及答案

微机原理试题及答案一、选择题。
1. 下列哪个是微机系统的主要组成部分?A. 中央处理器。
B. 显卡。
C. 打印机。
D. 鼠标。
答案,A。
2. 以下哪个不是微机系统的外部设备?A. 鼠标。
B. 键盘。
C. 内存条。
D. 打印机。
答案,C。
3. 下列哪个是微机系统的输入设备?A. 打印机。
B. 显示器。
C. 键盘。
D. 鼠标。
答案,C。
4. 以下哪个不是微机系统的输出设备?A. 鼠标。
B. 打印机。
C. 显示器。
D. 音响。
答案,A。
5. 下列哪个是微机系统的控制设备?A. 鼠标。
B. 键盘。
C. 中央处理器。
D. 打印机。
答案,C。
二、判断题。
1. 微机系统的中央处理器是负责进行数据的输入、输出和存储的。
答案,错误。
2. 微机系统的内存条是用来存储计算机程序和数据的。
答案,正确。
3. 鼠标是微机系统的输入设备。
答案,正确。
4. 打印机是微机系统的输出设备。
答案,正确。
5. 微机系统的主要组成部分包括中央处理器、内存、输入设备和输出设备。
答案,正确。
三、简答题。
1. 什么是微机系统的中央处理器?它的作用是什么?答,微机系统的中央处理器是整个系统的控制中心,负责执行指令、进行运算和控制数据传输等操作。
它的作用是处理各种数据和指令,是微机系统的核心部件。
2. 请简要介绍一下微机系统的输入设备和输出设备各举例一种。
答,微机系统的输入设备包括键盘、鼠标等,它们用来将用户输入的数据传输给计算机。
输出设备包括显示器、打印机等,用来将计算机处理后的数据输出给用户。
四、综合题。
1. 请简要介绍一下微机系统的工作原理及其组成部分。
答,微机系统是由中央处理器、内存、输入设备和输出设备组成的。
中央处理器负责处理各种数据和指令,内存用来存储程序和数据,输入设备用来将用户输入的数据传输给计算机,输出设备用来将计算机处理后的数据输出给用户。
微机系统的工作原理是通过中央处理器的控制,将输入的数据进行处理和运算,然后将结果输出给用户。
(完整版)微机原理答案

微机原理答案习题11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序和数据。
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。
微机原理试题库及答案2013N修改版

微机原理试题库及答案2013N修改版微机原理及应用试题库第一章微型计算机系统 (1)1.1选择题 (1)1.2判断题 (2)1.3填空题 (2)1.4简答题 (3)第二章处理器结构 (4)2.1选择题 (4)2.2名词解释题 (4)2.3判断 (5)2.4填空题 (6)2.5简答题 (6)第三章数据处理 (7)3.1.选择 (7)3.2.名词解释 (8)3.3.判断 (9)3.4.填空 (9)3.5.简答题 (10)第四章指令系统 (11)4.1.选择 (11)4.2.名词解释 (12)4.3.判断 (12)4.4.填空 (12)4.5.简答题 (13)第五章汇编语言程序设计 (15)5.1.选择 (15)5.2.名词解释 (16)5.3.判断 (16)5.4.填空 (16)5.5.简答题 (17)5.6.应用题 (19)第六章微机总线 (40)6.1.选择 (40)6.2.名词解释 (41)6.3.判断 (41)6.4.填空 (41)6.5.简答题 (42)第七章存储系统 (44)7.1.选择 (44)7.2.名词解释 (44)7,3.判断 (45)7.4.填空 (46)7.5.简答题 (46)第八章无条件与查询传送方式 (49) 8.1.选择 (50)8.2.名词解释 (51)8.3.判断 (51)8.4.填空 (52)8.5.简答题 (52)第九章中断与DMA传送方式 (54) 9.1.选择 (54)9.2.名词解释 (54)9.3.判断 (55)9.4.填空 (55)9.5.简答题 (56)第十章常用接口技术 (58)10.1.选择 (58)10.2名词解释 (59)10.3判断 (59)10.4填空 (59)10.5简答题 (60)10.6应用题 (61)组卷方案题型题数满分单出章节合出章节选择10 10×1.5=151~10判断10 10×1=10填空10 10*2=20简答题 5 5*4=20 1,2;3,4;6,7;8,9;5,10;名词解释 2 5*2=10 2,6,7 3,4;8,9;应用题 2 10+15=25 5,10第一章微型计算机系统1.1选择题1.计算机的发展阶段通常是按计算机所采用的()来划分的。
2013年微机原理试题及答案

卷16一、选择题:(每题1.5分,共18分)1、DMAC向CPU发出请求信号,CPU响应并交出总线控制权后将( 3)。
❶反复执行空操作,直到DMA操作结束❷进入暂停状态, 直到DMA操作结束❸进入保持状态, 直到DMA操作结束❹进入等待状态, 直到DMA操作结束2、有一个实时数据采集系统,要求10ms进行一次数据采集,然后进行数据处理及显示输出,应采用的数据传送方式为( 3 )。
❶无条件传送方式❷查询方式❸中断方式❹直接存储器存取方式3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过(3 )来实现。
❶计数器❷寄存器❸移位寄存器❹ D触发器4、8088 CPU输入/输出指令可寻址外设端口的数量最大可达(4 )个。
❶128 ❷256 ❸ 16K ❹ 64K5、CPU响应中断后,通过(4)完成断点的保护。
❶执行开中断指令❷执行关中断指令❸执行PUSH指令❹内部自动操作6、并行接口芯片8255A具有双向数据传送功能的端口是(1 )。
❶PA口❷PB口❸ PC口❹控制口7、8088CPU处理动作的最小时间单位是(2 )。
❶指令周期❷时钟周期❸机器周期❹总线周期8.堆栈是内存中(4 )。
❶先进先出的ROM区域❷后进先出的ROM区域❸先进先出的RAM区域❹后进先出的RAM区域9、计算机中广泛应用的RS-232C实质上是一种(3 )。
❶串行接口芯片❷串行通信规程(协议)❸串行通信接口标准❹系统总线标准10、高速缓冲存储器(CACHE)一般是由( 1 )芯片组成。
❶SRAM ❷DRAM ❸ROM ❹EPROM11、鼠标器是一种(3 )。
❶手持式的作图部件❷手持式的光学字符识别设备❸手持式的座标定位部件❹手持式扫描器12、传送速度单位“bps”的含义是( 2 )。
❶ b ytes per second ❷bits per second❸baud per second ❹billion bytes per second二、填空题:(每空1分,共12分)1、CPU在响应中断后,自动关中。
微机原理课后答案 (4)

微机原理课后答案第一章:计算机系统简介1.1 问题1.计算机硬件系统由哪些部分组成?2.什么是计算机软件系统?3.计算机的主要功能有哪些?1.2 答案1.计算机硬件系统由以下几部分组成:–中央处理器(CPU)–内存(Memory)–外部设备(包括输入设备和输出设备)2.计算机软件系统是指计算机系统中的各种软件程序的集合,包括系统软件和应用软件。
系统软件用于管理和控制计算机硬件系统的运行,例如操作系统、编译器、数据库管理系统等。
应用软件用于实现各种具体的应用功能,例如文字处理软件、图形设计软件、游戏等。
3.计算机的主要功能包括:–进行数据的输入、输出和存储。
–进行数据的处理和运算。
–运行各种软件程序,实现各种功能。
第二章:计算机的基本组成部分2.1 问题1.什么是计算机的存储器?2.什么是计算机的输入设备?3.什么是计算机的输出设备?2.2 答案1.计算机的存储器是指计算机中用于存储数据和程序的设备,包括主存储器和辅助存储器。
主存储器又称为内存,是计算机中用于存放程序和数据的临时存储区域,其容量相对较小但访问速度很快。
辅助存储器是用于永久性存储数据和程序的设备,例如硬盘、固态硬盘或者光盘。
2.计算机的输入设备是用于将外部数据或命令输入到计算机中的设备,常见的输入设备包括键盘、鼠标、扫描仪、摄像头等。
3.计算机的输出设备是用于将计算机处理后的结果或数据输出到外部的设备,常见的输出设备包括显示器、打印机、音频设备等。
第三章:计算机的运算方法3.1 问题1.什么是计算机的算术运算?2.什么是计算机的逻辑运算?3.什么是计算机的数据转移?3.2 答案1.计算机的算术运算是指计算机对数字数据进行加、减、乘、除等运算的过程。
算术运算包括整数运算和浮点数运算。
整数运算是指对整数进行计算的过程,浮点数运算是指对带有小数部分的实数进行计算的过程。
2.计算机的逻辑运算是指计算机对逻辑数据进行与、或、非等运算的过程。
逻辑运算常用于判断和决策的场景,例如判断某个条件是否为真、执行不同的分支等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12/13学年第二学期末考试试题(A卷)
课程名称微机原理与接口技术
有点参考价值哦
一、填空题(每空1分,共20分)
1、系统总线由(数据总线)、(地址总线)、(控制总线)三类传输线组成。
2、8位二进制补码10110110代表的十进制负数是( -74 )。
3、8086 无论在最大方式,还是在最小方式下都可寻址( 1M )的存储空间。
4、指令MOV DX,OFFSET BUFFER的源操作数的寻址方式是(立即数)。
5、存储器是计算机系统中的存储装置,用来存放(数据)和(程序)。
6、8253芯片内部共包含( 3 )个( 16 )位(减法)计数器。
7、掉电后信息丢失的存储器是(RAM ),掉电后信息不丢失的存储器是(ROM )。
8、I/O接口有(独立编址)和(统一编址)两种编址方式,8088/8086系统采用的是(独立编址)编址方式。
9、某8位D/A转换器,输出电压为0~5V,当输入数字量为40H时,其对应的输出电
压是(1.25 )V。
10、设被测温度的变化范围为0°C~100°C,若要求测量误差不超过0.1°C,应选择(10 )位的A/D转换器?
11、8088CPU的管脚IO/M为低电平时,表示CPU访问(接口),I O/M为高
电平时,表示CPU访问(存储器)。
二、判断题(每题1分,共10分)
1、在8088微处理器引脚中,ALE信号是地址锁存信号。
(√)
2、计算机中的运算器、控制器和内存储器合称为中央处理机。
(×)
3、CPU访问存储器时,段地址可以由默认的段寄存器提供。
(√)
4、数据总线上传送的信息有数据,也可能有指令代码。
(√)
5、逻辑地址不是物理地址,但它是唯一的。
(×)
6、对部分地址译码的存储器电路,存储器的每一个存储单元都只有一个唯一的物理地址。
(×)
7、只读存储器具有掉电后数据不会丢失的特点。
(√)
8、IP寄存器是用来存放指令的偏移地址的,用户程序不能直接访问IP寄存器。
(√)
9、串行通信的数据传输速率比并行通信高。
(×)
10、逐次逼近型AD转换器和双积分型AD转换器相比具有转换速度快的优点。
(√)
三、选择题(每题2分,共20分)
1、数据的输入输出指的是( A )进行数据交换。
A. CPU与外设B.内存与外存
C.存储器与外设D. CPU与存储器
2、指令MOV AX,[DI]中,源操作数的寻址方式为( A )。
A.寄存器间接寻址B.寄存器相对寻址
C.直接寻址D.变址寻址
3、与外存相比,内存的特点是( C )。
A.容量大、速度快、成本高B.容量小、速度快、成本低
C.容量小、速度快、成本高 D.容量大、速度快、成本低
4、在8253进行计数前,都必须先向8253写入一个( D ),以确定8253的工作方式。
A.指令B.计数初值
C.状态字D.控制字
5、CPU响应中断请求和响应DMA请求的本质区别是 ( D )
A)中断响应靠软件实现 B)速度慢 C)控制简单
D)响应中断时CPU仍然仍控制总线,而响应DMA请求时,CPU要让出总线
6、在PC/XT 机中键盘的中断类型码是09H,则键盘中断向量存储在向量表的( B )。
A. 36H~39H
B. 24H~27H
C. 18H~21H
D. 18H~1BH
7、在下列指令中,正确的是( B )。
A. MOV CX,BL
B. ADD AX,[SI]
C. MOV [BX],[SI+2]
D. OUT 230H, AL
8、在中断方式下,外设数据输入到内存的路径是( D )。
A.外设→数据总线→内存B.外设→I/O接口→内存
C.外设→CPU→内存D.外设→I/O接口→CPU→内存
9、在8086系统中,在以下物理地址中可作为段起始地址的为:( C )
A.800F2H B.50103H
C.10110H D.20088H
10、可擦除的只读存储器为( A )
A. EPROM
B. SRAM
C. DRAM
D. ROM
四、简答题(每题5分,共20分)
1讲述指令MOV AX,2000H和MOV AX,[2000H]的区别。
MOV AX,2000H是将立即数2000H装入AX寄存器,MOV AX,[2000H]是将存储单元[2000H]中的数装入AX寄存器。
2中断服务程序结束时,用RET指令代替IRET指令也能返回主程序,但这样做存在什么问题?
RET不能使标志寄存器得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。
3数据传输方式中,查询方式和中断方式相比较各有什么优缺点?
中断方式可以使CPU与外设并行工作,所以比起查询方式,CPU的工作效率高。
4执行以下两条指令后,标志寄存器flags的进位标志位CF、半进位标志位AF、溢出标志位OF、符号标志位SF和零标志位ZF各为什么状态?
MOV AL, 84H
ADD AL, 94H
CF=1; AF=0; OF=1; SF=0; ZF=0
五、程序设计题(10分)
已知(AX)=4BD5H,统计AX中1的个数和0的个数,并分别放在BL和DL 中。
编写程序段实现该功能。
MOV AX,4BD5H
MOV BL,0
MOV DL,0
MOV CX,16
L1: SHL AX,1
JC L2
INC DL
JMP L3
L2: INC BL
L3: LOOP L1
HLT
六、硬件设计题(共20 分每小题10 分)
1、设某微机系统需要扩展内存RAM 32KB,扩充的存储器空间为10000H开始的连续存储区域。
存储器芯片采用2片16K×8的RAM芯片,CPU使用8088。
1)画出逻辑连接图;
2)写出各片RAM的所在地址区域。
1)
2) 地址范围第一片 10000H--13FFFH
第二片 14000H--17FFFH
2、如下图所示电路,A口与键盘相连接,B口与LED相连接。
1、写出A、B、C各端口和控制口的地址(没有用到的地址线都定为逻辑0)。
2、A口工作在方式0,输入;B口工作在方式0,输出;C口全部为输出。
控制字是多少?写出初始化程序片段。
3、设要判断PA7对应的开关是否闭合,请写出相应的程序片段。
4、设要使PB6对应的LED灯亮,其它LED灯灭,请写出相应的程序片段。
C口低4位:1-入,0-出
B口: 1-入,0-出
1*
8255控制字的格式
1、A、B、C各端口和控制口的地址分别为:4A0H、4A2H、4A4H、4A6H.
2、控制字:90H
初始化程序:
MOV DX,4A6H
MOV AL,90H
OUT DX,AL 3、
MOV DX,4A0H IN AL,DX ANL AL,80H 4、
MOV DX,4A2H MOV AL,40H OUT DX,AL。