微机原理复习题(27页).doc
-习题11. 将下列十进制数转换成二进制数、八进制数、十六进制数。 (4.75)10= (2.25)10= (1.875)10=2. 将下列二进制数转换成十进制数。 (1011.011)2= (1101.01011)2= (111.001)2=3. 将下列十进制数转换成8421BCD码。 2006= 123.456=4. 求下列带符号十进制数的8位基2码补码。 +127补= 01111111 -1补= 11111111 -128补= 10000000 +1补= 000000015. 求下列带符号十进制数的16位基2码补码。 +655补= -1补= -3212补= +100补=-第 27 页-习题 21. 8086 CPU在内部结构上由哪几部分组成?各部分的功能是什么?答:8086 CPU内部由两大独立功能部件构成,分别是执行部件EU和总线接口部件BIU。执行部件负责进行所有指令的解释和执行,同时管理有关的寄存器。总线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作。2. 简述8086 CPU的寄存器组织。答:8086 CPU内部共有14个16位寄存器,按用途可分为数据寄存器,段寄存器,地址指针与变址寄存器和控制寄存器。数据寄存器包括累加器,基址寄存器,计数器,和数据寄存器。段寄存器用来存放各分段的逻辑段基值,并指示当前正在使用的4个逻辑段。地址指针与变址寄存器一般用来存放主存地址的段内偏移地址,用于参与地址运算。控制寄存器包括指令寄存器和标识寄存器。3. 试述8086 CPU标志寄存器各位的含义与作用。答:标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的6位是状态标识位,3位是控制标识位。状态标志位分别是CF,PF,AF,ZF,SF,和OF。CF:进位标志位。算数运算指令执行后,若运算结果的最高位产生进位或借位,则CF=1,否则CF=0。PF:奇偶标志位。反应计算结果中1的个数是偶数还是奇数。若运算结果的低8位中含有偶数个1,则PF=1;否则PF=0.AF:辅助进位标志。算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1;否则AF=0.ZF:零标志位。若指令运算结果为0,则ZF=1;否则ZF=0。SF:符号标志位。它与运算结果最高位相同。OF:溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。4. 8086 CPU状态标志和控制标志有何不同?程序中是怎样利用这两类标识的?8086的状态标志和控制标识分别有哪些?答:状态标志位反应了当前运算和操作结果的状态条件,可作为程序控制转移与否的依据。它们分别是CF,PF,AF,ZF,SF,和OF。控制标志位用来控制CPU的操作,由指令进行置位和复位,控制标志位包括DF,IF,TF。5. 将1001 1100和1110 0101相加后,标识寄存器中CF, PF, AF, ZF, SF, OF各为何值?6. 段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为多少?指向这一地址的CS指和IP值是唯一的吗?7. 在8086系统中,逻辑地址FFFF:0001,00A2:37F和B800:173F的物理地址分别是多少?8. 在8086系统中,从物理地址388H开始顺序存放下列3个双字节的数据651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH 6个单元中分别是什么数据?习题3 1. 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?(1) MOV AX, 0ABH (2) MOV AX, 100H(3) MOV AX, VAL (4) MOV BX, SI(5) MOV AL, VALBX (6) MOV CL, BXSI(7) MOV VALSI, BX (8) MOV BPSI, 100解:2. 已知(SS)=0FFA0H,(SP)=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。答:3. 设有关寄存器及存储单元的内容如下:(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H, (20101H)=34H, (20102H)=56H, (20103H)=78H, (21200H)=2AH, (21201H)=4CH, (21202H)=0B7H, (21203H)=65H.试说明下列各条指令单独执行后相关寄存器或存储单元的内容。(1) MOV AX, 1800H (2) MOV AX, BX(3) MOV BX, 1200H (4) MOV DX, 1100BX(5) MOV BXSI, AL (6) MOV AX, 1100BXSI5. 若在数据段中从字节变量TABLE相应的单元开始存放了015的平方值,试写出包含XLAT指令的指令序列查找N(015)中的某个平方数。 答:LEA BX, TABLE MOV AL, CL XLAT7. 假定(DX)=1100100110111001B,CL=3,CF=1, 试确定下列各条指令单独执行后DX的值。(1) SHR DX, 1 (2) SHL DL, 1 (3) SAL DH, 1 (4) SAR DX, CL(5) ROR DX, CL (6) ROL DL, CL (7) RCR DL, 1 (8) RCL DX, CL8. 已知程序段如下:MOV AX, 1234HMOV CL, 4ROL AX, CLDEC AXMOV CX, 4MUL CXINT 20H试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF及ZF的值分别是什么?(3)程序运行结束后,AX及DX寄存器的值为多少?9. 试分析下列程序段:ADD AX, BXJNC L2SUB AX, BXJNC L3JMP SHORTL5如果AX,BX的内容给定如下:AX BX(1) 14C6H 80DCH(2) B568H 54B7H问该程序在上述情况下执行后,程序转向何处。习题42假定VAR1 和VAR2 为字变量,LAB 为标号,试指出下列指令的错误之处。(1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JMP LABCX (4)JNZ VAR1 (5) MOV 1000H,100 (6)SHL AL, 4 3对于下面的符号定义,指出下列指令的错误。A1 DB ? A2 DB 10 K1 EQU 1024 (1) MOV K1,AX (2)MOV A1,AX (3)CMP A1,A2 (4)K1 EQU 2048 7. 设变量单元A、B、C存放有3个数,若3个数都不为零,则求3个数的和,存放在D中; 若有一个为零,则将其余两个也清零,试编写程序。答:8. 有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则结束; 否则,按顺序将此元素插入表中适当的位置,并修改表长。答:9. 内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进制(BCD码)数,低位在前。编程序求这两个数的组合的十进制和,并存到以THIRD开始的单元。答: 10. 编写一段程序,接收从键盘输入的10个数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中。加密表如下: 输入数字: 0,1,2,3,4,5,6,7,8,9; 密码数字: 7,5,9,1,3,6,8,0,2,4。答:11.试编程序,统计由40000H开始的16K个单元中所存放的字符“A”的个数,并将结果存放在DX中。答:DATA SEGMENTDA1 DB 'A'BUFF DB 4000H DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,4000H MOV DS,AX MOV BX,0 MOV CX,4000H FIND: MOV AL,BX MOV BL,DA1 CMP AL,BL JNZ NEXT INC DXNEXT: INC SI LOOP FIND MOV AH,4CH INT 21HCODE ENDSEND START12. 在当前数据段(DS),偏移地址为DATAB开始的顺序80个单元中,存放着某班80个同学某门考试成绩。按如下要求编写程序: (1) 编写程序统计90分; 80分89分; 70分79分; 60分69分,60分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX开始的顺序单元中。(2) 试编程序,求该班这门课的平均成绩为多少,并放在该数据段的AVER单元中。答:13. 编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL中。习题51. 试述DRAM的工作特点;与SRAM相比有什么长处和不足之处;说明它的使用场合。答:DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。 而且是行列地址复用的,许多都有页模式。SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用的。与SRAM相比,DRAM价格便宜、速度慢、容量大,主要用来做主存储器,存储程序和数据;而SRAM主要用在Cache等对速度要求高的情况。2. 试述DRAM刷新过程和正常读/写过程的区别。答:刷新是以行为单位进行,且刷新过程中不能进行读写操作。3. 设有一个具有20位地址和32位字长的存储器,问:(1) 该存储器能存储多少个字节的信息?(2) 如果存储器由512K*8位SRAM芯片组成,需要多少片?(3) 需要多少位作芯片选择?4. 对于8K×8位RAM组成的存储器系统,若某组的起始地址为08000H,则其末地址为多少?5. 在8088最大方式系统总线上扩充设计4K字节的SRAM存储器电路。SRAM芯片选用Intel 2114,起始地址从0000H。试画出此存储器电路与系统总线的连接图。6. 在8088系统总线上扩充设计8K的字节的SRAM存储器电路。SRAM芯片选用Intel 6264,起始地址从04000H开始,译码器电路74LS138.(1) 计算此RAM存储区的最高地址是多少。(2) 画出此存储器电路与系统总线的连接图。(3) 编写程序实现对此存储区域进行自检。答:7. 在8086最小方式系统总线上扩充设计16K字节的SRAM存储器电路,SRAM芯片选用Intel 6264,起始地址从04000H开始,译码器电路采用74LS138.(1) 计算此RAM存储区域的最高地址是多少(2) 画出此存储器与总线的连接图。 答:(1) (2) 习题6 1. 什么是接口?接口的功能是什么?答:位于主机与外设之间,用来协助完成数据传送和控制任务的逻辑电路称为接口电路,接口电路对输入/输出过程起缓冲和联络作用。接口的功能有:数据缓冲功能,联络功能,寻址功能,预处理功能,中断管理功能。2. 计算机对I/O端口编址时通常采用哪两种方法?在8086系统中,用哪种方法进行编址?答:I/O端口和存储器统一编址;I/O端口单独编址。8086系统采用I/O端口单独编址方式。8. 什么叫中断向量?它放在哪里?对于1CH的中断向量在哪里?如果1CH的中断程序从5110H开始:2030H开始,则中断向量应该怎样存放? 答:中断向量即用来提供中断入口地址的一个指针。9. 类型号为20H的中断服务程序入口符号地址为INT-5,试写出中断向量的装入程序片段。答:MOV AX, 0MOV DS, AXMOV SF, 20H*4LEA AX, IMSMOV IS, AXMOV AX, SEQ, INTSMOV SI+2, AX习题7 3.假定8255的端口地址分别为0060H,0063H,编写出下列各情况的初始化程序:(1) 将A口,B口设置方式0,端口A和C作为输入口,B作为输出口(2) 将A口设置成方式1,输入口,PC6,PC7作为输出端,B口设置成方式1,输入口答:2. 设8253计数器02和控制字I/O地址依次F8HFBH,说明如下程序的作用。MOV AL, 33HOUT 0FBH, ALMOV AL, 80HOUT 0F8H, ALMOV AL, 50HOUT 0F8H, AL答: 7. 试按如下要求分别编写8253的初始化程序,已知8253的计数器02和控制字I/O地址依次为04H07H (1)计数器1工作在方式0,仅用8位二进制计数器,计数初值为128 (2)计数器0工作在方式1,按BCD码计算,计数值为3000 (3)计数器工作在方式2,计数值为02F0H答:8. 设一个8253的计数器0产生20ms的定时信号,试对它进行初始化编程。9让一个计数器3工作在单稳态方式,让它产生15ms的脉冲宽度。10.请把一个8253与8086CPU相连,地址为2FF02FF3H。芯片容量计算题:1.设有一个具有13位地址和8位字长的存储器问1) 存储器能存储多少字节信息?2)如果存储器由1K*4bRAM芯片组成,共需要多少片?3)需要哪几位做片选译码来产生片选信号?汇编语言编程题:芯片初始化程序: