微机原理与接口技术周荷琴课后习题答案.doc

上传人:sk****8 文档编号:4251944 上传时间:2019-10-08 格式:DOC 页数:21 大小:1.71MB
下载 相关 举报
微机原理与接口技术周荷琴课后习题答案.doc_第1页
第1页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第2页
第2页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第3页
第3页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第4页
第4页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、微机原理与接口技术习题参考答案第一章(p20)1、参考答案:冯诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):计算机分为计算器、控制器、存储器、输入和输出装置五个部分;计算机内采用二进制;将程序存储在计算机内,简称“程序存储”。其中第三点是冯诺依曼计算机设计的精华,所以人们又把冯诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。冯诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU

2、不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。微型计算机系统结构如下图所示。3、答案略,见p674、答案略,见图2,或教材图1-35、答案略,见p12136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址2201M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。7、参考答案:PCI(Peripheral Component Interconnect:外围设备互联),

3、是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium微型计算机。PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI总线上。USB(Universal Serial Bus:通用串行总线),是1994年由Compaq,IBM,Microsoft等多家公司联合提出的。USB有两种规格:V1.1和V2.0,USB 1.1传输速

4、度为12M/秒,而USB 2.0提高至360到480M/秒。USB 2.0是向下兼容USB 1.1,这意味着将一个USB 2.0的设备插到USB 1.1口中,只能按USB 1.1的速度运行。 USB连接方式十分灵活,支持热插拔,不需要单独的供电系统。可以通过一条4线串行线缆访问USB设备,用于连接键盘、鼠标、投影仪、数码相机等,现在成为每一台计算机都必须配备的标准接口。8、参考答案:DB-Define byte 定义一个字节类型的变量,并为该变量分配内存DWDefine word 定义一个字类型的变量,并为该变量分配内存DD.Define double word 定义一个双字类型的变量,并为该

5、变量分配内存9、参考答案:(1)1101.01b=13.25d(或13.25)(2)111001.0011b=57.1875(3)101011.0101b=43.3125(4)111.0001b=7.0625如何转换?例如:101011.0101b125+123+12+1+12-2+12-4= 32+8+2+1+0.25+0.0625=43.312510、参考答案:(1)A3.3H=1016+3+316-1=163.1875(2)129.CH=1162+216+9+1216-1=297.75(3)AC.DCH=1016+12+1316-1+1216-2=172.259375(4)FAB.3H=

6、15162+1016+11+316-1=4011.187511、参考答案:(1)23=10111B=27Q=17H(2)107=1101011B=153Q=6BH(3)1238=10011010110B=2326Q=4D6H(4)92=1011100B=134Q=5CH12、参考答案:即把下面的数用8位补码表示(1)+32=00100000B(2)-12=11110100B,即求-12的补码(3)+100=01100100B(4)-92=10100100B,即求-92的补码13、参考答案:压缩BCD码就是用4位二进制表示一个09之间的十进制数非压缩的BCD码就是用8位二进制表示一个09之间的十

7、进制数,8位二进制的最高4位可以位任何数,例如0000,09的ASCII码实际上就是09的非压缩BCD码的表示。十进制数压缩BCD码非压缩BCD码1020001 0000 001000000001 00000000 00000010440100 010000000100 000001003010011 0000 000100000011 00000000 0000000110000001 0000 0000 000000000001 00000000 00000000 0000000014、参考答案:如果二进制最高位为0,则该数为正数,反之,如果最高位为1,则该数为负数,对其做求补运算就得到其

8、相反数。(1)10000000B=-128(2)00110011B=+51(3)10010010B=-78(4)10001001B=-11915、参考答案:一个单精度浮点数占4个字节(双字),即32位二进制,其中符号位占1位,指数部分占8位,尾数部分占23位。十进制数表示成单精度浮点数的方法如下:填充符号位,如果是正数填0,如果是负数填1将数表示成二进制形式,并进行规格化对于单精度浮点数,指数加上127(7FH);对于双精度浮点数,指数要加上1023 (3FFH),并填充指数位填充尾数位(1)+1.5 由于是正数,所以符号位为0;写成二进制并规格化得到1.120,由于2的指数是0,所以指数部分

9、以0+127=01111111填充;由知,尾数为1,所以尾数部分以10000000000000000000000(1后面跟22个0)填充,综上,得到+1.5的单精度浮点数表示为:+1.50 01111111 10000000000000000000000B写成十六进制数为:+1.5=3F C0 00 00H(2)-10.625=C12A0000H(3)+100.25=42C88000H(4)-1200.0=C4960000H16、参考答案:(1)0 10000000 11000000000000000000000B=3.5(2)1 01111111 0000000000000000000000

10、0B=-1.0(3)0 10000000 10010000000000000000000B=3.125第二章(p55p56)1、答案略,见p22242、答案略,见p24273、答案略,见p334、参考答案(其他可以参照本章相关内容): CPU:又称微处理器,是计算机系统的核心,一般由逻辑运算单元、控制单元和一些寄存器组成。这些寄存器用于CPU在处理数据过程中数据的暂时保存。它主要完成从存储器中取指令,指令译码;算术逻辑运算;在处理器和存储器或I/O接口之间传送数据;程序的流向控制等。 存储器:是计算机系统的记忆部件,主要用来存储程序和数据。存储器一般分为内部存储器和外部存储器两大类。内部存储器

11、(内存)存放当前正在使用或经常使用的程序和数据,CPU可以直接访问;外存存放“海量”数据,相对来说不经常使用,CPU使用时要先调入内存。内部存储器又可以分为随机存取存储器(RAM)和只读存储器(ROM)。计算机系统存储器的三层结构:按存储容量由低到高(或按存取速度由高到低)分为高速缓冲存储器(CACHE)、主存、辅存三层。 堆栈(Stack):堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据;当前栈顶单元一般采用SP指向,栈底设在存储器的高地址区,堆栈地址由高到低增长;堆栈的工作方式是“后进先出”,用入栈指令PUSH 和出栈指令POP可将数据压入堆栈或从堆栈中弹出数据,栈顶指针SP的变

12、化由CPU自动管理,入栈操作SP减小,出栈操作SP增大;堆栈的操作以字为单位。 机器语言(Machine Language):计算机唯一能接受和执行的语言。机器语言由二进制码组成,每一串二进制码叫做一条指令,一条指令规定了计算机执行的一个动作,一台计算机所能懂得的指令的全体,叫做这个计算机的指令系统,不同型号的计算机的指令系统不同。使用机器语言编写程序是一种相当烦琐的工作,既难于记忆也难于操作,编写出来的程序全是由0和1的数字组成,直观性差、难以阅读。不仅难学、难记、难检查、又缺乏通用性,给计算机的推广使用带来很大的障碍。 汇编语言(Assembly Language):是一种符号语言,它和机

13、器语言几乎一一对应,在书写时使用字符串组成的助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,如微软的宏汇编程序MASM.EXE。汇编程序把汇编语言翻译成机器语言的过程称为汇编。汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。 指令(Instruction):指令是能被计算机识别并执行的

14、二进制代码,它规定了计算机能完成的某一操作。一条指令通常由两个部分组成:操作码+操作数。操作码:指明该指令要完成的操作的类型或性质,如取数、做加法或输出数据等。操作数:指明操作对象的内容或所在的存储单元地址(地址码),操作数在大多数情况下是地址码,地址码可以有03个。9、参考答案:题号段起始地址段结束地址a)1000H10000H1FFFFHb)1234H12340H2233FHc)2300H23000H32FFFHd)E000HE0000HEFFFFHe)AB00HAB000HBAFFFH注意:段起始地址和段结束地址均为20位的物理地址;段起始的偏移量为0000H,所以段起始地址为段基地址1

