(完整版)微机原理与接口技术(第2版)牟琦主编习题答案_第1页
(完整版)微机原理与接口技术(第2版)牟琦主编习题答案_第2页
(完整版)微机原理与接口技术(第2版)牟琦主编习题答案_第3页
(完整版)微机原理与接口技术(第2版)牟琦主编习题答案_第4页
(完整版)微机原理与接口技术(第2版)牟琦主编习题答案_第5页
免费预览已结束,剩余40页可下载查看

下载本文档

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

文档简介

1、习题11. 什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合.汇编语言是面向及其的程序设计语言.在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码.这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言.使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起译作用的程序叫汇编程序.2. 微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便.这些特点是由于微型计

2、算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺根底之上.3. 微型计算机系统由哪些功能部件组成?试说明“存储程序限制的概念.答:微型计算机系统的硬件主要由运算器、限制器、存储器、输入设备和输出设备组成.“存储程序限制的概念可简要地概括为以下几点: 计算机指硬件应由运算器、存储器、限制器和输入/输出设备五大基本部件组成. 在计算机内部采用二进制来表示程序和数据. 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的根本含义. 五大部件以运算器为中央进行组织.4. 请说明微型计算机系统的

3、工作过程.答:微型计算机的根本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作.如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的根本功能.5. 试说明微处理器字长的意义.答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数.它决定着计算机内部存放器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价.计算机的字长越大,其性能越优越.在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快.6. 微机系统中采用的总线结

4、构有几种类型?各有什么特点?答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型.7. 将以下十进制数转换成二进制数、八进制数、十六进制数. 4.7510=0100.112=4.68=4.C16 2.2510=10.012=2.28=2.816 1.87510=1.1112=1.78=1.E168. 将以下二进制数转换成十进制数. 1011.0112=11.610 1101.010112=13.5810 111.0012=7.2109. 将以下十进制数转换成8421BCD码. 2006=0010000000000110BCD

5、123.456=000100100011.010001010110BCD10. 求以下带符号十进制数的8位基2码补码.+127补=01111111-1补=11111111-128补=10000000+1补=0000000111. 求以下带符号十进制数的16位基2码补码.+655补=0000001010001111-1补=1111111111111110-3212补=1111011101011100+100补=0000000001100100习题21 .8086CPU在内部结构上由哪几局部组成?各局部的功能是什么?答:8086CPU内部由两大独立功能部件构成,分别是执行部件和总线接口部件.执行部

6、件负责进行所有指令的解释和执行,同时治理有关的存放器.总线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作.2 .简述8086CPU的存放器组织.答:8086CPU内部共有14个16位存放器,按用途可分为数据存放器,段寄存器,地址指针与变址存放器和限制存放器.数据存放器包括累加器,基址存放器,计数器,和数据存放器.段存放器用来存放各分段的逻辑段基值,并指示当前正在使用的4个逻辑段.地址指针与变址存放器一般用来存放主存地址的段内偏移地址,用于参与地址运算.限制存放器包括指令存放器和标识存放器.3 .试述8086CPU标志存放器各位的含义与作用.答:标志存放器是16位的存放

7、器,但实际上8086只用到9位,其中的6位是状态标识位,3位是限制标识位.状态标志位分别是CF,PF,AF,ZF,SF,和OF;限制标志位包括DF,IF,TFoCF:进位标志位.算数运算指令执行后,假设运算结果的最高位产生进位或借位,贝UCF=1,否贝UCF=0oPF:奇偶标志位.反响计算结果中1的个数是偶数还是奇数.假设运算结果的低8位中含有偶数个1,那么PF=1;否那么PF=0.AF:辅助进位标志.算数运算指令执行后,假设运算结果的低4位向高4位产生进位或借位,那么AF=1;否那么AF=0.ZF:零标志位.假设指令运算结果为0,那么ZF=1;否那么ZF=0.SF:符号标志位.它与运算结果最

8、高位相同.OF:溢出标志位.当补码运算有溢出时,OF=1;否那么OF=0.DF:方向标志位.用于用操作指令,指令字符串处理时的方向.IF:中断允许标志位.用来限制8086是否允许接收外部中断请求.TF:单步标志位.它是为调试程序而设定的陷阱限制位.4 .8086CPU状态标志和限制标志有何不同?程序中是怎样利用这两类标识的?8086的状态标志和限制标识分别有哪些?答:状态标志位反响了当前运算和操作结果的状态条件,可作为程序限制转移与否的依据.它们分别是CF,PF,AF,ZF,SF,和OF.限制标志位用来限制CPU的操作,由指令进行置位和复位,限制标志位包括DF,IF,TF.5 .将100111

9、00和11100101相加后,标识存放器中CF,PF,AF,ZF,SF,OF各为何值?答:CF=1,PF=1,AF=1,ZF=0,SF=1,OF=06 .什么是存储器的物理地址和逻辑地址?在8086系统中,如何由逻辑地址计算物理地址?答:逻辑地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫逻辑地址.物理地址是真实存在的唯一地址,指的是存储器中各个单元的单元号.在8086系统中,物理地址二段地址X10H+偏移地址7 .段存放器CS=1200H,指令指针存放器IP=4000H,此时,指令的物理地址为多少?指向这一地址的CS指和IP值是唯一的吗?答:此指令的物理地址=1200HX10H+4

10、000H=16000H并且指向这一物理地址的CS值和IP值并不是唯一的.8 .在8086系统中,逻辑地址FFFF:0001,00A2:37F和B800:173F的物理地址分别是多少?逻辑地址FFFF:000100A2:3TFB800:173F物理地址FFFF1H00D9FHB973FH9 .在8086系统中,从物理地址388H开始顺序存放以下3个双字节的数据651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH6个单元中分别是什么数据?答:(388H)=1AH,(389H)=65H,(38AH)=61H,(38BH)=DTH,(38CH)=7

11、BH,(38DH)=00H10 .8086微处理器有哪几种工作模式?各有什么特点?答:8086微处理器有最大和最小工作模式.在最小模式下:8086CPU直接产生全部总线限制信号(DT/R,DEN,ALE,M/IO)和命令输出信号(RD,WR,INTA)并提出请求访问总线的逻辑信号HOLD,HLDA.在最大工作模式下,必须配置8288总线限制器,并且根据8086提供的状态信号S2,S1,S0,输出读写限制命令,可以提供灵活多变的系统配置,以实现最正确的系统性能.11 .简述8086引脚信号中M/IO,DT/R,RD,WR,ALE,DEN和BHE的作用.答:M/IO:输出信号,高电平时,表示CPU

12、与存储器之间数据传输;低电平时,表示CPU与I/O设备之间数据传输.DT/R:限制其数据传输方向的信号.DT/R=1时,进行数据发送;DT/R=0时,进行数据接收.RD:CPU的读信号,RD=0时,表示8086为存储口或I/O端口读操作.WR:CPU的写信号,WR=0时,表示8086为存储口或I/O端口写操作.ALE:地址存锁信号,在T1能时刻有效.DEN:数据选通信号,当DEN有效时,表示允许传输.BHE:数据总线允许信号,与A0组合使用,表示是否访问奇地址字节.12 .简述8086读总线周期和写总线周期和引脚上的信号动尖态变化过程.8086的读周期时序和写周期时序的区别有哪些?答:在808

13、6读周期内,有关总线信号的变化如下:M/iO:在整个读周期保持有效,当进行存储器读操作时,M/IO为高电平;当进行I/O端口读操作时,M/6为低电平.A19/S6A16/S3:在T1期间,输出CPU要读取的存储单元或I/O端口的地址高4位.T2T4期间输出状态信息S6-S3OBHE/S7:在T1期间,输出BHE有效信号BHE为低电平,表示高8位数据总线上的信息可以使用,BHE信号通常作为奇地址存储体的体选信号偶地址存储体的体选信号是最低地址位Ao0T2T4期间输出高电平.AD15AD0:在Ti期间,输出CPU要读取的存储单元或I/O端口的地址Ai5A0.T2期间为高阻态,T3T4期间,存储单元

14、或I/O端口将数据送上数据总线.CPU从AD15ADo上接收数据.ALE:在Ti期间地址锁存有效信号,为一正脉冲,系统中的地址锁存器正是利用该脉冲的下降沿来锁存A19/S6A16/S3,AD15AD.中的20位地址信息以及BHE.RD:T2期间输出低电平送到被选中的存储器或I/O接口,注意,只有被地址信号选中的存储单元或I/O端口,才会被RD信号从中读出数据数据送上数据总线AD15AD.DT/R:在整个总线周期内保持低电平,表示本总线周期为读周期,在接有数据总线收发器的系统中,用来限制数据传输方向.DEN:在T2T3期间输出有效低电平,表示数据有效,在接有数据总线收发器的系统中,用来实现数据的

15、选通.总线写操作的时序与读操作时序相似,具不同处在于:AD15AD.:在T2T4期间送上欲输出的的数据,而无高阻态.W:从T2T4,而引脚输出有效低电平,该信号送到所有的存储器和I/O接口.注意,只有被地址信号选中的存储单元或I/O端口才会被而信号写入数据.DT/R:在整个总线周期内保持高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来限制数据传输方向.1. 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)二0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出以下指令原操作数是什么寻址方式,其物理地址

16、是多少?(1)MOVAX,0ABH(3)MOVAX,VAL(5)MOVAL,VALBX(7)MOVVALSI,BX答:(1)立即数寻址,物理地址:无(2)MOVAX,100H(4)MOVBX,SI(6)MOVCL,BXSI(8)MOVBPSI,100无(2)直接寻址,物理地址=2000HX10H+100H=20210H直接寻址,物理地址=2000HX10H+0050H=20050H(4)存放器间接寻址,PA=2000HX10H+00A0=200A0H(5)相对存放器寻址,PA=2000HX10H+(0050+0100H)=20210H(6)基址加变寻址,PA=2000HX10H+(0100H+

17、00A0H)=201A0H(7) 存放器寻址,无PA(8) 立即数寻址,无PA2. (SS)=0FFA0H,(SP)=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图.答:“8057H进栈,WJSP自动从00B0H指向00B2H,“0F79H进栈,WJSP自动从00B2H指向00B4H;执行一条POP指令,“0F79H被弹出栈,SP从00B4H指向00B2H.图略.3. 设有关存放器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(AX)=1200H,(SI)=0002H,(20210H)=12

18、H,(20211H)=34H,(20212H)=56H,(20213H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H.试说明以下各条指令单独执行后相关存放器或存储单元的内容.(1) MOVAX,1800H(2)MOVAX,BX(3) MOVBX,1200H(4)MOVDX,1100BX(5) MOVBXSI,AL(6)MOVAX,1100BXSI答:(1)(AX)=1800H(2)(AX)=0100H(3)(BX)=4C2AH(4) (DX)=4C2AH(5)(20212H)=00H(6)(AX)=65B7H4. 写出实现以

19、下计算的指令序列.(1) Z=W+(X+Z)(2)Z=W-(X+6)-(R+9)答:(1)MOVAX,ZADDAX,XADDAX,WMOVZ,AX(2) MOVAX,WADDX,6SUBAX,XADDR,9SUBAX,RMOVZ,AX5. 假设在数据段中从字节变量TABLE相应的单元开始存放了015的平方值,试写出包含XLAT指令的指令序列查找N(015)中的某个平方数.答:LEABX,TABLEMOVAL,CLXLAT6. 写出实现以下计算的指令序列.(1) Z=(W*X)/(R+6)(2)Z=(W-X)/5*Y)*2答:(1)MOVAX,WIMULXADDR,6IDIVRMOVZ,AX(2

20、) MOVAX,WSUBAX,XMOVBL,5IDIVBLCBWIMULYMOVBX,2IMULBXMOVZ,AX7. 假定(DX)=1100100110111001B,CL=3,CF=1,试确定以下各条指令单独执行后DX的值.(1) SHRDX,1(2)SHLDL,1(3)SALDH,1(4)SARDX,CL(5) RORDX,CL(6)ROLDL,CL(7)RCRDL,1(8)RCLDX,CL答:(1)(DX)=0110010011011100B(2)(DX)=1100100101110010B(3) (DX)=1001001010111001B(4)(DX)=11111001001101

21、11B(5) (DX)=0011100100110111B(6)(DX)=0100110111001110B(7) (DX)=1110010011011100B(8)(DX)=1001001101110011B8. 程序段如下:MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVCX,4MULCXINT20H试问:(1)每条指令执行后,AX存放器的内容是什么?(2)每条指令执行后,CF,SF及ZF的值分别是什么?(3)程序运行结束后,AX及DX存放器的值为多少?答:MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVCX,4MULLCXINT20H(AX)=12

22、34H,CF=0,SF=0,ZF=0(AX)=2341H,CF=1,SF=0,ZF=0(AX)=2340H,CF=1,SF=0,ZF=0(AX)=8D00H,CF=0,SF=1,ZF=0结束后,(DX)=0000H,(AX)=8000H9. 试分析以下程序段:ADDAX,BXJNCL2SUBAX,BXJNCL3JMPSHORTL5如果AX,BX的内容给定如下:AXBX(1) 14C6H80DCH(2) B568H54B7H问该程序在上述情况下执行后,程序转向何处.答:(1)转到L2处(2)转到L3处习题4i.以下语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图.VAR1DB10

23、,2VAR2DW5DUP(?),0VAR3DB'HOWAREYOU?3DUP(1,2)VAR4DD-1,1,0答:字节空间:VAR1:2;VAR2:12;VAR3:13;VAR4:8.存储空间的分配图:-dl3di加戒的如3就1013D3:0O13B3:00300A耽附的期即0.00-00W00附朋舶484F57204152452.594F-553F24FFFFFFFF01000.Q00.0.00明-0.00.0期000000BSD3138ED8H44CCD-21C07503E?7BFF5EHOUAREm一2.假定VAR1和VAR2为字变量,LAB为标号,试指出以下指令的错误之处(1)

24、ADDVAR1,VAR2(3)JMPLABCX(5)MOV1000H,100(2)SUBAL,VAR1(4)JNZVAR1(6)SHLAL,4答:(1)在算术运算指令中,两个操作数不能同时为存储器寻址方式AL为字节,VAR1为字变量,字长不相等;(3)存放器相对寻址方式,只能使用基址或变址存放器,不能使用CX存放器(4)转向地址应为标号,不能是变量;(5)目的操作数的类型不确定;(6)SHL指令中,当所移位数超过1时,必须用CL取代所移位数.3对于下面的符号定义,指出以下指令的错误.A1DB?A2DB10K1EQU1024(1)MOVK1,AX(2)MOVA1,AX(3)CMPA1,A2(4)

25、K1EQU2048答:(1)K1为常量,不能用MOV指令赋值;(2)A1为字节,AX为字变量,不匹配;(3)A1未定义,无法做比拟指令;(4)K1重新赋值前,必须用PURGE释放.4数据定义语句如下所示:FIRSTDB90H,5FH,6EH,69HSECONDDB5DUP(?)THIRDDB5DUP(?)(低位字节在前),要求:开始的单元,右移两位后存自FIRST单元开始存放的是一个四字节的十六进制数编一段程序将这个数左移两位后存放到自SECOND放到自THIRD开始的单元.(注意保存移出局部)答:DATASEGMENTFIRSTDB90H,5FH,6EH,69HSECONDDB5DUP(?)

26、THIRDDB5DUP(?)FORTHDB4DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,FIRSTLEADI,SECONDMOVCX,2;左移2位;AX=5F90H为低十六位数据;DX=696EH为高十六位数据;保存原有的高十六位数据;保存原有的低十六位数据CLCMOVAX,WORDPTRSIINCSIINCSIMOVDX,WORDPTRSIPUSHDXPUSHAXROLDX,CL;将高位数据不带进位循环左移两位,即高2位数据在DL的低2位ANDDL,03H;让DL中仅保存移出的高2位数

27、据MOVDI+4,DL;将移出的高2位数据放入SECOND中的最高单元中ROLAX,CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位ANDAL,03H;让AL中仅保存移出的AX高2位数据MOVBL,AL;将AL中的数据放入BL中保存POPAX;弹出原有的低十六位数据POPDX;弹出原有的高十六位数据SHLDX,CL;将高位数据算术逻辑左移2位SHLAX,CL;将低位数据算术逻辑左移2位ORDL,BL;将AX中移出的高2位数据放入DX的低2位MOVWORDPTRDI,AXMOVWORDPTRDI+2,DX;右移2位LEASI,FIRSTLEADI,THIRDMOVCX,2CLC

28、MOVAX,WORDPTRSI;AX=5F90H为低十六位数据INCSIINCSIMOVDX,WORDPTRSI;DX=696EH为高十六位数据PUSHDX;保存原有的高十六位数据PUSHAX;保存原有的低十六位数据RORAX,CL;将低位数据不带进位循环右移两位,即低2位数据在AH的高2位ANDAH,0C0H;让AH中仅保存移出的低2位数据PUSHCXMOVCX,6SHRAH,CLPOPCXMOVDI,AH;将移出的低2位数据放入THIRD中的最低单元中RORDX,CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位ANDDH,0C0HMOVBL,DHPOPAXPOPDXSHR

29、DX,CLSHRAX,CLORAH,BLMOVWORDPTRMOVWORDPTRLEASI,FIRSTLEADI,FORTH;让DH中仅保存移出的DX低2位数据;将DH中的数据放入BL中保存;弹出原有的低十六位数据;弹出原有的高十六位数据;将高位数据算术逻辑左移2位;将低位数据算术逻辑左移2位;将DX中移出的低2位数据放入AX的高2位DI+1,AXDI+3,DX;求补MOVAX,WORDPTRSI;AX=5F90H为低十六位数据INCSIINCSIMOVDX,WORDPTRXORAX,0FFFFHXORDX,OFFFFHCLCADDAX,01HADCDX,0MOVWORDPTRDI,MOVWO

30、RDPTRDI+2MOVAH,4CHINT21HCODEENDSENDSTARTSI;DX=696EH为高十六位数据;将低十六位取反;将高十六位按位取反;低位加1,即可为原数的求补;高位加低位加法时的进位AX,DX5.试编程序将内存从40000H到4BFFFH的每个单元中均写入55H,并再逐个单元读出比拟,看写入的与读出的是否一致.假设全对,那么将AL置7EH;只DATASEGMENTDA1DB55HCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,4000HMOVDS,AXMOVCX,0C000HMOVBX,0000HMOVAH,55HNEXT1:MOV

31、byteptrBX,AHINCBX要有错,那么将AL置81H.LOOPNEXT1MOVBX,0000HMOVCX,0C000HMOVAL,81HNEXT2:MOVAH,BXCMPAH,55HJNZEXITINCBXLOOPNEXT2MOVAL,7EHEXIT:MOVAH,4CHINT21HCODEENDSENDSTART6. 在当前数据段4000H开始的128个单元中存放一组数据,试编程序将它们顺序搬移到A000H开始的顺序128个单元中,并将两个数据块逐个单元进行比拟;假设有错将BL置00H;全对那么将BL置FFH,试编程序.答:DATASEGMENTORG400HDA1DB128DUP(?

32、)ORG0A00HDA2DB128DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXLEASI,DA1LEADI,DA2MOVCX,128AGAIN:MOVAL,SIINCSIINCDILOOPAGAINLEASI,DA1LEADI,DA2MOVCX,128NEXT:MOVAL,SIMOVBL,DICMPAL,BLJNZERRORINCSIINCDIMOVBL,0FFHLOOPNEXTJMPEXITERROR:MOVBL,00HEXIT:MOVAH,4CHINT21HCODEENDSEND

33、START7. 设变量单元A、B、C存放有3个数,假设3个数都不为零,那么求3个数的和,存放在D中;假设有一个为零,那么将其余两个也清零,试编写程序.答:DATASEGMENTADB?BDB?CDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCMPA,00HJNZLP1MOVB,0MOVC,0JMPLP4LP1:CMPB,00HJNZLP2MOVA,0MOVC,0JMPLP4LP2:CMPC,00HJNZLP3MOVA,0MOVB,0JMPLP4LP3:MOVAL,AADDAL,BADDAL,CMOVAH,4

34、CHLP4:INT21HCODEENDSENDSTART8. 有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,假设表内已有此元素,那么结束;否那么,按顺序将此元素插入表中适当的位置,并修改表长.答:DATASEGMENTBUFFDB100DUP(?)DA1DB(?)LENGTHDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVMOVMOVMOVMOVFIND0:CMPJZINCLOOPMOVMOVAX,DATADS,AXSI,0AL,DA1CX,100BUFFSI,ALEXITSIFIND0D

35、I,99SI,0COMPARE:CMPJGMOVMOVDECCMPJNLJMPINSERT:MOVMOVEXIT:MOVINTBUFFDI,ALINSERTBL,BUFFDIBUFFDI+1,BLDIDI,SICOMPAREEXITBUFFDI+1,ALLENGTH,101AH,4CH21HCODEENDSENDSTART9. 内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进制BCD码数,低位在前.编程序求这两个数的组合的十进制和,并存到以THIRD开始的单元.答:DATASEGMENTFIRSTDD34341212HSECONDDD78785656HTHIRDDB?

36、,?,?,?DATAENDSCODESEGMENTASSUMESTART:MOVMOVLEALEALEAMOVCLCAGAIN:MOVMOVADCDAAMOVINCINCINCLOOPCS:CODE,DS:DATAAX,DATADS,AXSI,FIRSTDI,SECONDBX,THIRDCX,4JCAAMOVJMPAA:MOVAL,BYTEPTRSIDL,BYTEPTRDIAL,DLBYTEPTRBX,ALSIDIBXAGAINBYTEPTRBX,0EXITBYTEPTRBX,1EXIT:MOVAH,4CHINT21HCODEENDSENDSTART10. 编写一段程序,接收从键盘输入的10个

37、数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中.加密表如下:输入数字:0,1,2,3,4,5,6,7,8,9;密码数字:7,5,9,1,3,6,8,0,2,4.答:DATASEGMENTMITABDB'7591368024'CONTEQU$-MITABBUFFDB10DUP(?),'$'YUANWENDB10DUP(?),'$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,0MOVCX,CONTINPUT:MOVAH,1INT21HCMP

38、AL,13JZEXITANDAL,0FHMOVYUANWENSI,ALINCSILOOPINPUTEXIT:LEABX,MITABMOVCX,SIMOVSI,0JIAMI:MOVAL,YUANWENSIXLATMITABMOVBUFFSI,ALINCSILOOPJIAMIMOVAH,4CHINT21HCODEENDSENDSTART11 .试编程序,统计由40000H开始的16K个单元中所存放的字符“A的个数,并将结果存放在DX中.答:DATASEGMENTDA1DB'A'BUFFDB4000HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:

39、DATASTART:MOVAX,4000HMOVDS,AXMOVBX,0MOVCX,4000HFIND:MOVAL,BXMOVBL,DA1CMPAL,BLJNZNEXTINCDXNEXT:INCSIFINDLOOPMOVAH,4CHINT21HCODEENDSENDSTART12 .在当前数据段(DS),偏移地址为DATAB开始的顺序80个单元中,存放着某班80个同学某门测试成绩.按如下要求编写程序:编写程序统计?90分;80分89分;70分79分;60分69分,60分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX开始的顺序单元中.(2)试编程序,求该班这门课的平均成绩为多少,并放

40、在该数据段的AVER单元中.答:DATASEGMENTBUFFDW80DUP(?)DA9DB0DA8DB0DA7DB0DA6DB0DA5DB0AVERDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,80COMPARE:MOVBX,0CMPBUFFBX,90LP8:LP7:LP6:LP5:NEXT:SUM:JBLP8INCDA9JMPNEXTCMPBUFFBX,80JBLP7INCDA8JMPNEXTCMPBUFFBX,70JBLP6INCDA7JMPNEXTCMPBUFFBX,60JBLP5INC

41、DA6JMPNEXTINCDA5JMPNEXTINCBXLOOPCOMPAREMOVCX,80XORAX,AXMOVBX,00ADDAX,BUFFBXINCBXLOOPLP1MOVCL,80DIVCLMOVAVER,ALMOVAH,4CHINT21HCODEENDSENDSTART13. 编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL中.答:JIOUPROCPUSHCXPUSHBXXORAH,AHPUSHAXMOVCL,7LOOP1:SARAL,1ADCAH,0LOOPLOOP1MOVAL,AHXORAH,AHMOVBL,2DIVBLMOVBL,AHPOPAXRORBL,

42、1ORAL,BLPOPBXPOPCXRETJIOUENDP14. 利用上题的子程序,对80000H开始的256个单元的数据加上偶校验,试编程序.CODESEGMENTASSUMECS:CODESTART:MOVAX,8000HMOVDS,AXMOVSI,0MOVCX,256LP:MOVAL,SICALLJIOUMOVSI,ALINCSILOOPLPMOVAH,4CHINT21HJIOUPROCPUSHCXPUSHBXXORAH,AHPUSHAXMOVCL,7LOOP1:SARAL,1ADCAH,0LOOPLOOP1MOVAL,AHXORAH,AHMOVBL,2DIVBLMOVBL,AHPOPA

43、XRORBL,1ORAL,BLPOPBXPOPCXRETJIOUENDPCODEENDSENDSTART习题51. 试述DRAM的工作特点;与SRAM相比有什么长处和缺乏之处;说明它的使用场合.答:DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据.而且是行列地址复用的,许多都有页模式.SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丧失,而且一般不是行列地址复用的.与SRAM相比,DRAM价格廉价、速度慢、容量大,主要用来做主存储器,存储程序和数据;而SRAM主要用在Cache等对速度要求高的情况.2. 试述DRAM刷新过程和正常读/写过程的区别.答:刷新是以行为单位

44、进行,且刷新过程中不能进行读写操作.3. 设有一个具有20位地址和32位字长的存储器,问:(1) 该存储器能存储多少个字节的信息?(2) 如果存储器由512K*8位SRAM芯片组成,需要多少片?(3) 需要多少位作芯片选择?答:(1)该存储器能存储4MB的信息.(2) 需要8片512K*8位的芯片.(3) 需要1位做芯片选择.4 .对于8Kx8位RAM组成的存储器系统,假设某组的起始地址为08000H,那么其末地址为多少?答:末地址为9FFF.5 .在8088最大方式系统总线上扩充设计4K字节的SRAM存储器电路.SRAM芯片选用Intel2114,起始地址从0000H.试画出此存储器电路与系

45、统总线的连接图.答:系统容量为4K*8bit,芯片容量为1K*4bit,所以一共需要8片芯片连接图如下:MLS1JB&Chi-Ge75*'D1Si*,2114.211.疝1N211*L:S'DDS-'D-Dn芯片<?Q6.在8088系统总线上扩充设计8K的字节的SRAM存储器电路.SRAM选用Intel6264,起始地址从04000H开始,译码器电路74LS138.(1)计算此RAM存储区的最高地址是多少.(2)画出此存储器电路与系统总线的连接图.(3)编写程序实现对此存储区域进行自检.答:(1)最高地址是05FFFH.(2)62注C2D-Da.(3)MO

46、VDX,0FFE2HL1:INAL,DXTESTAL,01HJZL1MOVAX,1000HMOVDS,AXMOVDX,2000HMOVCX,100MOVDX,0FFE0HL2:INAL,DXMOVDX,ALINCBXLOOPNL27. 在8086最小方式系统总线上扩充设计16K字节的SRAM存储器电路,SRAM芯片选用Intel6264,起始地址从04000H开始,译码器电路采用74LS138.( 1) 计算此RAM存储区域的最高地址是多少( 2) 画出此存储器与总线的连接图.答:(1)07FFFH(2)1. 什么是接口?接口的功能是什么?答:位于主机与外设之间,用来协助完成数据传送和限制任务

47、的逻辑电路称为接口电路,接口电路对输入/输出过程起缓冲和联络作用.接口的功能是有,数据缓冲功能,联络功能,寻址功能,预处理功能,中断治理功能.2. 计算机对I/O端口编址时通常采用哪两种方法?在8086系统中,用哪种方法进行编址?答:I/O端口和存储器统一编址;I/O端口单独编址.8086系统采用I/O端口单独编址方式.3. CPU和输入/输出设备之间传送的信息有哪几类?答:数据信息,限制信息,与状态信息.4. 简述CPU与外设进行数据交换的几种常用方式.答:程序限制方式:特点是依靠程序的限制来实现主机和外设的数据传送,可分为无条件传送方式和查询方式.中断限制方式:每次输入和输出一个数据,CP

