微机原理与接口技术(第二版)课后习题答案完整版_第1页
微机原理与接口技术(第二版)课后习题答案完整版_第2页
微机原理与接口技术(第二版)课后习题答案完整版_第3页
微机原理与接口技术(第二版)课后习题答案完整版_第4页
微机原理与接口技术(第二版)课后习题答案完整版_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、理器运算速度 快。6微机系统中采用的总线结构有几种类型?各有什么特点?答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。7. 将下列十进制数转换成二进制数、八进制数、十六进制数 (4.75) 10=( 0100.11) 2=(4.6)8=( 4.C)16 (2.25)10=( 10.01)2= (2.2) 8=(2.8)16 (1.875)10=( 1.111)2=( 1.7)8=( 1.E)168. 将下列二进制数转换成十进制数。 (1011.011) 2=( 11.6)10 (1101.01011) 2=( 13.58

5、)10 (111.001) 2=( 7.2) 109. 将下列十进制数转换成8421BCD码。 2006=( 0010 0000 0000 0110 bcd 123.456=( 0001 0010 0011.0100 0101 0110 bcd10. 求下列带符号十进制数的8位基2码补码 +127补=01111111 -1补=11111111 -128补=10000000 +1补=0000000111. 求下列带符号十进制数的16位基2码补码 +655补=0000001010001111 -1补=1111111111111110 -3212补=1111011101011100 +100补=00

6、00000001100100习题21. 8086 CPU在内部结构上由哪几部分组成?各部分的功能是什么?答:8086 CPU内部由两大独立功能部件构成,分别是执行部件和总线接口部 件。执行部件负责进行所有指令的解释和执行,同时管理有关的寄存器。总 线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的 操作。2. 简述8086 CPU的寄存器组织。答:8086 CPU内部共有14个16位寄存器,按用途可分为数据寄存器,段寄 存器,地址指针与变址寄存器和控制寄存器。数据寄存器包括累加器,基址 寄存器,计数器,和数据寄存器。段寄存器用来存放各分段的逻辑段基值, 并指示当前正在使用的

7、4个逻辑段。地址指针与变址寄存器一般用来存放主 存地址的段内偏移地址,用于参与地址运算。控制寄存器包括指令寄存器和标识寄存器。3. 试述8086 CPU标志寄存器各位的含义与作用。答:标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的6位 是状态标识位,3位是控制标识位。状态标志位分别是 CF,PF,AF,ZF, SF,和OF;控制标志位包括 DF,IF,TF。CF:进位标志位。算数运算指令执行后,若运算结果的最高位产生进位或借位,贝U CF=1,否则CF=0。PF:奇偶标志位。反应计算结果中1的个数是偶数还是奇数。若运算结果的低8位中含有偶数个1,则PF=1;否则PF=0.AF

8、:辅助进位标志。算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1 ;否则AF=0.ZF:零标志位。若指令运算结果为 0,则ZF=1;否则ZF=0。SF:符号标志位。它与运算结果最高位相同。OF:溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。DF:方向标志位。用于串操作指令,指令字符串处理时的方向。IF:中断允许标志位。用来控制 8086是否允许接收外部中断请求TF:单步标志位。它是为调试程序而设定的陷阱控制位4. 8086 CPU状态标志和控制标志有何不同?程序中是怎样利用这两类标识的? 8086的状态标志和控制标识分别有哪些?答:状态标志位反应了当前运算和操

9、作结果的状态条件,可作为程序控制转 移与否的依据。它们分别是 CF,PF,AF,ZF,SF,和OF。控制标志位用 来控制CPU的操作,由指令进行置位和复位,控制标志位包括DF,IF,TF。5. 将1001 1100和1110 0101相加后,标识寄存器中CF, PF, AF, ZF, SF, OF各为何值?答:CF=1,PF=1,AF=1,ZF=0,SF=1,OF=06. 什么是存储器的物理地址和逻辑地址?在 8086系统中,如何由逻辑地址计 算物理地址?答:逻辑地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫 逻辑地址。物理地址是真实存在的唯一地址,指的是存储器中各个单元的单 元号

10、。在8086系统中,物理地址=段地址X10H +偏移地址7. 段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为多少?指向这一地址的 CS指和IP值是唯一的吗?答:此指令的物理地址=1200HX10H + 4000H=16000H并且指向这一物理地址 的CS值和IP值并不是唯一的。8. 在8086系统中,逻辑地址 FFFF: 0001, 00A2: 37F和B800: 173F的物理地址分别是多少?答:逻辑地址FFFF: 000100A2: 3TFB800: 173F物理地址FFFF1H00D9FHB973FH9. 在8086系统中,从物理地址 388H开始顺序存

11、放下列 3个双字节的数据 651AH , D761H 和 007BH,请问物理地址 388H , 389H , 38AH , 38BH , 38CH 和38DH 6个单元中分别是什么数据?答:(388H) =1AH , (389H) =65H, (38AH) =61H, (38BH) =DTH , (38CH) =7BH, (38DH ) =00H10. 8086微处理器有哪几种工作模式?各有什么特点?答:8086微处理器有最大和最小工作模式。在最小模式下:8086 CPU直接产生全部总线控制信号(DT/R , DEN , ALE , M/IO )和命令输出信号(RD, WR , INTA )

12、并提出请求访问总线的逻 辑信号 HOLD , HLDA。在最大工作模式下,必须配置 8288总线控制器,并且根据8086提供的 状态信号S2, S1, S0,输出读写控制命令,可以提供灵活多变的系统配置, 以实现最佳的系统性能。11. 简述 8086 引脚信号中 M/IO , DT/R , RD , WR , ALE , DEN 和 BHE 的作 用。答:M/IO :输出信号,高电平时,表示 CPU与存储器之间数据传输;低电 平时,表示CPU与I/O设备之间数据传输。DT/R :控制其数据传输方向的信号。DT/R=1时,进行数据发送;DT/R=0 时,进行数据接收。RD: CPU的读信号,RD

13、=0时,表示8086为存储口或I/O端口读操作。 WR: CPU的写信号,WR =0时,表示8086为存储口或I/O端口写操作。 ALE :地址存锁信号,在T1能时刻有效。DEN :数据选通信号,当DEN有效时,表示允许传输。BHE:数据总线允许信号,与 A0组合使用,表示是否访问奇地址字节。12. 简述8086读总线周期和写总线周期和引脚上的信号动尖态变化过程。8086的读周期时序和写周期时序的区别有哪些?答:在8086读周期内,有关总线信号的变化如下: M/ IO :在整个读周期保持有效,当进行存储器读操作时,M/IO为高电平; 当进行I/O端口读操作时,M/ IO为低电平 A19/S6A

14、16/S3:在T1期间,输出CPU要读取的存储单元或I/O端口的地 址高4位。T2T4期间输出状态信息S6-S3。 BHE/S7:在T1期间,输出BHE有效信号(BHE为低电平),表示高8位数 据总线上的信息可以使用,BHE信号通常作为奇地址存储体的体选信号(偶地址 存储体的体选信号是最低地址位 Ao) o T2 T4期间输出高电平。 AD15ADo:在T1期间,输出CPU要读取的存储单元或I/O端口的地址 A15A0o T2期间为高阻态,T3T4期间,存储单元或I/O端口将数据送上数据 总线。CPU从AD15ADo上接收数据。 ALE :在Ti期间地址锁存有效信号,为一正脉冲,系统中的地址锁

15、存器正 是利用该脉冲的下降沿来锁存 A19/S6A16/S3, ADI5AD0中的20位地址信息以 及 BHE o RD : T2期间输出低电平送到被选中的存储器或 I/O接口,注意,只有被 地址信号选中的存储单元或I/O端口,才会被RD信号从中读出数据(数据送上数 据总线ADl5AD0)o DT/R :在整个总线周期内保持低电平,表示本总线周期为读周期,在接 有数据总线收发器的系统中,用来控制数据传输方向。 DEN :在T2T3期间输出有效低电平,表示数据有效,在接有数据总线 收发器的系统中,用来实现数据的选通。总线写操作的时序与读操作时序相似,其不同处在于: ADl5AD。:在T2T4期间

16、送上欲输出的的数据,而无高阻态。 WR :从T2T4, WR引脚输出有效低电平,该信号送到所有的存储器和I/O 接口。注意,只有被地址信号选中的存储单元或 I/O端口才会被WR信号写入数 据。 DT/R :在整个总线周期内保持高电平,表示本总线周期为写周期,在接 有数据总线收发器的系统中,用来控制数据传输方向习题31.假定(DS) =2000H , (ES) =2100H, (SS) =1500H, (SI) =OOAOH , (BX) =0100H , ( BP) =0010H,数据变量VAL的偏移地址为0050H,请指出下列 指令原操作数是什么寻址方式,其物理地址是多少?(1) MOVAX

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

18、址=2000HX10H+ (0100H+00A0H) =201A0H(7) 寄存器寻址,无物理地址(8) 立即数寻址,无物理地址2. 已知(SS) =0FFA0H,(SP) =00B0H,先执行两条把 8057H 和 0F79H 分别 进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的 过程示意图。答:“8057H”进栈,则 SP自动从00B0H指向00B2H,“ 0F79H”进栈,则 SP 自动从00B2H指向00B4H;执行一条POP指令,“0F79H”被弹出栈,SP从00B4H 指向00B2H。图略。3. 设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX

19、)=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, 1100BXSI 答:(AX)=1800H (2) (AX)=0100H (3)

20、 (BX)=4C2AH(DX)=4C2AH (20102H)=00H (AX)=65B7H4. 写出实现下列计算的指令序列。(1) Z=W+(X+Z)(2) Z=W-(X+6)-(R+9)答:(1) MOV AX, ZADDAX, XADDAX, WMOV乙AX(2) MOVAX, WADDX, 6SUBAX, XADDR, 9SUBAX, RMOV乙AX5. 若在数据段中从字节变量 TABLE相应的单元开始存放了 015的平方值, 试写出包含XLAT指令的指令序列查找N (015)中的某个平方数。答:LEA BX, TABLEMOV AL, CLXLAT6. 写出实现下列计算的指令序列。(1

21、) Z=(W*X)/(R+6)(2) Z=(W-X)/5*Y)*2答: (1) MOV AX, WIMUL XADD R, 6IDIV RMOV乙AX(2) MOVAX, WSUBAX, XMOVBL, 5IDIVBLCBWIMULYMOVBX, 2IMULBXMOV乙AX7. 假定(DX)=1100100110111001B,CL=3, 后DX的值。(1) SHR DX, 1(2) SHL DL, 1(5) ROR DX, CL (6) ROL DL, CL 答:(DX)=0110 0100 1101 1100B(3) (DX)=1001 0010 1011 1001B(5) (DX)= 0

22、011 1001 0011 0111B(7) (DX)= 1110 0100 1101 1100BCF=1,试确定下列各条指令单独执行(3) SAL DH, 1(4) SAR DX, CL(7) RCR DL, 1(8) RCL DX, CL(DX)=1100 1001 0111 0010B(DX)= 1111 1001 0011 0111B(DX)= 0100 1101 1100 1110B(8) (DX)= 1001 0011 0111 0011B8. 已知程序段如下:MOV AX, 1234HMOV CL, 4ROL AX, CLDEC AXMOV CX, 4MUL CXINT 20H试

23、问:(1)每条指令执行后,AX寄存器的内容是什么?( 2)每条指令执 行后,CF,SF及ZF的值分别是什么? ( 3)程序运行结束后,AX及DX 寄存器的值为多少?答: MOVAX, 1234H(AX)=1234H, CF=0,SF=0,ZF=0MOVCL, 4ROLAX,CL(AX)=2341H,CF=1,SF=0,ZF=0DECAX(AX)=2340H,CF=1,SF=0,ZF=0MOVCX,4MULLCX(AX)=8D00H, CF=0,SF=1, ZF=0INT20H结束后,(DX)=OOOOH, (AX)=8000H9. 试分析下列程序段:ADD AX, BXJNC L2SUB AX

24、, BXJNC L3JMP SH0RTL5如果AX , BX的内容给定如下:AXBX(1) 14C6H80DCH B568H54B7H问该程序在上述情况下执行后,程序转向何处答:(1)转到L2处(2) 转到L3处习题4i 下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配 图。VAR1 DB 10,2VAR2 DW 5 DUP (?),0VAR3 DB HOW ARE YOU ? 3 DUP( 1,2)VAR4 DD -1,1,0答:字节空间:VAR1 : 2;VAR2: 12;VAR3: 13;VAR4: 8。存储空间的分配图:-dl3d3:013D3:mOOA82WB0WW

25、00-00NM NN N404PHO13D3:m5?2041524520594F-553F24 FFFF FFFF01U AREYQU?$13D3:80200080000800000009-QB丽丽 00皿 0000W13D3:0030 B8 D3 13 8E D8 D4 4C CD-21 C0 75 83 EJ ?B FF 5E LJ.u./2假定VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处(2) SUB AL,VAR1(4)JNZ VAR1(6) SHL AL,4(1) ADD VAR1,VAR2(3) JMP LABCX(5) MOV 1OOOH,100答:(1)在

26、算术运算指令中,两个操作数不能同时为存储器寻址方式(2) AL为字节,VAR1为字变量,字长不相等;(3) 错误1:寄存器相对寻址方式,只能使用基址或变址寄存器,不能使用CX寄存器错误2:汇编格式错误,无法判段是段内转移还是段间转移(4) 转向地址应为标号,不能是变量;(5) 目的操作数的类型不确定;(6) SHL指令中,当所移位数超过1时,必须用CL取代所移位数3 对于下面的符号定义,指出下列指令的错误A1 DB ?A2 DB 10K1 EQU 1024(1) MOV K1,AX ( 2)MOV A1,AX(3)CMP A1,A2 (4)K1 EQU 2048 答:(1)K1为常量,不能用M

27、OV指令赋值;(2) A1为字节,AX为字变量,类型不一致;(3) A1和A2同为存储器寻址方式,不符合语法规则;(4) K1重新赋值前,必须用PURGE释放。4 数据定义语句如下所示:FIRST DB 90H,5FH,6EH,69HSECOND DB 5 DUP(?)THIRD DB 5 DUP(?)FORTH DB 4 DUP (?)自FIRST单元开始存放的是一个四字节的十六进制数 (低位字节在前),要求: 编一段程序将这个数左移两位后存放到自SECOND开始的单元,右移两位后存放到自THIRD开始的单元,求补后放到FORTH开始的单元。(注意保留移出部 分)答:DATA SEGMENT

28、FIRST DB 90H,5FH,6EH,69HSECOND DB 5 DUP(?)THIRD DB 5 DUP(?)FORTH DB 4 DUP (?)DATA ENDSCODE SEGMENTMOVAX,DATAMOVDS,AXLEASI,FIRSTLEADI,SECONDMOV CX,2CLCSTART:;左移2位MOVAX,WORDPTRSI;AX=5F90H为低十六位数据INC SIINC SIMOVDX,WORDPTRSI;DX=696EH为咼十六位数据PUSHDX;保存原有的高十六位数据PUSHAX;保存原有的低十六位数据ROL DX , CL;将高位数据不带进位循环左移两位,即

29、高2位数据在DL的低AND DL , 03H;让DL中仅保存移出的高 2位数据MOV DI+4,DL ;将移出的高2位数据放入SECOND中的最高单元中ROL AX,CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的AND AL,03H;让AL中仅保存移出的 AX高2位数据MOV BL ,AL ;将AL中的数据放入 BL中保存POP AX ;弹出原有的低十六位数据POP DX ;弹出原有的高十六位数据SHL DX,CL ;将高位数据算术逻辑左移2位SHL AX,CL ;将低位数据算术逻辑左移2位OR DL,BL ;将AX中移出的高2位数据放入 DX的低2位MOV WORD PTR D

