微机原理习题解答.ppt_第1页
微机原理习题解答.ppt_第2页
微机原理习题解答.ppt_第3页
微机原理习题解答.ppt_第4页
微机原理习题解答.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 习  题,1、微型计算机的特点是什么?主要性能指标有哪些?字节和字长有什么区别? 特点:体积小,重量轻,耗电少;可靠性高,结构灵活 ;价格低廉;应用面广。 主要性能指标:字长、运算速度、内存容量。 字节和字长的区别:每8位为一个字节,固定不变,它是存储器的基本单位。 字长是计算机一次可并行处理的数据的位数,可以是一个或多个字节。,2、微型计算机是由哪几部分组成的?简述各部分的作用。 微型计算机由硬件和软件组成,硬件主要包括中央处理器(CPU)、存储器、输入接口电路、输出接口电路、总线。 软件主要包括系统软件和应用软件。 作用略。,3、微处理器、微型计算机、微型计算机系统之间有什联系和区别。 微处理器即CPU 是计算机的核心部件,其利用集成技术将运算器、控制器集成在一片芯片上。主要功能如下: 对指令译码并执行规定动作;能与存储器及外设交换数据;可响应其它部件的中断请求;提供系统所需的定时和控制。 微型计算机是在CPU的基础上配置存储器、I/O接口电路、系统总线。 微型计算机系统是以微机为主体,配置系统软件和外设。,4、微型计算机内部、外部的结构特点是什么?总线结构的优点是什么? 微型计算机内部为单总线结构,外部为三总线结构即AB、DB、CB 有了总线结构以后,系统中各功能部件的相互关系变为各个部件面向总线的单一关系,一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能很方便得到扩展。,5、完成下列数制之间的转换 (48)D=(  30 )H=(00110000)B (6DB)H=(1755)D=(11011011011)B  (10101101)B=( AD)H=( 173 )D (98)D=( 10011000)BCD=( 1100010 )B (010110010010)BCD=( 592 ) D (1001010000) B,6、完成下列码制之间的转换 X原=BDH  X补、X反、真值= ? X反=3CH  X补、X原、真值= ? X补=8AH  X反、X原、真值= ? X原=BDH  X补=C3H  X反=C2H  真值= -61 X反=3CH  X补=3CH  X原=3CH 真值= 60 X补=8AH  X反=89H  X原=F6H  真值= -118,7、已知 X=72  Y=35 求 X Y=?  X-Y=? Y-X=? X原= X补= 01001000  -X补=10111000 Y原= Y补= 00100011   -Y补=11011101 X Y补= X补 Y补=01101011 = X Y原 X Y =107 X-Y补= X补 -Y补=00100101 = X-Y原 X-Y =37 Y-X补= Y补 -X补=11011011  Y-X原= 10100101   Y-X =-37,第二章习题,1、 CPU常用的工作方式有哪几种?8086CPU采用哪种工作方式? CPU常用的工作方式有串行方式和并行方式,8086CPU采用并行工作方式。 2、8086CPU有哪几部分组成?各组成部分的主要功能是什么? 8086CPU有执行部件EU和总线接口部件BIU组成。 EU的主要功能是 (1)从指令队列中取出指令。 (2)对指令进行译码,发出相应的控制信号。 (3)向BIU发出请求。 (4)执行指令包括进行算术、逻辑运算,并计算操作数的偏移量。,总线接口部件的功能是: (1)合成20位的地址,完成与外界之间的数据传送。 (2)预取指令送到指令队列。 (3) 发出外部总线控制信号。 3、状态标志和控制标志又何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些? 状态标志反映运算结果的状态,其可能对后面的程序有影响;控制标志是人为设定,其对CPU的运行起控制作用。 状态标志有ZF、CF、OF、PF、SF、AF 控制标志有TF 、IF、 DF,4、从引脚信号上看8086和8088有什么不同? 8088内部(CPU内)有16位数据线,而对外只有8位数据线,因此数据地址复用线与8086不同。 8086:AD0AD15 8088: AD0AD7    A8A15 第28号引脚规定相反。 8086:最小模式下为 M/IO 8088:最小模式下为 M/IO(与8085兼容) 第34号引脚不同 8086:BHE/S 8088:在最大模式中,为高电平; 8088没有高8数据,输出SS0信号,此与其它信号组合表明当前的动作。,5、什么是最小模式和最大模式?它们在使用上有什么不同。 最小模式:系统只有一个8086CPU,所有的控制信号都直接由8086CPU产生,总线控制逻辑电路最少。 最大模式:系统包括两个或多个CPU(一个为主CPU,其他为协CPU),此时8086CPU需要外加总线控制器,以便产生较多的控制信号进行互相联系和协调工作。,6、 段寄存器CS=1200H,IP=FF00H,此时指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 物理地址为21F00H,CS和IP值不唯一。 7、已知物理地址为61320H,若CS=5F00H ,求偏移地址。若CS=5200H,求偏移地址。该单元为何有不同的偏移地址? IP分别为2320H和F320H 同一个物理地址是由段基值和偏移地址合成,当段基值不同时偏移地址必然不同。,8、若CS=2200H,问物理地址为222AFH的存储单元是否在此代码段中? 此时IP=02AFHFFFFH,故在此代码段中。 9、DS=1100H,SI=ABCDH 求数据所在的物理地址。 DS=2345H,SI=D0CFH 求数据所在的物理地址。 物理地址=11000H ABCDH=1BBCDH 物理地址=23450H D0CFH=3051FH,10、A=C236H B=758AH 求A B、 A-B后各状态标志的值。(CF、SF、ZF、AF、OF、PF) 1100001000110110  0111010110001010 10011011111000000 CF=1  SF=0  ZF=0  AF=1  OF=0  PF=1 1100001000110110 -   0111010110001010 0100110010101100 CF=0  SF=0  ZF=0  AF=1  OF=1  PF=1,11、 SP是 堆栈指针寄存器,其内容是栈顶地址的偏移量。 12、ALE信号在T1 时刻有效,有效状态是高电平 其作用是作地址锁存器的选通信号 13、8086CPU的引脚RD为低电平,M/IO为高 电平时,表示读存储器 14、8086CPU执行I/O端口写操作时,WR=0 M/IO=0    RD= 1   DT/R= 1   DEN=0,15、若8086CPU工作于最小模式,试指出当CPU完成将AH的内容送到物理地址为91001H的存储单元操作时,以下哪些信号应为低电平:M/IO、WR、RD、BHE/S7、DT/R。若CPU完成的是将物理地址91000H单元的内容送到AL中,则上述哪些 信号应为低电平。 当CPU完成将AH的内容送到物理地址为91001H的存储单元时WR=0   BHE=0 当CPU完成的是将物理地址91000H单元的内容送到AL中时RD=0   DT/R=0,16、什么是引脚的分时复用?请说出8086/8088CPU有哪些引脚是分时复用引脚?其要解决的问题是什么? 用同一组引脚表示不同的信号即在不同的时刻表示不同的信号;8086中AD0_AD15、A16/S3_A19/S6 。 要解决地址信号的锁存问题。 17、什么是指令周期?什么是总线周期?什么是时钟周期?它们之间的关系如何? 指令周期:执行一条指令所需要的时间。 总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一次数据传输所需的时间。 时钟周期(T状态):CPU处理动作的最小单位是主频的倒数 一个指令周期包含1个或多个总线周期,一个总线周期包含4个或更多时钟周期。,第3章:习题,1.8086常用的寻址方式有哪些?哪几种寻址方式的指令执行速度快? 立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址(又包括多种方式)。 立即数寻址和寄存器寻址速度快。 2.如在指令中不具体指明段寄存器,那么段地址如何确定? 由隐含关系确定: BX 隐含于DS段 BP 隐含于SS段 SI、DI单独使用隐含于DS段 基址寄存器和变址寄存器同时出现,以基址寄存器隐含关系为准。SP 隐含于SS段 SI、DI用于串操作时,SI隐含于DS段, DI隐含于ES段。,3.假设DS=3000H,BX=0870H,SI=010CH,d=45h 以MOV指令为例,写出各种寻址方式下的指令形式,并求出数据的有效地址和物理地址。 直接寻址  指令形式: MOV AX, 0045H EA= 0045H 物理地址=30000H 0045H=30045H 基址寻址   指令形式: MOV AX, BX EA= 0870H 物理地址=30000H 0870H=30870H 变址寻址   指令形式: MOV AX, SI EA= 010CH 物理地址=30000H 010CH=3010CH, 相对基址寻址   MOV AX, BX 0045H EA= 0870H 0045H=08B5H 物理地址=30000H 08B0H=308B5H 相对变址寻址   MOV AX, SI 0045H EA= 010CH 0045H=0151H 物理地址=30000H 0152H=30151H 基址变址寻址 MOV AX,  BX SI EA= 0870H 010CH=097CH 物理地址=30000H 097CH=3097CH 相对基址变址寻址  MOV AX,  BX SI 0045H EA= 0870H 010CH 0045H=09C1H 物理地址=30000H 09BCH=309C1H,4.请指出下列指令中源操作数的寻址方式 MOV SI,120   ; 立即数寻址 MOV BP,BX ;寄存器间接寻址(基址寻址) MOV AX,CX  ;寄存器寻址   POP  BX     ;栈区寻址(出栈操作) AND DL,BX SI 30H;寄存器间接寻址(相对基址变址寻址) XCHG  AL,BUF;直接寻址,5.请指出如下程序段中每条逻辑指令执行后标志ZF、SF和PF的状态 MOV AL,0AH; AL=0AH  ZF、SF、 PF不变 AND  AL,0FH; AL=0AH   0 、0 、1 OR   AL,4BH; AL=4BH   0 、0 、1 XOR  AL,AL ;  AL=0H    1、 0 、1,6.判断指令的对错,说明错误指令出错原因 MOV SP ,BX  错,不能用SP间接寻址 MOV CX,BX 对 JMP BX      对     XCHG SI,WED 错,不能在两个内存单元直接交换 SHL AX,CX    错,移位次数必须在CL中 XCHG ES:BX,AL 对 LEA AX,BX SI 对 IN BL,DX  错,输入指令只能用累加寄存器 PUSH CS    对      MOV  DH,345H 错,数据类型不符。,7.利用三种方法实现内存DS段2000H和2100H的两个字单元的内容互换。 1、MOV  AX, 2000H MOV  BX,2100H MOV  2000H,BX MOV  2100H,AX 2、XCHG AX, 2000H XCHG AX, 2100H XCHG AX, 2000H 3、PUSH 2000H PUSH 2100H POP  2000H POP  2100H,8.已知(SP)=2800H,(AX)=0010H,(BX)=0FA0H, (CX)=1002H。求执行下列程序段后SP、AX、BX、CX的内容 PUSH  AX PUSH  BX PUSH  CX POP   BX POP   AX 执行后  SP=27FEH   AX=0FA0H BX=1002H    CX=1002H,9.分析程序执行后AX=?CF=?AF=? MOV  AX, 2608H   MOV  BL, 95H ADD  AL,  BL      执行后 AX=2703H AAA                     CF=AF=1 10.分析程序执行后AX=?CF=? MOV  AX, 1E54H STC MOV  DX, 95H        XOR   DH, 0FFH      执行后 AX=IEBEH SBB   AX, DX               CF=1,MOV  AL , 67H ; AL= 67H NEG  AL       ; AL= 99H OR   AL , 0A0H ; AL= B9H AND  AL , 0F5H ; AL= B1H XOR  AL , 0FH   AL= BEH MOV  AX, 3267H ROL  AX, 1 ADC  AL, AH MOV  3200H,AX 执行上述指令后 AX=6432H  3200H=32H 3201H=64H,13. 已知DS=1000H,将下面程序段执行后的结果填入相应的寄存器和内存单元。 MOV  CL,04H MOV  AX,0ABCDH SHR  AX,CL MOV  SI,2000H MOV  SI,AX 则 CL=  04H      AX= 0ABCH   SI= 2000H      12001H= 0AH,14.设DS段2100H单元的内容是32H MOV  BX,2100H MOV  AL,BX MOV  AH,0 MOV   SP, 3210H XCHG  AX,BX PUSH  AX  PUSH  BX POP  CX 执行程序段后 AX=2100H  BX=0032H CX=0032H  SP=320EH,MOV  AX, 0478H MOV  BX, 2346H SUB   AL,BL ADC   BH,AH 执行指令后AX= 0432H    BX=2746H 16.已知DS段3200H开始的内存中顺序存放着十六进制基数(0F)的ASC码 MOV  BX,3200H MOV  AL,06H MOV  CL,03H,ADD  AL,CL MOV  CL,AL XLAT XCHG CL,AL INC   AL INC   AL XLAT HLT 执行指令后 AL=42H   CL= 39H  BX=3200H,MOV  AX, 4737H MOV  BX, 2856H SUB  BH, AH ADC  AL, BL DAA 执行上述程序后 AX= 4794H   BX=E156H 18. 已知程序段如下: CMP  AX, CX JNC  K1 JNO  K2 JMP  K3,假设有以下三组AX、CX值,那么在程序执行后,分别转向哪里? (AX)=E301H (CX)=8F50H CF=0  转K1 (AX)=8F50H (CX)= E301H CF=1,OF=0  转K2 (AX)=147BH (CX)=80DCH CF=1, OF=1  转K3,第四章习题,1、下面程序段的功能是将内存单元DAT1起始的20个8位二进制数,按正、负分别存放,正数存于BUF1开始的单元,负数存于BUF2开始的单元,仔细阅读程序,改正其中的错误。 CLD                        STOSW MOV  SI,DAT1              JMP  GOND MOV  DI,BUF1       MIUS: XCHG  BX,SI MOV BX,BUF2             STOSB LOP1:LODSB                     XCHG  BX,DI MOV  CX,20         GOND: LOOP  LOP1 TEST  AL,80              下面程序段的功能是将SI=2000H为起始的6个单元的组合BCD码累加,其结果仍在SI为指针的内存中,仔细阅读程序,改正其中的错误。 MOV  SI,2000H      MOV  SI,AL MOV  CX,6          INC   SI XOR  AL,AL        LOOP LOP1 LOP1:ADD  AL,SI       MOV  SI,AH AAA                 HLT ADD  AH,0,3、下面程序段的功能是将SI=1000H为起始的2个单元的ASC码(个位数地址较低)转换为1个组合型BCD码,仔细阅读程序,改正其中的错误。 MOV  SI,1000H      AND  BL,0FH MOV  AL,SI        OR  AL,BL AND  AL,0F         INC  SI SHL   AL,4          MOV  SI,BL INC   SI              HLT MOV  BL,SI,4、下面程序段的功能是在SI=2400H为起始的10个单元的无符号数中,找出最小数存于DI为地址指针的内存中,仔细阅读程序,改正其中的错误。 MOV  SI,2400H             INC  SI MOV  CL,10        LOP2: LOOP LOP1 MOV  AL,SI               MOV  SI,AL LOP1:CMP  AL,SI 1             HLT JNC  LOP2 MOV  AL,SI 1,5、下面程序的功能是将内存单元中连续存放的6个有符号8位二进制数中的最大数找出,并存于MAX单元,仔细阅读程序,改正其中的错误。 DATA   SEGMENT ABCD  DB 06H,57H,89H,0A7H,0F7H,0E8H,95H MAX    DB 1 DUP(?) DATA   END CODE  SEGMENT ASSUME  CS:CODE,DS:DATA START:  MOV   AX, DATA,MOV  DS, AX MOV  SI, OFFSET ABCD MOV  CL, SI MOV  CH, 0 MOV   AL, SI 1 P1:    INC  SI CMP  AL, SI 1 JC  P2 MOV  AL, SI P2:    JMP  P1,MOV  SI 1,CL HLT CODE  ENDS END  START,6、从3#端口输入1个数与预定值相比,将差的绝对值从4#端口输出,编写完成此功能的程序段。 DATA  SEGMENT A      DB  50H ;设预定值 DATA   ENDS,CODE  SEGMENT ASSUME  CS:CODE,DS:DATA GO:  MOV  AX,DATA MOV  DS,AX MOV  BL,A IN     AL,03H CMP   AL,BL JG     LB1 XCHG  AL,BL LB1:   SUB   AL,BL OUT   04H,AL CODE   ENDS END   GO,7、,试编写一汇编程序,将AX中各位取反。然后统计出AX 中0的个数,将结果保存到CL中。 DATA  SEGMENT NUM  DW  2350H ; DATA   ENDS CODE  SEGMENT ASSUME  CS:CODE,DS:DATA GO:  MOV  AX,DATA MOV  DS,AX MOV  AX ,NUM NOT  AX XOR  DL,DL MOV  CX,16,P1:  SHR   AX, 1 JNZ    P2 INC    DL P2:  LOOP  P1 MOV  CL, DL CODE   ENDS  END   GO,8、试编写一汇编程序,要求把一个长度不大于200的字节数组,分别存为正数组、负数组,并统计两个数组的个数,分别存于正、负数组的第一个字节,原数组以“$”结束。 DATA  SEGMENT DA1 DB 25H, BDH, 7FH,94H,65H,A5H, $ DA2 DB 201 DUP(?) ; 正数 DA3 DB 201 DUP(?) ; 负数 DATA ENDS,CODE  SEGMENT ASSUME CS:CODE, DS: DATA START: MOV AX , DATA MOV DS,  AX MOV ES,  AX LEA  SI,  DA1 LEA  DI,  DA2 INC  DI LEA  BX,  DA3   INC  BX XOR DX,DX GO1:    LODS B CMP  AL, $ JZ   JS1,TEST AL,80 JNZ  NEG1 STOSB INC  DL JMP  GO1 NEG1:  XCHG BX, DI STOSB INC  DH XCHG BX,DI JMP GO1,JS1:  LEA  DI,  DA2 MOV DI, DL LEA  BX,  DA3 MOV BX, DH HLT CODE  ENDS END START,9、求出内存单元BUF为起始的20个16位无符号数的累加和和平均值,分别存放于其后的内存单元中。,DATA  SEGMENT NUM   DW  2E50H ,C134H,A76BH SUM   DW  ?,? AVE   DW  ? DATA  END CODE  SEGMENT ASSUME  CS:CODE, DS : DATA,BEGIN: MOV  AX,DATA MOV DS,AX LEA  BX, NUM; LEA  DI,  SUM; LEA  SI,  AVE MOV CX, 20; XOR  AX, AX; XOR  DX, DX LP1:  ADD  AX, BX ; JNC  M1   ; INC   DX   ;,M1:    INC  BX   ; LOOP  LP1   ; MOV   DI, AX MOV   DI 2 ,DX MOV  BX, 20   DIV   BX   ; MOV  SI, AX CODE  ENDS END  BEGIN,10、内存单元X中有一个8位有符号数,按下式计算Y值,并将Y值存于其后的单元。 Y= DATA SEGMENT X    DB   9FH  Y    DW ? DATA  ENDS,CODE   SEGMENT ASSUME CS:CODE,DS:DATA START:  MOV   AX,DATA MOV   DS,AX MOV   AL,X CBW CMP   AX,150 JNL    LOP1 MOV   BX,AX IMUL   BX,MOV   CX,BX SHL    BX,1 ADD   BX,CX  SUB   AX,BX ADD   AX,60 JMP    LOP2 LOP1:   MOV   CL,2 SHL    AX,CL ADD   AX,150,LOP2:   MOV   Y,AX HLT CODE    ENDS  END   START,11、将内存TABLE为起始的20个字节数按从小到大的顺序排列。 DATA   SEGMENT TABLE  DB 12H,84H,53H,76H, 7AH,., COUNT  EQU LENGTH TABLE DATA   ENDS CODE  SEGMENT ASSUME CS: CODE, DS:DATA ,SS:STACK START:    MOV AX, DATA MOV DS, AX MOV BX, OFFSET TABLE,MOV  DX, COUNT S1:    MOV  CX, DX MOV  SI, BX MOV  AL, SI S2:   CMP  AL, SI 1 JL  LP1 XCHG  AL, SI 1 MOV  SI, AL LP1:   INC SI LOOP  S2 DEC  DX JNZ  S1,HLT CODE   ENDS END    START,第五章,练习: 1、存储器的分类?各类存储器的特点?适用的场合? 2、存储器的扩展(串并联、地址译码) 3、高速缓存的原理和作用? 4、存储器体系为什么采用分级结构,主要用于解决存储器中存在的哪些问题?,1、存储器的分类?各类存储器的特点?适用的场合?,3、高速缓存的原理和作用? 高速缓存的原理是基于程序访问的局部性。 其作用是解决主存速度和CPU速度不匹配问题。 4、存储器体系为什么采用分级结构,主要用于解决存储器中存在的哪些问题? 存储器体系采用分级结构,主要有高速缓存、主存、辅存三级组成,主要是想取得较快的存取速度和满足大容量的要求,同时价格较低,即有最好的性价比。 主存、辅存结构解决主存容量不足的问题,且使存储系统价格较低。 高速缓存使主存速度提高,和CPU速度基本匹配。,第六章,练习: 1、CPU与外设之间要传送的信息有哪些? 2、外设端口的编址方式有哪些?各有何特点? 3、 CPU与外设之间传送信息的方式有哪些?各有特点? 4、画出利用74LS244、74LS273扩展少量功能键和LED显示的连接图,地址分别是64H、65H。,1、CPU与外设之间要传送的信息有哪些? 有数据信息:包括数字量、模拟量 、开关量。 状态信息:是外设通过接口往CPU传送的状态 如:“准备好”(、“忙”(BUSY)信号。 控制信息:是CPU通过接口传送给外设的  如:外设的启动信号、停止信号等。 2、外设端口的编址方式有哪些?各有何特点? 统一编址方式 优点:不需要专门的I/O指令;I/O数据存取与存储器数据存取一样灵活。缺点:I/O端口要占去部分存储器地址空间;程序不易阅读,独立编址方式 优点:I/O端口的地址空间独立;控制和地址译码电路相对简单;专门的I/O指令使程序清晰易读 缺点:I/O指令没有存储器指令丰富。 3、 CPU与外设之间传送信息的方式有哪些?各有特点? 有程序方式(包括无条件传送和条件传送)、中断传送方式和DMA方式 无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销  DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送。,第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论