48、U都要检查外设的状态.直接存储器存取限制方式:cpu不参加数据传送,而是由DMA限制器来实现内存与外设,外设与外设之间的直接传递.通道方式:可以实现对外围设备的统一治理和外围设备与内存之间的数据传送.外围处理机方式:由PPU独立于主机工作,减少了CPU限制外设的负担.5无条件传送方式适用哪些场合?查询方式原理怎样?主要用在什么场合?答:无条件传送适用于简单的输入/输出设备,CPU可以随时读取或接受状态.这些信号变化缓慢,当需要采集数据时,无需检查端口,就可以立即采集数据,直接用输入/输出指令完成.无条件传送方式主要用于限制CPU与低俗I/O接口之间的信息交换.7. 查询式传送方式有什么优缺点?

49、中断方式为什么能弥补查询方式的缺点?答:查询传送方式CPU通过程序不断查询相应设备的状态,状态不符合要求,那么CPU需要等待;只有当状态信号符合要求时,CPU才能进行相应的操作.中断方式提升了计算机系统中信息处理的并行和处理器效率,中断可以实现同步操作,实时处理等功能.8. 8088/8086中断向量表的作用是什么?答:中断向量表建立了不同的中断源与其相应的中断效劳程序首地址之间的联系,它是CPU在响应中断时可以依据中断类型码自动转向中断效劳程序.9. 什么叫中断向量?它放在哪里?对于1CH的中断向量在哪里?如果1CH的中断程序从5110H开始:2030H开始,那么中断向量应该怎样存放?答:中

50、断向量即用来提供中断入口地址的一个指针.10. 8259中IRR,IMR,ISR三个存放器的作用是什么?答:中断t#求存放器IRR8259A有8条外部中断请求输入信号线IR0-IR7,每一条请求线上有一个相应的触发器来保存请求信号,它们形成了中断请求存放器IRR(InterruptRequestRegister).中断屏蔽存放器IMRIMR(InterruptMaskRegister)用来存放屏蔽位信息,IMR的每一位可以禁止IRR中对应位的中断请求输入信号进入.中断效劳存放器ISRISR(InterruptServiceRegister-)存放当前正在进行效劳的所有中断.ISR中相应位的置位

51、是在中断响应的INTA脉冲期间,由优先权判决电路根据IRR中各请求位的优先权级别和IMR中屏蔽位的状态,将中断的最高优先级请求位选通到ISR中.11. 类型号为20H的中断效劳程序入口符号地址为INT-5,试写出中断向量的装入程序片段.答:MOVAX,0MOVDS,AXMOVSF,20H*4LEAAX,IMSMOVIS,AXMOVAX,SEQ,INTSMOVSI+2,AX12. 简述DMA限制器同一般接口芯片的区别.答:DMA限制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写限制信号.在DMA传送结束后,它能释放总线,把对

52、总线的限制权又交还给CPU.用DMA方式传输数据时,不需要进行保护和恢复断点及现场之类的额外操作.13. 简述8237A3种根本传送类型的特点.答:单次传送方式:每次DMA操作只传送1B,然后就自动把总线限制权交给CPU,假设还有通道请求信号,那么DMAC那么再重新向CPU发出总线请求,获得限制权后责传送下一B数据.数据块传送:在进入DMA操作后,就连续传送数据,直到整块数据全部传送完毕,在字节数减为0或外界输入终止信号时,才会将总线限制权交还给CPU.请求传送:这种方式也可以用于成块数据传输.这种方式适用于准备好传送数据时,发出通道请求;假设数据未准备好时,就使通道请求无效,将总线限制权交还给CPU.习题71. 并行接口有何特点?其应用场合如何?答:一个并行接口包含状态信息,限制信息,和数据信息,这些信息分别存放在状态存放器,限制存放器和数据缓冲缓冲存放器.从并行接口的电路结构来看,它有硬

温馨提示

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

最新文档

评论

0/150

提交评论