15、6偏移地址;由于每个段的最大容量为64K字节,段结束的偏移量为FFFFH,所以段结束地址为段基地址16偏移地址段基地址16FFFFH10、参考答案:a) CS:IP=1000H:2000H 下一条指令的存储器地址为(CS)16+(IP)=12000Hb) CS:IP=2000H:1000H 下一条指令的存储器地址为(CS)16+(IP)=21000Hc) CS:IP=1A00H:B000H 下一条指令的存储器地址为(CS)16+(IP)=25000Hd) CS:IP=3456H:AB09H 下一条指令的存储器地址为(CS)16+(IP)=3F069 H11、参考答案:a) DS=1000H,D

16、I=2000H 存储单元地址为:(DS)16+(DI)=12000Hb) SS=2300H,BP=3200H 存储单元地址为:(SS)16+(BP)=26200Hc) DS=A000H,BX=1000H 存储单元地址为:(DS)16+(BX)=A1000Hd) SS=2900H,SP=3A00H 存储单元地址为:(SS)16+(SP)=2CA00H12、参考答案:堆栈段在存储器中的物理地址(即堆栈段的起始地址)为:(SS)16+0000H=35000H入栈10个字节后,SP=0800H-10=07F6H再出栈6个字节,SP=07F6H+6=07FCH13、参考答案:示意图如左图所示,如果要读取

17、这两个字,则需要对存储器进行三次操作。由于字2A8CH存放在偶地址开始的单元,所以只进行一次存储器操作就可以读取该字;由于字1EE5H存放在奇地址开始的单元,所以需要进行两次存储器操作才可以读取该字。14、参考答案:段段起始地址段结束地址DS10E40H20E3FHES10F40H20F3FHSS21F00H31EFFHCS31FF0H41FEFH可见,DS和ES有部分的重叠,重叠区域大小为:20E3FH-10F40H+1=FF00H字节;ES和SS之间有空隙,空隙的大小为:21F00H-20F3FH+1=0FC2H字节;SS和CS之间有空隙,空隙的大小为:31FF0H-31EFFH+1=00

18、F2H字节OF SF ZF CF 均为017、参考答案:IF标志位控制INTR引脚20、答案略,见p4921、答案略第三章(p121p124)1、参考答案:题号源操作数寻址方式目的操作数寻址方式(1)立即寻址寄存器寻址(2)立即寻址寄存器寻址(3)寄存器间接寻址寄存器寻址(4)寄存器寻址寄存器相对寻址(5)寄存器寻址寄存器相对寻址(6)立即寻址基址变址寻址(7)基址变址寻址寄存器寻址(8)寄存器寻址相对基址变址寻址(9)直接寻址*寄存器寻址(10)寄存器寻址寄存器寻址*对于IN指令,如果是长格式,源操作数的数字不是立即数,而是端口地址,所以源操作数的寻址方式是直接寻址;如果是短格式,即端口地址

19、存放在DX寄存器中,则源操作数的寻址方式为寄存器间接寻址,如:IN AX,DX对于OUT指令,如果是长格式,目的操作数的数字不是立即数,而是端口地址,所以目的操作数的寻址方式是直接寻址,如OUT 20H,AL;如果是短格式,即端口地址存放在DX寄存器中,则目的操作数的寻址方式为寄存器间接寻址,如:OUT DX,AX2、参考答案:题号源操作数寻址方式源操作数有效地址源操作数物理地址指令执行后AX中的内容(1)立即寻址-0200H(2)直接寻址0200H10200H2A10H(3)寄存器寻址-0200H(4)寄存器相对寻址0203H10203H5946H(5)基址变址寻址0202H10202H46