30、I ,AXMOV WORD PTR DI+2 ,DXLEA SI, FIRSTLEA DI , THIRDMOV CX , 2CLCMOV AX , WORD PTR SI ; AX=5F90H 为低十六位数据INC SIINC SIMOV DX, WORD PTR SI ; DX=696EH 为高十六位数据PUSH DX ;保存原有的高十六位数据PUSH AX ;保存原有的低十六位数据ROR AX , CL ;将低位数据不带进位循环右移两位,即低2位数据在AH的高2位AND AH,0C0H ;让AH中仅保存移出的低 2位数据PUSH CXMOV CX,6SHR AH,CLPOP CXMOV

31、DI ,AH ;将移出的低2位数据放入THIRD中的最低单元中ROR DX, CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位ANDDH,0C0H;让DH中仅保存移出的 DX低2位数据MOVBL,DH;将DH中的数据放入BL中保存POPAX;弹出原有的低十六位数据POPDX;弹出原有的高十六位数据SHRDX,CL;将高位数据算术逻辑左移2位SHRAX,CL;将低位数据算术逻辑左移2位ORAH,BL;将DX中移出的低2位数据放入AX的高2位MOVWORD PTRDI+1,AXMOVWORD PTRDI+3,DX;求补LEA SI, FIRSTLEADI,FORTHMOVAX,,

32、WORDPTRSI;AX-5F90H为低十六位数据INC SIINC SIMOVDX,,WORDPTRSI;DX-696EH为高十六位数据XORAX,0FFFFH;将低十六位取反XORDX,OFFFFH;将咼十六位按位取反CLCADDAX,01H;低位加1,即可为原数的求补ADCDX,0;高位加低位加法时的进位MOVWORD PTRDI,AXMOVWORD PTRDI+21 ,DXMOV AH , 4CHINT 21HCODE ENDSEND START5.试编程序将内存从40000H到4BFFFH的每个单元中均写入55H,并再逐个 单元读出比较,看写入的与读出的是否一致。若全对,则将AL置7

33、EH;只要有错,则将AL置81H。答:DATA SEGMENTDA1 DB 55HCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,4000HMOVDS,AXMOVCX,0C000HMOVBX,0000HMOV AH,55HNEXT1:MOVbyte ptrBX,AHINCBXLOOPNEXT1MOVBX,0000HMOVCX,0C000HMOVAL,81HNEXT2:MOVAH, BXCMPAH,55HJNZEXITINCBXLOOPNEXT2MOVAL,7EHEXIT:MOVAH,4CHINT 21HCODEENDSENDSTART6. 在当前数据段4

34、000H开始的128个单元中存放一组数据,试编程序将它们顺 序搬移到A000H开始的顺序128个单元中,并将两个数据块逐个单元进行 比较;若有错将BL置00H;全对则将BL置FFH,试编程序。答:DATA SEGMENTORG 400HDA1DB 128 DUPORG 0A00HDA2DB 128 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXLEASI,DA1LEADI,DA2MOVCX,128AGAIN: MOVAL,SIINC SIINC DILOOP AGAINLE

35、ASI, DA1LEADI, DA2MOVCX,128NEXT:MOVAL,SIMOVBL,DICMPAL,BLJNZERRORINCSIINCDIMOVBL,OFFHLOOPNEXTJMPEXITERROR: MOVBL,00HEXIT:MOVAH,4CHINT 21HCODE ENDSEND START7. 设变量单元A、B、C存放有3个数,若3个数都不为零,则求3个数的和, 存放在D中;若有一个为零,则将其余两个也清零,试编写程序。答:DATA SEGMENTA DB ?B DBC DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:

36、 MOVAX,DATAMOVDS,AXCMPA,00HJNZLP1MOVB,0MOVC,0JMPLP4LP1:CMPB,00HJNZLP2MOVA,0MOVC,0JMPLP4LP2:CMPC,00HJNZLP3MOVA,0MOVB,0JMPLP4LP3:MOVAL,AADDAL,BADDAL,CMOVAH,4CHLP4:INT 21HCODEENDENDS START8. 有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定 一元素,试编程序在表内查找,若表内已有此元素,则结束;否则,按顺序将此元素插入表中适当的位置,并修改表长答:DATA SEGMENTBUFF DB 100

37、 DUPDA1 DB (?)LENGTH DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOVMOVMOVMOVMOVFIND0: CMPJZINCLOOPMOVMOVAX,DATADS,AXSI,0AL,DA1CX,100BUFFSI,ALEXITSIFIND0DI,99SI,0COMPARE: CMPBUFFDI,ALJGINSERTMOVBL,BUFFDIMOVBUFFDI+1,BLDECDICMPDI,SIJNLCOMPAREJMPEXITINSERT:MOVBUFFDI+1,ALMOVLENGTH , 101EXIT:MO

38、VAH,4CHINT21HCODE ENDSEND START16位组合的十进,并存到以THIRD9. 内存中以FIRST和SECOND开始的单元中分别存放着两个 制(BCD码)数低位在前。编程序求这两个数的组合的十进制和 开始的单元。答:DATA SEGMENTFIRST DD 34341212HSECOND DD 78785656HTHIRD DB ?,?,?,?DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,FIRSTLEADI,SECONDLEABX,THIRDMOVCX,4CLCAGAIN

39、:MOVAL,BYTE PTRSIMOVDL,BYTE PTRDIADCAL,DLDAAMOVBYTE PTRBX,ALINCSIINCDIINCBXLOOPAGAINJC AAMOVJMPBYTE PTRBX,0EXITAA:MOVBYTE PTRBX,1EXIT:MOVAH,4CHINT 21HCODEENDSENDSTART10. 编写一段程序,接收从键盘输入的 10个数,输入回车符表示结束,然后将 这些数加密后存于BUFF缓冲区中。加密表如下:输入数字:0,1, 2, 3, 4, 5, 6, 7, 8, 9;密码数字:7,5, 9, 1, 3, 6, 8, 0, 2,4。答:DATA

40、SEGMENTMITABDB7591368024CONTEQU$-MITABBUFFDB 10 DUP ,$YUANWENDB 10 DUP ,$DATA ENDSCODE SEGMENTASSUME CS : CODE, DS : DATASTART:MOVAX , DATAMOVDS, AXMOVSI, 0MOVCX, CONTINPUT:MOVAH , 1INT21HCMPAL , 13JZ EXITANDAL , 0FHMOV YUANWENSI , ALSIINCLOOP INPUTEXIT: LEA BX, MITABMOV CX, SIMOV SI, 0JIAMI: MOV AL

41、 , YUANWENSIXLATMITABMOVBUFFSI , ALINC SILOOP JIAMIMOV AH, 4CHINT 21HCODE ENDSEND START11. 试编程序,统计由40000H开始的16K个单元中所存放的字符“ A”的个数, 并将结果存放在DX中。答:DATA SEGMENTDA1 DB ABUFF DB 4000H DUP(?)DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,4000HMOVDS,AXMOVBX,0MOVCX,4000HFIND:MOVAL,BXMOVBL,DA1CMPAL,BLJN

42、ZNEXTINCDXNEXT:INCSILOOP FINDMOV AH,4CHINT 21HCODE ENDSEND START12. 在当前数据段(DS),偏移地址为DATAB开始的顺序80个单元中,存放着 某班80个同学某门考试成绩。按如下要求编写程序: 编写程序统计90分;80分89分;70分79分;60分69分,V 60分的 人数各为多少,并将结果放在同一数据段、偏移地址为 BTRX开始的顺序单元 中。(2) 试编程序,求该班这门课的平均成绩为多少, 并放在该数据段的AVER单元 中。答:DATA SEGMENTBUFF DW 80 DUP(?)DA9 DB 0DA8 DB 0DA7

43、DB 0DA6 DB 0DA5 DB 0AVER DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOVCX,80COMPARE: MOVBX,0CMPBUFFBX,90JB LP8INCDA9JMPNEXTLP8:CMPBUFFBX,80JBLP7INCDA8JMPNEXTLP7:CMPBUFFBX,70JBLP6INCDA7JMPNEXTLP6:CMPBUFFBX,60JBLP5INCDA6JMPNEXTLP5:INCDA5JMPNEXTNEXT:INCBXLOOP COMPAREMOVCX,