20、3CH(6)相对基址变址寻址0204H10204H6B59H注:10200H10205H单元存储状况如左图所示3、参考答案:题号源操作数寻址方式源操作数有效地址源操作数物理地址(1)直接寻址0100H(DS)16EA=10100H(2)直接寻址0030H(DS)16EA=10030H(3)寄存器间接寻址0100H(DS)16EA=10100H(4)寄存器间接寻址0100H(ES)16EA=20100H(5)寄存器间接寻址00A0H(DS)16EA=100A0H(6)寄存器相对寻址0110H(DS)16EA=10110H(7)寄存器间接寻址0200H(SS)16EA=35200H(8)相对基址变

21、址寻址02D0H(SS)16EA=352D0H(9)相对基址变址寻址0154H(DS)16EA=10154H(10)基址变址寻址0224H(SS)16EA=35224H4、答案略5、参考答案:(1)该数据段的存储状况如下表所示:ABCDE000102030405060708090A0B0C0D0E0F101112131415162410434F4D50555445523412FF0000000000009A450012注:表格的第一行为变量名称;第三行的每个小格子代表一个存储单元;第二行为存储单元的偏移地址以十六进制表示,从中可以看出各变量在数据段中的偏移地址,A的偏移地址为0000H,B的偏

22、移地址为0002H,C的偏移地址为000AH,D的偏移地址为000EH,E的偏移地址为0013H;第三行为存储单元的具体内容,以十六进制表示。(2)写出各条指令执行后的结果指令执行后的结果MOV AL,AAL=24HMOV DX,CDX=1234HXCHG DL,ADL=24H,A变量的第一个单元的内容变为34HMOV BX,OFFSET BBX=0002HMOV CX,3BXCX=5550HLEA BX,DBX=000EHLEA SI,ESI=0013HLEA DI,EDI=0013H6、参考答案:题号错误原因(1)两操作数的类型不一致(2)立即数不能做目的操作数(3)立即数不能直接传送给段

23、寄存器(4)两操作数不能同时为存储器操作数(5)IP寄存器的内容不能由用户更改,而由系统自动修改(6)正确(7)两基址寄存器不能放在一起使用(8)正确(9)两变址寄存器不能放在一起使用(10)不能取立即数的偏移地址,OFFSET操作符使用不当(11)存储单元的偏移地址应为字类型,不能放到字节寄存器中(12)XCHG指令的操作数不能为立即数(13)IN指令从端口读取的数据只能放在累加器AL或AX中(14)OUT指令的源操作数应为累加器,目的操作数应为端口地址,且如果端口地址超过0FFH(255),端口地址应放在DX寄存器中7、程序片段如下:LEA BX,TABLEMOV AL,57MOV AH,

24、0MOV DL,10DIV DLPUSH AXXLATMOV CH,ALPOP AXMOV AL,AHXLATMOV CL,ALMOV BX,CX8、解答:SP的变化情况指令执行后SP内容PUSH AXSPSP-200FEHPUSH BXSPSP-200FCHPOP BXSPSP+200FEHPOP AXSPSP+20100H9、已知AX=1234H,BX=3456H,CX=5678H,DX=789AH,CF=1则单独执行下列各条指令后,各相关寄存器内容是什么?题号指令执行后相关寄存器内容(1)AL=0ACH(2)BX=8ACFH(3)AX=EB24H(4)BX=3455H(5)CX=0A98

25、8H(6)BL=57H(7)乘积为双字存放在DX:AX中:DX=03B8H AX=0AD78H(8)商存放在AL中,余数存放在AH中:AL=26H AH=64H10、参考程序片段如下:;定义数据段DATA SEGMENTARRAY DB 60,65,72,76,77,66,79NEW DB 7 DUP(0)SUM DB 0AVERAGE DB 0DATA ENDS;程序代码如下MOV CX,7MOV SUM,0MOV SI,0NEXT:MOV AL,ARRAYSIADD SUM,AL;总分存入SUM中ADD AL,5MOV NEWSI,ALINC SILOOP NEXTMOV AL,SUMMO

26、V AH,0MOV CL,7DIV CLMOV AVERAGE,AL;平均分存入AVERAGE中11、参考答案:题号结果CF(1)AH=04H0(2)BL=36H0(3)AX=0DAF7H0(4)CX=0FFF4H0(5)相关寄存器内容没有改变0(6)相关寄存器内容没有改变0(7)DX=0186H0(8)AL=04H0(9)BH=0F0H0(10)AX=4A10H0(11)BX=1E6CH0(12)DX=4186H012、参考答案:(1)程序片段如下:LEA SI,STRINGLEA DI,GET_CHARMOV CX,26CLDREP MOVSB(2)程序片段如下:先定义一个附加段,用来存放

27、The computerEXTRA SEGMENTS2 DB The computerEXTRA ENDSLEA SI,STRINGLEA DI,S2MOV CX,12CLDREPZ CMPSBJZ NEXT;若比较的两个字符串相同,则跳到NEXT执行MOV AL,0; 若比较的两个字符串不相同SUB CL,12NEG CLMOV BL,CL;比较的次数存入BL中RETNEXT:MOV AL,1MOV BL,12RET(3)程序片段如下:LEA DI,STRING;被查找的字符串STRING作为目的串MOV AL,&MOV CX,26CLDREPNZ SCASBJNZ EXIT;如果没有找到,

28、直接退出DEC DI;找到&字符的位置MOV BYTE PTR ES:DI,20H;用空格字符替换EXIT: RET(4)完整的程序如下*:;这里的DATA既作为数据段,又作为附加段,即数据段和附加段公用一个段DATA SEGMENTSTRING DB The Personal Computer & TVCOUNT EQU $-STRINGCAPS DB COUNT DUP(0)CHART DB COUNT DUP(0)DATA ENDSCODE SEGMENTASSUME DS:DATA,ES:DATA,CS:CODEMAIN PROC FARPUSH DSXOR AX,AXPUSH AXM

29、OV AX,DATAMOV DS,AXMOV ES,AX;把字符串中大写字母传送到CAPS开始的单元中LEA SI,STRINGLEA DI,CAPSMOV CX,COUNTCLDAGAIN1:LODSBCMP AL,41HJB NEXT1CMP AL,5AHJA NEXT1STOSBNEXT1:LOOP AGAIN1;把字符串中其余字母传送到CHART开始的单元中LEA SI,STRINGLEA DI,CHARTMOV CX,COUNTCLDAGAIN2:LODSBCMP AL,41HJB NEXTCMP AL,5AHJBE NEXT2NEXT:STOSBNEXT2:LOOP AGAIN2;

30、将STRING字符串清零LEA DI,STRINGMOV AL,0MOV CX,COUNTCLDREP STOSBRETMAIN ENDPCODE ENDSEND MAIN13、完整的程序如下:CODE SEGMENTASSUME CS:CODEMAIN PROC FARPUSH DSXOR AX,AXPUSH AXXOR SI,SI;SI中存放DX中1的个数XOR DX,DXMOV AX,1234HMOV CX,16AGAIN:ROR AX,1JNC NEXTINC SIPUSH CXDEC CLMOV BX,1SHL BX,CLOR DX,BXPOP CXNEXT:LOOP AGAINRE

31、TMAIN ENDPCODE ENDSEND MAIN程序的运行结果:AX=1234H DX=2C48H SI=0005H,结果正确14、参考答案:指令跳转类型程序的转向*(1)JMP PROG_N段内直接跳转IP=0278H(2)JMP BX段内间接跳转IP=(BX)=0300H(3)JMP BX段内间接跳转IP=(DS)16(BX)=(20300H)=4800H(4)JMP FAR PROG_F段间直接跳转IP=0ABCH CS=3400H(5)JMP DWORD PTR BX段间间接跳转IP=(20300H)=4800H CS=(20302H)=00FFH*如果是段内转移,跳转指令只改变

32、IP寄存器的内容,前三条跳转指令是段内跳转;如果是段间跳转,跳转指令同时改变IP和CS寄存器的内容,后两条跳转指令是段间跳转。15、参考答案:寄存器LOOP NEXTLOOPE NEXTLOOPNE NEXTAX2 3 4 522 3BX4 7 11 1644 7CX3 2 1 033 2DX1 0 0 011 0注意:三个循环指令LOOP、LOOPE和LOOPNE终止循环的条件是不一样的。16、参考答案:中断向量表的作用:中断向量表用于存放256种中断的中断服务程序的入口地址,每种类型中断的中断服务程序的入口地址占用4个字节,存储CS和IP,总共需要1024个字节,即1K字节。中断向量表位于

33、内存的最低1K字节,地址范围为:00000H003FFH。类型3的中断的中断服务程序的入口地址存放在:0000CH0000FH这四个单元。17、参考答案:如下图所示解释:由于中断类型号为2,所以该类型中断的中断服务程序入口地址占据内存最低1K字节的24,24+1,24+2,24+3四个单元。前两个单元存放中断服务程序IP值,即0016H,后两个单元存放中断服务程序的CS值,即0485H。由于CS和IP值均为一个字,所以在存放中断服务程序入口地址的CS和IP值时,低位字节存放在低地址区,高位字节存放在高地址区。18、参考答案:(1)中断类型号为16(2)该中断服务程序的起始地址是:CS:IP=D

34、169H:240BH解释:由于中断向量表中地址为0040H开始存放某类型中断的中断服务程序的入口地址,所以0040H除以4就可以得到该类型中断的中断类型号n,即n=16。中断服务程序的入口地址的CS值存放在0042H单元里,IP值存放在0040H单元里。19、参考答案:中断类型号(专用中断)响应中断的条件0:被0除当除数为0或商超过了寄存器所能表示的范围,就产生了一个类型为0的中断1:单步中断,由Debug单步调试引起当TF=1,每条指令执行后,CPU自动产生类型为1的中断2:NMI不可屏蔽中断,用来处理紧急事件,如:电源掉电,CPU必须予以响应3:断点中断,由Debug设置断点引起用debu

35、g调试程序时,可用g命令设置断点,当CPU执行到断点时便产生类型为3的中断,同时显示当前各寄存器和有关存储器的内容及下条要执行的指令,供用户检查。4:溢出中断如果当前运算的结果产生溢出,则OF=1,下面紧跟溢出中断指令INTO,立刻产生一个类型为4的中断20、参考答案:MOV CX,N;4个时钟周期NEXT:NOP;N3个时钟周期NOP;N3个时钟周期LOOP NEXT;(N-1)17+15个时钟周期由f=5MHz,t=0.2us,延时5ms需要个时钟周期所以:4+N3N3(N-1)17+15=25000解得:N=1087第四章(p205p206)1、参考答案(写出各变量在内存中的存储状况)A