44、80XORAX,AXMOVBX,00SUM:ADDAX,BUFFBXINCBXLOOP LP1MOVCL,80DIVCLMOVAVER, ALMOV AH,4CHINT 21HCODE ENDSEND START13.编写一个子程序,对 AL中的数据进行偶校验,并将经过校验的结果放回AL中。答:JIOUPROCPUSHCXPUSHBXXORAH, AHPUSHAXMOVCL, 7LOOP1: SARAL, 1ADCAH,0LOOPLOOP1MOVAL,AHXORAH,AHMOVBL,2DIVBLMOVBL, AHPOP /AXRORBL, 1ORAL, BLPOPBXPOPCXRETJIOUE

45、NDP14.利用上题的子程序,对80000H开始的256个单元的数据加上偶校验,试编程序CODE SEGMENTASSUME CS: CODESTART:MOV AX, 8000HMOV DS, AXMOV SI, 0MOV CX, 256LP:MOV AL, SICALL JIOUMOV SI, ALINC SILOOP LPMOV AH, 4CHINT 21HJIOU PROCPUSHCXPUSHBXXORAH, AHPUSHAXMOVCL, 7LOOP1: SAR AL, 1ADC AH, 0LOOP LOOP1MOVAL,AHXORAH,AHMOVBL,2DIVBLMOVBL,AHPO

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

47、:刷新是以行为单位进行,且刷新过程中不能进行读写操作。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 芯片选用In tel 2114,起始地址从0000H。试画出此

48、存储器电路与系统总线的 连接图。答:系统容量为4K*8bit,芯片容量为1K*4bit,所以一共需要8片芯片 连接图如下:r2114*斑82讪 TD;.1JL-JcShPzDjhp_乩血 恨2】叫玉-DD訂I y F yrfl-s 卜卜-買5-卜|* 帕b 比 AJAJ击 -?电母人*.冷吐崗禹AJ励mDlmi-* 阙系21H.Di DjjYi-Y?帀加“Ao匚 21146. 在8088系统总线上扩充设计8K的字节的SRAM存储器电路。SRAM芯片 选用In tel 6264,起始地址从04000H开始,译码器电路 74LS138.(1)计算此RAM存储区的最高地址是多少。(2)画出此存储器电

49、路与系统总线的连接图。答:(1)最高地址是05FFFH。(2)7. 在8086最小方式系统总线上扩充设计16K字节的SRAM存储器电路,SRAM芯片选用In tel 6264,起始地址从04000H开始,译码器电路采用 74LS138.(1) 计算此RAM存储区域的最高地址是多少(2) 画出此存储器与总线的连接图。答: 07FFFH(2)习题61. 什么是接口?接口的功能是什么?答:位于主机与外设之间,用来协助完成数据传送和控制任务的逻辑电路称 为接口电路,接口电路对输入/输出过程起缓冲和联络作用。接口的功能是有, 数据缓冲功能,联络功能,寻址功能,预处理功能,中断管理功能。2. 计算机对I/

50、O端口编址时通常采用哪两种方法?在 8086系统中,用哪种方法 进行编址?答:I/O端口和存储器统一编址;I/O端口单独编址。8086系统采用I/O端口 单独编址方式。3. CPU和输入/输出设备之间传送的信息有哪几类?答:数据信息,控制信息,与状态信息。4. 简述CPU与外设进行数据交换的几种常用方式答:程序控制方式:特点是依靠程序的控制来实现主机和外设的数据传送,可分为无条件传送方式和查询方式.中断控制方式:每次输入和输出一个数据,CPU都要检查外设的状态。直接存储器存取控制方式:cpu不参加数据传送,而是由DMA控制器来实 现内存与外设,外设与外设之间的直接传递。通道方式:可以实现对外围设备的统一管理和外围设备与内存之间的数据传 送。外围处理机方式:由PPU独立于主机工作,减少了 CPU控制外设的负担。5 无条件传送方式适用哪些场合?查询方式原理怎样?主要用在什么场合? 答:无条件传送适用于简单的输入/输出设备,CPU可以随时读取或接受状态。 这些信号变化缓慢,当需要采集

温馨提示

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

评论

0/150

提交评论