36、1 DW 23H,5678HA2 DB 3 DUP(?),0AH,0DH,$A3 DD 5 DUP(1234H,567890H)A4 DB 4 DUP(3 DUP(1,2,ABC)变量A1占4个字节,在内存中的存储状况(以十六进制表示,从左到右地址依次增加,以下同):23 00 78 56变量A2占6个字节,在内存中的存储状况:00 00 00 0A 0D 24变量A3占40个字节,在内存中的存储状况:34 12 00 00 90 78 56 00 (再重复4遍)变量A4占60个字节,在内存中的存储状况:01 02 41 42 43 01 02 41 42 43 01 02 41 42 43

37、01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43(带下画线部分重复4遍)2、参考答案(写出各指令执行后的结果)指令结果MOV AX,00FFH AND 1122H+3344HAX=0066H,先加后与MOV AL,15 GE 1111BAL=0FFHMOV AX,00FFH LE 255+6/5AX=0FFFFH,先加后比较AND AL,50 MOD 4AL=02HOR AX,

38、0F00FH AND 1234 OR 00FFHAX=0FFFFH,先与后或,再把计算的结果同AX进行或运算,最终结果保存在AX中3、参考答案:L=6,L的值实际就是BUF变量在内存中占有的字节数。4、参考答案:PLENGTH=22,PLENGTH的值实际就是三个变量PAR、PNAME和COUNT在内存中占有的总的字节数。5、参考答案:AX=1 BX=20 CX=16、参考答案:AH=00H7、(1)利用中断调用产生5秒延时data segments db 5 second is gone,13,10,$data endscode segmentassume cs:code,ds:datama

39、in proc farmov ax,datamov ds,axmov ah,2chint 21h;取得当前时间:ch时 cl分 dh秒 dl1/100秒mov bl,dhcontinue:mov ah,2chint 21hsub dh,blcmp dh,5jb continue;判断两次取得时间间隔是否为5秒钟,如果不是则继续读取时间lea dx,s;如果达到5秒,则显示一条信息mov ah,9int 21hmov ax,4c00hint 21hmain endpcode endsend main(2)利用中断调用,在屏幕上显示19之间的随机数思路:利用DOS系统功能调用得到当前时间,其中的d

40、l寄存器中存放的是1/100秒,可以用来产生随机数。code segmentassume cs:codemain proc farmov ah,2chint 21hmov al,dl;取得1/100秒,不同时间运行该程序时得到的这个数字也不一样,具有随机性mov ah,0mov bl,9;除以9div bl;相除后的余数ah的范围为08inc ah;加1后得到19之间的数add ah,30h;转换为ASCII码mov dl,ahmov ah,2int 21h;在屏幕上显示该数mov ax,4c00hint 21hmain endpcode endsend main8、(1)二进制到压缩BCD码

41、的转换。把AX中的二进制数转换为压缩的BCD码,仍然存放AX寄存器中。例如:如果AX中的二进制数为0010 0110 1001 0100B=2694H,化成十进制数是9876,其压缩的BCD码是1001 1000 0111 0110,用十六进制表示是9876H。即这种转换实际就是把2694H转换为9876H。考虑到AX中能够存放的最大的四位压缩BCD数为9999H,所以在转换之前需要判断AX中的二进制数不能超过9999,即270FH。第五章(p237238)1、静态RAM和动态RAM的区别静态RAM(SRAM)动态RAM(DRAM)集成度低高容量小大刷新无附加刷新电路速度快较慢应用场合高速缓冲

42、存储器(CACHE)内存条2、ROM、PROM、EPROM、EEPROM在功能上各有何特点答案略(见教材p208)3、DRAM的CAS和RAS输入的用途是什么?答:为了提高DRAM的集成度,减少引脚的数目,DRAM的地址线分成行地址和列地址两部分,在对存储器进行访问时,先由行地址选通信号RAS把行地址送入行地址锁存器,再由列地址选通信号CAS把列地址送入列地址锁存器,并由读写信号控制数据的读出或写入。4、什么CACHE?作用是什么?处于微处理机中的什么位置?答:CACHE即高速缓冲存储器,通常由SRAM组成。其作用是:将经常访问的代码和数据保存到由SRAM组成的高速缓冲存储器中,把不经常访问的

43、数据保存到由DRAM组成的主存中,这样使存储器系统的价格降低,同时又降低了接近零等待的性能,大大的提高了系统的性能。CACHE位于CPU和主存储器之间。7、用10241位的RAM芯片组成16K8位的存储器,需要多少芯片?在地址线中有多少位参与片内寻址?多少位合成片选信号?(设地址总线为16位)答:需要168128片RAM芯片,其中每8片为一组,总共有16组;地址线中有10位参与片内寻址;由于有16组芯片,余下的6根地址线中至少需要4根合成片选信号,来选中其中的一组芯片。8、现有一存储器芯片的容量为5124位,若要用它组成4KB的存储器,需要多少这样的芯片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线?答:需要的芯片的数目为16片,每两片为一组,共有8组;每块芯片需要9根寻址线;由于共有8组芯片,至少需要3根地址线合成片

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 自然科学

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。