最新微机原理第3章习题与答案

时间:2019-05-15 10:54:58下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《最新微机原理第3章习题与答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《最新微机原理第3章习题与答案》。

第一篇:最新微机原理第3章习题与答案

习题

一、选择题

1.寻址方式指出了操作数的位置,一般来说_______。A.立即寻址给出了操作数的地址

B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器 C.直接寻址直接给出了操作数本身

D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称 答案:D 2.寄存器寻址方式中,操作数在_________。A.通用寄存器 答案:A 3.寄存器间接寻址方式中,操作数在_________。A.通用寄存器 答案:C 4.下列指令中的非法指令是______。A.MOV [SI+BX], AX C.MOV [0260H], 2346H 答案:B 5.设(SP)=0100H,(SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是_____。A.200FEH 答案:A 6.指令LEA BX, TAB执行后,其结果是______。A.将TAB中内容送BX 答案:C 7.下列正确的指令格式有______。A.MOV [BX], 1 答案:D 8.设(AX)=C544H,在执行指令ADD AH,AL之后,______。A.CF=0,OF=0 答案:C 9.若AL、BL中是压缩BCD数,且在执行ADD AL, BL之后,(AL)=0CH,CF=1,AF=0。B.CF=0,OF=1

C.CF=1,OF=0

D,CF=1,OF=1 B.MOV AL, 0345H

C.MOV ES: PTR[CX], 3

D.XLAT

B.将TAB的段基址送BX

D.将TAB所指单元的存储内容送BX C.将TAB的偏移地址送BX B.0102H

C.20102H

D.00FEH

B.MOV CL, 280 D.MOV BX, [BX] B.堆栈

C.内存单元

D.段寄存器 B.堆栈

C.内存单元

D.段寄存器 再执行DAA后,(AL)=_____。A.02H 答案:B 10.执行下列程序后AL的内容为_____。MOV AL, 25H SUB AL, 71H DAS A.B4H 答案:C 11.下列四条指令中,需要使用DX寄存器的指令是______。A.MUL BX 答案:C 12.设(AL)=0E0H,(CX)=3,执行RCL AL, CL指令后,CF的内容_______。A.0 答案:B 13.下列四条指令中,错误的是______。A.SHL AL, CX 答案: A 14.串操作指令中,有REP前缀的串操作指令结束的条件是________。A.ZF=1

B.ZF=0

C.CX>0

D.CX=0 答案:D 15.对于下列程序段: AGAIN: MOV AL, [SI]

MOV ES:[DI], AL INC

SI INC

DI LOOP AGAIN B.REP LODSB

C.REP STOSB

D.REPE SCASB B.XCHG AL, BL

C.MOV BX, [SI]

D.AND AX, BX B.1 C.不变

D.变反 B.DIV

BL

C.IN AX, 20H

D.OUT 20H, AL B.43H

C.54H

D.67H B.12H

C.62H

D.72H 也可用指令_______完成同样的功能。A.REP MOVSB 答案:A 16.JMP WORD PTR [DI] 是________指令。A.段内间接转移

答案:A 17.条件转移指令JNE的转移条件是_______。A.ZF=1 答案:C 18.下列指令中,影响标志位的指令是_____。A.从存储器取数指令

答案:D 19.假设外部设备的状态字已经读入AL寄存器,其中最低位为0,表示外部设备忙。为了判断外部设备是否忙而又不破坏其它状态位,应选用下列哪一组指令? A.RCR AL, 01H

B.CMP

AL, 00H

B.条件转移指令

C.压栈指令

D.循环移位指令 B.CF=0

C.ZF=0

D.CF=1 B.段内直接转移 C.段间间接转移

D.段间直接转移 JZ JZ Label Label

JZ JZ

Label AL, 01H Label C.AND 答案:D AL, 01H D.TEST 20.假定一组相邻字节的首地址在BX中,末地址在DI中,为了使下面的程序段能用来查找出其中第一个非零字节,并把它存放在AL中,在横线处应填入的指令是什么? SUB INC MOV DI, BX DI CX, DI _________ NEXT: INC BX CMP LOOP MOV 答案:C BYTE PTR [BX], 0 NEXT AL, BYTE PTR [BX] B.SUB BX, BX

C.DEC BX

D.INC BX A.MOV SI, CX

二、填空题

1.指令MOV [BX+SI], AL中的目的操作数使用______段寄存器,属于______寻址方式。答案:数据段

基址加变址

2.8086微机中,_______寄存器存放的是当前堆栈区的基地址。堆栈区的存取原则为_____,在8086/8088系统中,栈区最大容量为_____。若(CS)=2000H,(DS)=2500H,(SS)=3000H,(ES)=3500H,(SP)=0100H,(AX)=2FA6H,则这个栈区的物理地址的范围为________,CPU执行PUSH AX指令后,栈顶地址为_____,该栈顶单元存放的内容为_______。答案:SS 先进后出

64KB 30000H~300FFH 300FEH

A6H 3.若(BX)=42DAH,则下列指令段 PUSH BX POPF 指令执行完毕后,(SF, ZF, CF, OF)=________。答案:7531H,1,1,0,0 4.假设(DS)=1000H,(ES)=0200H,(BP)=0100H,(DI)=0200H,(10200H)=11H,(10201H)=12H,执行指令LEA DX, [BP][DI]后,(DX)=_______。答案: 0300H 5.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=AAH, 执行指令 LEA BX, [DI]后,BX中的内容是_______。答案:0100H 6.如果TABLE为数据段3400H单元的符号名,其中存放的内容为0505H,当执行指令MOV AX, TABLE后,(AX)=_______;而执行指令LEA AX, TABLE后,AX=______。答案:0505H,3400H 7.若(DS)=3000H,(SI)=2000H,(DI)=1000H,(AX)=2500H,(34000H)=00H,(34001H)=34H,(34002H)=00H,(34003H)=50H,变量AREA的值为3000H,执行指令LDS SI, AREA[DI]后,SI的内容是_______,DS的内容是_______。答案:3400H,5000H

8.已知(AL)=2EH,(BL)=6CH,执行ADD AL, BL之后,(AL)=_____,(BL)=______,ZF=_____,AF=______,OF=_______,PF=_____,CF=______。答案:9AH 6CH 0,1,1,1,0 9.CPU对两个无符号8位二进制数进行加法运算后,结果为0EH,且标志位CF=1,OF=1,SF=0,其结果应为十进制数______。答案:270 10.8086CPU执行SUB AH, AL后结果为(AH)=85H,OF=1,CF=1。若AH、AL中为带符号数,则指令执行前_______寄存器中的数大。答案:AH 11.若(AX)=7531H,(BX)=42DAH,则CMP AX, BX指令执行后,(AX)=_____,(SF, ZF, CF, OF)=_______。答案:42DAH 1,0,0,0 12.设(AL)=1010 0000B,则执行NEG AL后,(AL)=________;设(AL)=1000 0000B,则执行NEG AL后,(AL)=________。答案:60H 80H 13.假定(AX)=96H,(BX)=65H, 依次执行ADD AX, BX 指令和 DAA 指令后,(AL)=___。答案:61H 14.执行下列指令序列后,(AH)=____,(AL)=_____,CF=____,AF=____。MOV AX, 0106H MOV BL, 08H SUB AL, BL AAS 答案:(AL)=08H,(AH)=0,CF=AF=1 15.设(AL)=98H,(BL)=12H,(AX)=_______(OF)=_______(CF)=_______ 而执行指令IMUL BL后,(AX)=_______(OF)=_______(CF)=_______ 答案:0AB0H 0F8B0H

BL 1 1

1.若执行指令MUL BL后,16.已知(AL)=6,(BL)=7, 执行下述指令后,(AL)=______ MUL AAM 答案:02H 17.CBW指令是将_____的符号扩展到_____中,如果(AL)=0A4H,则执行CBW指令后,(AX)=______。

答案:AL

AH 0FFA4H 18.执行下列程序段后,给出指定寄存器的内容。XOR DEC MOV NEG AX, AX AX BX, 6378H BX XCHG AX, BX AX 和BX寄存器的内容为_______。答案:6378H和0001H 19.执行下列指令后: MOV MOV ROL DEC MOV MUL HLT 寄存器AH的值是______,AL的值是

_____。答案:8DH 00H 20.假设(DX)=10111001B,(CL)=03H,CF=1,执行SHL DL, CL后,(DX)=_____。答案:10111001000B 21.下列指令段执行完毕后,(SI)=_______,(DI)=______。STD MOV AX, 2500H MOV DS, AX MOV BX, 3500H MOV ES, AX MOV SI, 1500H MOV DI, 0400H MOV CX, 3 REP MOVSB 答案:14FDH

03FDH 22.假设ES段中有一个字符串’12FG3LM5C’,其名为ARRAY。下面的程序段执行后CX的值是______。CLD LEA MOV MOV HLT 答案:5 23.假设(DS)=2000H,(BX)=1256H,(SI)=528FH,位移量TABLE=20A1H,(232F7H)=80H,(232F8H)=32H,(264E5H)=50H,(264E6H)=24H: 执行指令 JMP BX 后,(IP)=_________。DI, ES:ARRAY AL, ‘G’ CX, 9 AX, 1234H CL, 4 AX, CL AX CX, 4 CX REPNE SCASB 执行指令 执行指令 JMP TABLE[BX]后,(IP)=_______。JMP [BX][SI] 后,(IP)=_______。

2450H 答案:1256H

3280H MOV PUSH MOV PUSH CALL.....L1:......RET 2 答案:00FEH AX, N1 AX AX, N2 AX L1 24.已知(SS)=3000H,(SP)=0100H,执行下列程序后,(SP)=_______。

25.已知(IP)=1000H,(SP)=2000H,(BX)=283FH, 指令CALL WORD PTR [BX] 的机器代码是FF17H, 试问执行该指令后,内存单元1FFEH中的内容是______。答案:02H

三、问答题

1.设DS=1000H,ES=3000H,SS=4000H,SI=00A0H,BX=0700H,BP=0070H,执行指令为MOV AX, [BX+5]。

(1)指令使用的是何种寻址方式?

(2)源数据的逻辑地址和物理地址分别是多少?

(3)若源数据为1234H,则执行指令后上述各寄存器的内容是什么?

答案:基址寻址,基址寄存器是BX,源操作数在数据段中,源操作数的逻辑地址是: EA=BX+5=0700H+5=0705H 源操作数的物理地址是:10705H 若源数据为1234H,则执行指令后,AX中的内容就为1234H,其余寄存器的内容不变。2.分别说明下列指令的源操作数和目的操作数各采用什么寻址方式,并写出指令中存储器操作数的物理地址的计算公式。(1)MOV AX, 2408H(2)MOV BX, [SI](3)MOV [BP+100H],AX(4)MOV [BX+DI], '$'(5)MOV DX, ES:[BX+SI] 答案:

(1)立即寻址,(AX)=2408H(2)寄存器寻址,物理地址:10H×(DS)+EA=10H×(DS)+(SI)(3)寄存器寻址,物理地址:10H×(SS)+(BP)+0100H(4)基址加变址寻址,物理地址:10H×(DS)+(BX)+(DI)(5)基址加变址,带有段超越前缀,物理地址:10H×(ES)+(BX)+(SI)3.写出能完成下述操作的指令。(1)将立即数1234H送至DS寄存器。(2)将存储单元3000H和内容送至4000H单元。(3)将累加器AX与寄存器CX中的内容对调。答案:

(1)MOV AX, 1234H MOV DS, AX(2)MOV AX, [3000H] MOV [4000H], AX(3)XCHG AX, CX 4.编程:将数据段中以BX为偏移地址的连续4单元的内容颠倒过来。答案: MOV AL, [BX] XCHG AL, [BX+3] MOV [BX], AL MOV AL,[BX+1] XCHG AL, [BX+2] MOV [BX+1], AL 5.已知(DS)=091DH,(SS)=(1E4AH),(AX)=1224H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09214H)=085BH,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。试问下列指令或指令段执行后结果如何?(1)MOV CL, [BX+20H](2)MOV [BP][DI], CX(3)LEA BX, [BX+20H][SI] MOV AX, [BX+2](4)LDS SI, [BX][DI] MOV BX,[SI](5)XCHG CX, [BX+32H] XCHG [BX+20H][SI], AX 答案:(1)CL=5BH(2)(1E4F6H)=5678H(3)(AX)=1E40H(4)(BX)=091DH(5)(AX)=5678H,(09226H)=1224H 6.十六进制0~9,A~F对应的ASCII码为30H~39H,41H~46H,依次放在内存以TABLE开始的区域,将AL中某一位十六进制数×H转换为对应的ASCII码,请编写程序段。答案:

LEA BX, TABLE MOV AL, ××H XLAT 7.将AX寄存器清零有4种方法,试写出这4条指令。

答案:MOV AX, 00H

SUB AX, AX

AND AX, 00H

XOR AX, AX 8.使用一条逻辑运算指令实现下列要求:(1)使AL高4位不变,低4位为0。(2)使AL最高位置1,后7位不变。(3)使AL中的bit3、bit4变反,其余位不变。(4)测试判断CL中的bit2、bit5、bit7是否都为1。答案:

(1)AND AL, 0F0H(2)OR AL, 80H(3)XOR AL 18H(4)TEST AL, 0A4H 9.试分析下面的程序段完成什么功能。MOV CL, 4 SHL AX, CL SHL BL, CL MOV AL, BL SHR DH, CL OR AL, DH 答案:将AX中间8位,BX的低4位,DX的高4位组成一个新字存放在AX中。10.若要将源串100个字节数据传送到目标串单元中去,设源串首址的偏移地址为2500H,目标串首址的偏移地址为1400H,请编写程序实现以下功能。(1)完成源串到目标串的搬移。

(2)比较两串是否完全相同,若两串相同,则BX寄存器内容为0;若两串不同,则BX指向源串中第一个不相同字节的地址,且该字节的内容保留在AL的寄存器中。答案:(1)CLD MOV CX, 100 MOV SI, 2500H MOV DI, 1400H REP MOVSB(2)CLD MOV CX, 100 MOV SI, 2500 MOV DI, 1400 REPE CMPSB JZ EQQ DEC SI MOV BX, SI MOV AL, [SI] JMP STOP EQQ: MOV BX, 0 STOP: HLT 11.下列指令段的功能是:从内存2000H:0A00H开始的2KB内存单元清零。请在下列空格中填入合适的指令,程序指令完成后DI的内容是多少。CLD MOV AX, 2000H _________ _________ XOR AL, AL _________ _________ HLT 答案:MOV ES,AX MOV DI, 0A00H XOR AL,AL MOV CX, 800H REP STOSB HLT

第二篇:微机原理考试习题与答案

微机原理及接口技术

习题及练习册

微机原理课程组 2009年12月

中北大学微机原理及接口技术习题及练习册---目录

目录

第1章 计算机基础知识.............................................................................................................................1 1.1 基本练习题....................................................................................................................................1 1.2 课后练习题....................................................................................................................................2 第2章 8086/8088微处理器.......................................................................................................................3 2.1 基本练习题....................................................................................................................................3 2.2 课后练习题....................................................................................................................................4 第3章 指令系统.........................................................................................................................................5 3.1 基本练习题....................................................................................................................................5 3.2 课后练习题....................................................................................................................................7 第4章 汇编语言程序设计.........................................................................................................................9 4.1 基本练习题....................................................................................................................................9 4.2 课后练习题..................................................................................................................................10 第5章 半导体存储器................................................................................................................................11 5.1 基本练习题...................................................................................................................................11 5.2 课后练习题..................................................................................................................................13 第6章 输入输出接口技术.......................................................................................................................14 6.1 基本练习题..................................................................................................................................14 6.2课后练习题...................................................................................................................................15 第7章 并行接口及8255A应用..............................................................................................................16 7.1 基本练习题..................................................................................................................................16 7.2 课后练习题..................................................................................................................................18 第8章 串行接口及8251A应用..............................................................................................................20 8.1 基本练习题..................................................................................................................................20 8.2 课后练习题..................................................................................................................................20 第9章 中断及8259A...............................................................................................................................21 9.1 基本练习题..................................................................................................................................22 9.2 课后练习题..................................................................................................................................23 第10章 定时器/计数器............................................................................................................................24

I 中北大学微机原理及接口技术习题及练习册---目录

10.1 基本练习题................................................................................................................................24 10.2 课后练习题................................................................................................................................25 第11章 模拟量通道.................................................................................................................................26 11.1 基本练习题................................................................................................................................26 11.2 课后练习题................................................................................................................................26 第12章 与实验相关的问题.....................................................................................................................28 12.1 基本练习题................................................................................................................................28 12.2 课后练习题................................................................................................................................28 基本练习题参考答案.................................................................................................................................29 第1章 计算机基础知识参考答案...................................................................................................29 第2章 8086/8088微处理器参考答案.............................................................................................29 第3章 指令系统参考答案...............................................................................................................30 第4章 汇编语言程序设计参考答案...............................................................................................31 第5章 半导体存储器参考答案.......................................................................................................33 第6章 输入输出接口技术参考答案...............................................................................................36 第7章 并行接口及8255A应用参考答案.......................................................................................36 第8章 串行接口及8251A应用参考答案.......................................................................................38 第9章 中断及8259A参考答案.......................................................................................................39 第10章 定时器/计数器参考答案....................................................................................................39 第11章 模拟量通道参考答案..........................................................................................................40 第12章 与实验相关的问题参考答案.............................................................................................41

I I

中北大学微机原理及接口技术习题及练习册

第1章 计算机基础知识

基本要求:了解微型机的特点、发展、分类及应用;理解微型计算机系统的硬件组成和基本工作方式;掌握软件的作用及其与硬件的相依关系,掌握微处理器、微型计算机和微型计算机系统。掌握原码、反码、和补码的定义、求法,掌握补码运算的特点和基本法则,会用补码加、减法;熟练掌握有符号数的表示方法,了解定点数、浮点数的表示方法;理解溢出的概念,了解溢出的判别方法;掌握BCD码的表示方法;掌握字符的表示方法—ASCII码;了解汉字编码的方法。本章重点:熟练掌握原码、反码、和补码的定义运算法则。

1.1 基本练习题

一、填空题

1.系统总线由___________、___________、___________三类传输线组成。

2.微型计算机由_______________、_______________、_______________和系统总线组成。

3.计算机的硬件结构通常由五大部分组成。即运算器,____________,__________,输入设备和输出设备组成。

4.8位二进制整数,其补码所能表示的范围为____________,-1的补码为__________H。5.一带符号数的8位补码为11110111B,它所表示的真值为________D。6.将二进制数101101.101转换为十进制数为_______________。7.将压缩BCD码01111001转换成二进制数为_______________。

8.一个完整的微机系统应包括_______________和_______________两大功能部分。

9.X、Y的字长均为12位,已知[X]反=A3CH,原码为_______________H,[Y]反=03CH,则X-Y的补码为_______________H。

10.微处理器由_______________、_______________和少量寄存器组成。

11.带符号数在机器中以_________码表示,十进制数-78表示为_______________。12.将压缩BCD码01111001转换成十进制数为_______________。13.8位二进制补码10110110代表的十进制负数是_______________。

14.已知X的补码是11101011B,Y的补码是01001010B,则X-Y的补码是_______________。15.ASCII码由_________位二进制数码构成,可为_______个字符编码。

16.在计算机中,用二进制表示实数的方法有两种,分别是______和________。

二、选择题

1.计算机内部数值7FH,当分别为某个数的原码、反码和补码时,其真值是_________。A)原码时大 B)反码时大 C)补码时大 D)一样大 2.十进制数-38的八位二进制补码是________。

A)01011011 B)11011010 C)11011011 D)01011010 3.微型计算机的发展特点是__________。

A)体积越来越小 B)容量越来越大 C)精度越来越高 D)以上都对 4.在下列不同进制的数据中,最小的数是___________。

A)101001B B)101001BCD C)52D D)23H 5.标准的ASCII码由______位二进制代码组成。

A)4 B)7 C)8 D)9 6.长度相同但格式不同的的两种浮点数,假设前者阶码长,尾数短,后者阶码短,尾数长,其他规则相同,则他们可表示数的范围和精度_________。

A)两者可表示的数的范围和精度相同 B)前者可表示的数的范围大但精度低 中北大学微机原理及接口技术习题及练习册

C)后者可表示的数的范围大且精度高 D)前者可表示的数的范围大且精度高 7.汉字编码的首要原则是,要给每个汉字分配唯一一个____位的二进制数。A)4 B)8 C)16 D)32

三、简答题

1.写出下列真值对应的机器数的原码、补码形式。

(1)X=-1100100(2)X=+1000000(3)X=-1111111(4)X=-0000000 2.微型计算机由那些基本功能部件组成? 3.什么是总线?

4.简述微型计算机主要特点。5.BCD码运算修正规则是什么? 6.简述微处理器的基本功能。

7.什么是机器数?什么是机器数的真值?

1.2 课后练习题

一、填空题

1.将二进制数1011011.1转换为十六进制数为_______________。2.将十进制数199转换为二进制数为_______________B。

3.BCD码表示的数,加减时逢______进一,ASCII码用来表示数值时,是一种_______________(压缩或非压缩)的BCD码。

4.十进制数36.875转换成二进制是_______________。

5.以_________为主体,配上系统软件和外设之后,就构成了______________。

6.十进制数98.45转换成二进制为___________B、八进制__________Q、十六进制__________H。(精确到小数点后4位)

二、选择题

1.堆栈的工作方式是___________。

A)先进先出 B)后进先出 C)随机读写 D)只能读出不能写入 2.八位定点补码整数的范围是_____________。

A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是______。

A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768

三、简答题

1.微型计算机系统的基本组成?

2.简述冯.诺依曼型计算机基本思想?

中北大学微机原理及接口技术习题及练习册

3.什么是微型计算机?

4.什么是溢出?

第2章 8086/8088微处理器

基本要求:理解微处理器的内、外部逻辑结构,了解8086/8088的功能结构,理解8086/8088的引脚定义和功能‘理解各个寄存器组织方式和I/O组织方式,理解存储器的地址空间与寻址的概念;理解存储器分段的概念;熟练掌握物理地址的形成方法,掌握信息的分段存储与段寄存器之间的关系。重点和难点:微处理器的内、外部逻辑结构和8086/8088的引脚功能

2.1 基本练习题

一、填空题

1.8088的内存单元3017H:010BH的物理地址为_______________。2.8088 CPU的外部数据线有_______条,内部数据线有_______条。3.8086中,RESET的作用是:_______________。

4.在8088系统中,从偶地址读写两个字时,需要______个总线周期。5.8086CPU 内部设置有一个_________字节的指令队列寄存器。6.8086上电复位后,其内部(CS)=___________,(IP)=________。7.8086 CPU在内部结构上由___________和_________组成。

8.在用8086 CPU组成的计算机系统中,当访问偶地址字节时,CPU和存储器通过____________数据线交换信息;访问奇地址字节时通过_____________数据线交换信息。

9.8086 CPU对存储器的最大寻址空间为_______________;在独立编址时对接口的最大寻址空间是_______________。

10.8086状态寄存器中,作为控制用的标志位有______个,其中,不可用指令操作的是______。11.在8086系统中,堆栈是按___________方式工作的存储区域,操作地址由________和_______提供。

二、选择题

1.指令的指针寄存器是_______。

A)BX B)IP C)BP D)SP 2.中央处理器(微处理器)一般主要包括________。

A)运算器 B)控制器 C)运算器和控制器 D)运算器、控制器和存储器 3.下面的说法中,___________是正确的。

A)指令周期等于总线周期 B)指令周期大于等于总线周期

C)指令周期是总线周期的两倍 D)指令周期与总线周期之间的关系不确定 4.在8086系统中,在以下地址中可作为段起始地址的为:()A)20100H B)20102H C)20104H D)20108H 5.8086执行一个总线周期最多可传送()字节。中北大学微机原理及接口技术习题及练习册

A)1个 B)2个 C)3个 D)4个

6.在8086CPU的标志寄存器中,属于控制标志位的是__________。A)DF B)SF C)OF D)CF 7.8088 CPU中断请求线有()。

A)1条 B)2条 C)4条 D)8条

8.某个8088存储单元的逻辑地址为A400:3400,其物理地址是_____。A)0D8000H B)0A7400H C)3E400H D)0A740H 9.在8086CPU中,对时钟周期、指令周期和总线周期的长短排序,正确的是________。

A)总线周期≥指令周期≥时钟周期 B)时钟周期≥指令周期≥总线周期 C)指令周期≥总线周期≥时钟周期

10.在8086/8088中,一个最基本的总线周期由4个时钟周期(T状态)组成,在T1状态,CPU在总线上发出__________信息。

A)数据 B)状态 C)地址 D)其他

三、简答题

1.若在4002H段中有8个字节的数据为34H,45H,56H,67H,78H,89H,9AH,0ABH,假定它们在存储器中的物理地址为400A5H-400ACH,试求各存储单元的有效地址;若从存储器中读出这些数据,试问最少要几个总线周期?

2.8086CPU内部由哪两部分组成?各完成什么工作?

3.简述8086内部EU和BIU两大功能单元各自的功能和这样组织的意义。4.什么是微处理器?

2.2 课后练习题

一、填空题

1.8086/8088的基本总线周期由_______个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为_______________。

2.在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样_____________信号,若未准备好,插入_____________时钟周期。

3.8086系统总线形成时,须要用_______________信号锁定地址信号。4.对于8086微处理器,可屏蔽中断请求输入信号加在_______________引脚。

5.在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为_______________。6.8086的输入信号 Ready 为低电平的作用是说明_______________。7.8088 CPU的 NMI 引脚提出的中断请求称为:_______________。8.CPU从主存取出一条指令并执行该指令的时间称为_______________。9.在8086系统中,从奇地址读写两个字时,需要_________个总线周期。

二、简答题

1.在内部结构上,微处理器主要有那些功能部件组成?

中北大学微机原理及接口技术习题及练习册

2.微处理器一般应具有那些基本功能?

3.什么是总线周期?

三、判断题

1.在8086系统中,20位地址是在执行部件中形成的。()2.8086 CPU的最小方式是为实现多处理器系统而设计的。()3.在加减运算时,OF=1就表示结果有错。()4.两数相加,结果有偶数个“1”,则PF=1。()5.当8086CPU复位后,(CS)=0000H,(IP)=0FFFFH,所以复位后系统从物理地址0FFFF0H开始执行程序。()6.8086的每个存储单元地址既是字节地址又是字地址。()7.同一个物理地址可以由不同的段地址和偏移量组合得到。()

第3章 指令系统

基本要求:掌握8086/8088的寻址方式,了解8086/8088指令系统概况,掌握常用指令的汇编格式、功能及用法。了解机器语言、汇编语言与高级语言的区别和联系。本章重点:掌握8086CPU的寻址方式、指令系统中指令的分类及其常用指令的格式和功能。本章难点:灵活运用指令解决实际问题。

3.1 基本练习题

一、填空题

1.条件转移指令转移的范围是______________。

2.设当前的(SP)=0100H,执行PUSH AX指令后,(SP)=_______________H,若改为执行INT 21H指令后,则(SP)=_______________H。

3.若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=_______________H;而当CPU执行一条段内返回指令RET 6后,(SP)=_______________H。

4.8086的I/O指令有__________和__________两种寻址方式。5.程序控制类指令的功能是_______________。

6.已知(BX)=2000H,(DI)=3000H,(SS)=4000H,(DS)=6000H,(SS)=5000H,66000H单元的内容为28H,则指令MOV AL,[BX+DI+1000H]的执行结果是_______________。7.在寻址方式中,可作基址寄存器的有___________、_________。8.若(AL)=95H,执行SAR AL,1 后(AL)=________。

9.MOV AX,[BX][DI] 指令中源操作数的寻址方式为_______________。

10.若(CS)=1000H,(DS)=2000H,(SS)=3000H,(ES)=4000H,(SI)=1000H,(BP)=2000H,则指令MOV AX,[BP]的功能是将____________单元的内容传送给AL,将__________单元的内容传送给AH(填写物理地址)。

11.指令MOV DX,OFFSET BUFFER 的源操作数的寻址方式是:_______________。中北大学微机原理及接口技术习题及练习册

12.若(AL)=35H,执行ROL AL,1 后,(AL)=_______________。

13.指令MOV AX,[DI-4]中源操作数的寻址方式是______________。

14.累加器专用传送指令IN间接访问I/O端口,端口号地址范围为_______________。15.若(DS)=2000H,(ES)=2100H,(CS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,则执行指令LEA AX,[BX][SI] 之后,(AX)=___________H,源操作数是____________寻址方式。

二、选择题

1.完成将BX清零,并使标志位CF清零,下面错误的指令是_________。

A)SUB BX,BX B)XOR BX,BX C)MOV BX,00H D)AND BX,00H 2.已知(DS)=1000H,(BP)=0010H,(BX)=0100H,(DI)=0100H,(010110H)=ABH,(010111H)=BAH,执行指令LEA CX,[BP][DI]后,(BX)=_________。

A)0ABBAH B)0100H C)0BAABH D)0110H 3.下面的指令不合法的是________。

A)INT 21H B)ADC AX,[SI] C)IN AX,03H D)PUSH AL 4.设SP=50H,执行段间返回指令RET 后,寄存器SP的内容是()。

A)44H B)54H C)5AH D)5CH 5.在指令MOV ES:[SI],AX 中,目的操作数为_______寻址方式。

A)寄存器 B)直接 C)基址变址 D)寄存器间接 6.下列四条指令中,有几条指令需要使用DX寄存器_________? MUL BX DIV BL IN AX,20H OUT 20H,AL A)1条 B)2条 C)3条 D)4条 7.设(CL)=05H,要获得(CL)=0AH,可选用的指令是()。

A)NOT CL B)AND CL,0FH C)XOR CL,0FH D)OR CL,0AH 8.用MOV指令将十进制数89以压缩BCD码格式送入AX,正确使用的指令是_________。

A)MOV AX,0089 B)MOV AX,0809 C)MOV AX,0089H D)MOV AX,0809H 9.若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL、BL的内容__________。

A)0FH,04H B)0BH,04H C)0FH,0BH D)04H,0FH 10.在子程序的最后一定要有一条__________指令。

A)HLT B)RET C)IRET D)POP 11.下列指令中,有语法错误的是__________________。

A)MOV [SI],[DI] B)IN AL,DX C)JMP WORD PTR[BX+8] D)PUSH WORD PTR 20[BX+SI-2] 12.下面指令序列执行后完成的运算,正确的算术表达式应是________________。

MOV AL,BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTR Y,AL A)Y=2X+1 B)X=2Y+1 C)Y=2X-1 D)X=2Y-1 13.若已知(SP)=2000H,(AX)=0020H,则执行指令,PUSH AX 后,(SP)和((SS):(SP))的值分别为_________。

A)2002H,00H B)2000H,20H C)1FFFH,00H D)1FFEH,20H 14.8086执行POP AX指令时,正确的操作是___________________。

A)AX<--[SP+1][SP],SP<--SP+2 B)AX<--[SP+1][SP],SP<--SP-2 C)SP<--SP+2,AX<--[SP+1][SP] D)SP<--SP-2,AX<--[SP+1][SP] 15.若累加器AL的内容为13H,执行NEG AL指令后,AL内容为________。

A)OOH B)13H C)0ECH D)0EDH 6

中北大学微机原理及接口技术习题及练习册

16.8086中8位算术运算指令执行后,结果为10010001B,则ZF和SF标志位的值为______。

A)ZF=0 SF=1 B)ZF=0 SF=0 C)ZF=1 SF=1 D)ZF=0 SF不确定 17.在执行MUL BL指令执行后,CF=OF=1,(AL)=82H,则表示________。

A)(BL)>0 B)(AH)=FFH C)被乘数小于零 D)乘积大于255

三、简答题

1.什么是寻址方式,写出五种与数据有关的寻址方式? 2.在IBM PC中有专用的输入输出指令,请问I/O端口的地址范围是多少?地址范围的不同,应采用的指令格式不同,请写出在具体的范围和采用的指令格式。3.指出以下三条指令的区别(NUM为数据段一个变量名)。

(1)MOV SI,NUM(2)LEA SI,NUM(3)MOV SI,OFFSET NUM 4.根据给定的条件写出指令或指令序列。

(1)将AX寄存器及CF标志位同时清零。(2)BX内容乘以2再加上进位位。(3)将AL中的位二进制数高4位和低4位交换。

(4)将首地址为BCD1存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。5.子程序调用的操作过程包含哪几个步骤?

6.在0624H单元内有一条二字节指令JNE OBJ,如其中位移量分别为

(1)27H(2)6BH(3)0C6H 试问:转向地址OBJ的值是多少?

7.如BUFFER为数据段中0032单元的符号地址其中存放的内容为2345H,试问以下两条指令有什么区别?指令执行完成后AX寄存器的内容是什么?(1)MOV AX,BUFFER(2)LEA AX,BUFFER 8.在无超越说明时,通用数据读写、目的数据串、源数据串、堆栈操作和取指令操作分别自动选择哪些段寄存器搭配产生物理地址?

9.设(DS)=1000H,(AX)=1C5AH,(BX)=2400H,(SI)=1354H,(13774H)=30H,(13775H)=20H,(13754H)=40H,(13755H)=10H 指令在此环境下执行,在各空中填入相应的执行结果。

SUB AX,20H[BX][SI](AX)=_____,SF=______,ZF=______,CF=_____,OF=______ 3.2 课后练习题

一、简答题

1.若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程序转向何处执行。

ADD AX,BX

JNC L3 JNO L1

JNO L4 JNC L2

JMP L5 SUB AX,BX 2.中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?这样做存在什么问题?

3.写出把首地址为BLOCK字数组中的第6个字,送到DX寄存的指令(或指令组),要求使用以下几种寻址方式:

(1)寄存间接寻址(2)寄存相对寻址(3)基址变址寻址 中北大学微机原理及接口技术习题及练习册

4.设BX=134AH,BP=1580H,DI=0528H,SI=0234H,DS=3200H,SS=5100H,求在各种寻址方式下源操作数的物理地址。

1)MOV AX, [2400H] 2)MOV AX, [BX] 3)MOV AX, [SI] 4)MOV AX, [BX+2400H] 5)MOV AX, [BP+2400H] 6)MOV AX, [BX+DI] 7)MOV AX, [BP+SI+2400H]

二、阅读下面的程序段,写出运行结果 1.CLC MOV AX,248BH MOV CL,3 RCL AX,CL 执行以上程序序列后,AX=____________________。

2.MOV BX,6D16H MOV CL,7 SHR BX,CL 执行后BX寄存器中的内容________________________。

3.MOV DX,01H MOV AX,42H MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 执行后(DX)=__________,(AX)=____________ 4.mov ax,693ah mov al,ah not al add al,ah inc al 程序段执行后,AL= _____________、ZF= ______________。

5.根据程序填空(程序段顺序执行)MOV CL, 58;CL= MOV AL, 79;AL= ADD AL, CL;AL= H, AF= , CF= DAA;AL= , AF= , CF=

三、判断题

1.执行下列指令可以将00H送到端口地址为1A0H的外设上。()MOV AL,00H MOV 1A0H,AL 2.执行下列指令可以将其00H送到端口地址为2F8H的外设上:()MOV AL,00H MOV DX,2F8H OUT DX,AL 3.8088的MOV指令不能进行两个存储器单元之间的数据直接传送。()4.8088系统中,堆栈的存取可以以字或字节为单位。()5.IN和OUT指令可寻址的口地址为64K个,端口地址只能用立即数。()8

中北大学微机原理及接口技术习题及练习册

6.判断下列指令是否正确(1)JMP(2)IN(3)MOV(4)SHL BX AL,DX DS,AX AX,2

(((((((())))))))

(9)PUSH SS(10)POP

CS

(((((((())))))))

(11)XCHG BX,IP(12)MOV(13)IN(14)MOV(15)IN(16)MOV

[BX],[1000] AL,N;(N>255)[BX][DI],10 BX,DX CS,AX(5)PUSH AL(6)MOV(7)MOV(8)MOV ES,3F00H [BX],[SI] AL,[BX+10H]

第4章 汇编语言程序设计

基本要求:掌握汇编语言程序设计的基本步骤,熟悉汇编语言程序设计的基本方法,掌握汇编语言程序的建立及汇编过程。本章的难点:依据所要解决的问题,选择正确的程序设计方法,正确地运用指令编写实用的汇编源程序

4.1 基本练习题

一、填空题

1.标号和变量都是存贮单元的符号地址,但其内容不同,标号是_______________的符号地址,而变量是_______________的符号地址。

2.汇编语言源程序结束伪指令是_______________。3.一个程序中,有下列伪指令:

ARY DB 25 DUP(3,4,4 DUP(?,1,0))LEN DW $-ARY LEN单元存储的值是。4.有一个程序片段如下

MSG DW 3 DUP(?, 2 DUP(5,4),3)

MEN DW $-MSG

MOV AX, SEG MEN

MOV DS, AX

MOV AX, MEN AX的值最后是。

二、简答题

1.简述8086汇编语言中,指令语句和伪指令语句的区别和作用。2.什么是变量,变量有哪些属性,如何使用这些属性? 3.试说明为什么有时候必须使用PTR属性操作符? 4.什么是汇编语言,什么是汇编? 5.简述DOS系统功能调用的使用方法?

三、程序设计题

1.从BUFF单元起有一个字符串(长度小于65535),以'*'结束,编写一个完整程序求该字符串长度存入LENT单元,并统计字符串中含有大写英文字符的个数并存入COUNT单元。要求源程序具备必要的伪指令和段说明。中北大学微机原理及接口技术习题及练习册

2.有一带符号8位数X存于DAT单元.编一个程序段判断该数,若x小于0则将0FFH送MARK单元;若X等于0则将MARK+1单元置0FFH;若X大于0则置MARK+2单元为0FFH。3.已知有X、Y、Z三个字变量,存放无符号整数,请编一个完整的程序实现公式Z=(X+Y)/(X-Y+600)(不考虑溢出情况)。

4.AX寄存器中存放着4位十六进制数。试编写一个汇编语言程序,将这4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求用调用子程序的方法实现。5.写出对存放在DX和AX中的双字长数求补的指令序列。

6.设有两个等长字符串。试编写一个汇编语言程序,比较它们是否完全相同;若相同,则将字符“Y”送入AL中,否则,将字符“N”送入AL中。7.写出程序段,把DX,AX中的双字右移四位。

8.编写一个完整的8086汇编语言程序,从附加段中首地址为ADR1(变量名)连续存放的100个字型无符号整数中找出最大数,并将此数及其偏移地址分别放入变量MAX和MAXM中

9.已知(AX)=4BD5H,统计AX中1的个数和0的个数,并分别放在BL和DL中。编写程序段实现该功能。

10.有一个首地址为ARRAY的N个字的数组,请编程序使该数组中的数按照从大到小的次序排序。(采用冒泡排序算法)

4.2 课后练习题

一、填空题

1.定义段结束的伪指令是___________;定义子程序结束的伪指令是________。

2.伪指令X DB 4 DUP(6,2 DUP(6,8)); Y DW 6800H; 设X的偏移地址为2000H,则Y的偏移地址为_________H,若执行指令MOV BL,BYTE PTR Y后,则(BL)=________。3.伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配了_______________字节。

二、选择题

1.下面表示段定义结束的伪指令是__________。

A)END B)ENDP C)ENDS D)ENDM 2.变量的类型属性如下,下面错误的类型是__________。

A)字节型 B)字符型 C)字型 D)双字型 3.设有一程序定义如下: ORG 0024H AR1 DW 4,5,$+4 „

MOV AX,AR1+4 执行以上指令后,AX中的内容正确的是_______________。

A)0028H B)0032H C)002AH D)002CH 4.现用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0));问定义后,存储单元中有数据0100H的字单元个数是____________。A)4 B)3 C)8 D)12 5.下列伪指令中定义字节变量的是________。A)DB B)DW C)DD D)DT 6.使用DOS功能调用时,子功能号应放在()寄存器中。A)AL B)AH C)DL D)DH 1 0

中北大学微机原理及接口技术习题及练习册

三、程序设计题

1.统计从01000H内存单元开始的100个字(WORD)型带符号数中的正数、负数和零的字(WORD)个数。

2.实现两个十六位二进制数的加法。要求加数放在FIRST开始单元,被加数放在SECOND开始单元,和数放在SUM单元。

第5章 半导体存储器

基本要求:掌握存储器的分类、作用及性能指标;了解半导体读写存储器(RAM)的基本原理,掌握静态RAM、动态RAM的特点,了解动态RAM的刷新方法;了解半导体只读存储器(掩膜ROM、PROM、EPROM、EEPROM)的基本原理,掌握其特点;掌握常用存储器芯片的用法;掌握存储器容量的扩充方法,以及存储器与微处理器(8位、16位数据总线)的连接方法;掌握片选信号的产生方法。本章重点:掌握各种存储器的工作原理及其CPU的存储器的扩展。本章难点:理解存储器的工作原理及其地址空间的确定。

5.1 基本练习题

一、填空 1.在微机系统中用高位地址线产生存储器片选(CS)的方法有__________、_________、__________。2.某机器中有8KB的ROM,其末地址为0FFFFFH,则其首地址为______________。3.DRAM靠_______________存储信息,所以需要定期_______________。

4.掉电后信息丢失的存储器是_______________,掉电后信息不丢失的存储器是_______________。5.半导体存储器分为___________、__________两大类。前者的特点是_______________,后者的特点是_______________。

6.从内存地址40000H到0BBFFFH,共_________KB。

7.用512×4的RAM芯片组成12K×8的芯片组,需片内地址线_______________条,片组选择线至少_______________条。中北大学微机原理及接口技术习题及练习册

二、选择

1.某CPU有地址线20根,它可连接内存的最大存储容量是________。A)64KB B)640KB C)1MB D)4MB 2.以下四种半导体存储器中,以传输同样多的字为比较条件,则数据传输率最高的是_______。A)DRAM B)SRAM C)闪速存储器 D)EPROM 3.没有外部存贮器的计算机,其监控程序可以存放在____________。A)RAM B)ROM C)CPU D)RAM和ROM 4.用16M×1的DRAM芯片组成128MB×8存储容量,要使用______________。A)128片 B)64片 C)32片 D)16片

5.27128的存储容量为16K×8,其片内地址线和数据线数分别为________。A)8,8 B)8,14 C)14,8 D)14,14 6.2864是一种__________芯片。

A)RAM B)PROM C)EPROM D)EEPROM 7.下列几种半导体存储器中,哪一种需要刷新操作______________? A)SRAM B)DRAM C)EPROM D)EEPROM 8.某SRAM芯片,其存储容量为512K×8位,该芯片的地址线和数据线数目为________。A)8,512 B)512,8 C)18,8 D)19,8 9.EPROM是指__________。

A)可编程的只读存储器 B)只读存储器

C)紫外线可擦除可编程的只读存储器 D)电可改写只读存储器

10.以下四种类型的半导体存储器中,以传输同样多的字为条件,则读出数据最快的是_________。A)FLASH B)DRAM C)SRAM D)EPROM 11.存储器是计算机系统的记忆设备,它主要用来___________。

A)存放数据 B)存放程序 C)存放数据和程序 D)存放微程序 12.和外存相比,内存的特点是________。

A)容量小、速度快、成本高 B)容量小、速度快、成本低

C)容量大、速度快、成本高 D)容量大、速度快、成本低

三、简答题

1.什么是RAM?什么是ROM、EPROM?各有什么用途? 2.试说明线选法和全译码法二种片选控制方法的优缺点。

3.半导体随机存储器RAM与只读存储器ROM有何区别?它们各有哪几种类型? 4.常用的存储器片选控制方法有哪几种?它们各有什么优缺点? 5.简述存储器芯片的组成。

6.设有一个具有14位地址和8位字长的存储器,问:

(1)该存储器能存储多少字节的信息

(2)如果存储器由1K*1位SRAM芯片组成,需要多少芯片?

(3)最少需要多少位地址作芯片选择 7.详细写出半导体存储器的分类。

8.计算机的内存有什么特点?内存由哪两部分组成?外存一般是指哪些设备?外存有什么特点? 9.在存储器器件内部,为什么总是采用矩阵形式组成存储结构?请用一个具体的例子进行说明。10.为了节省存储器的地址译码电路,通常采用哪些方法?

四、存储器设计应用题

1.已知有SRAM芯片62256(32K×8)及EPROM芯片27256(32K×8),现用这两种芯片构成8088最小系统内存的一部分,其中SRAM所占的地址空间为40000H--47FFFH,EPROM所占的地址空间为1 2

中北大学微机原理及接口技术习题及练习册

F8000H--FFFFFH,试设计出其原理图。

2.给8088CPU系统扩展32K的ROM,且所选用的存储器芯片为8K×8,地址译码器为74LS138,ROM的地址范围从60000H~67FFFH,要求写出每一个存储器芯片的地址范围,画出逻辑连线图。

3.设某系统的CPU有16根地址线A15-A0、8根数据线D7-D0。现需扩展6KB的ROM,地址范围为:0000H-17FFH,采用2716芯片。

(1)请写出存储器器件2716的数据线和地址线的条数;

(2)计算ROM的芯片数量;

(3)设计存储器扩展原理图,并写出每片ROM的地址范围。4.已知RAM芯片结构如图所示,回答下列问题:

1)该芯片容量为多少?若要求构成一个2K×8的RAM阵列,需几个这样的芯片?

2)若RAM阵列组的起始地址为E1000H,画出存储器系统与8086的电路连接图(8086工作在最小模式),并写出每组RAM芯片的地址空间。

3)编程:将缓冲区中的10个数据写进E1000开始的10个单元中,并说明如何查看结果?

五、判断题

1.只读存储器ROM只有一种类型。

()2.动态RAM的一个重要问题是必须对它所存的信息定期进行刷新。

()

3.用紫外线照射一片EPROM的窗口后,若读出其存储单元的内容均为0FFH,则表明该EPROM已被擦除干净。

()4.读写存储器RAM,有SRAM和DRAM二种类型。

()

5.2 课后练习题

一、填空题

1.在Intel80x86系统中,若一个32位(4字节)字11223344H,存储在地址为10000H的存储单元中,则10000H字节单元内容为____________,10003H字节单元内容为___________。2.若芯片SRAM的容量为4K×4bit,现欲用这样的芯片构成0A0000H到0C3FFFH的内存,需要___片这样的芯片。

3.如果某存储器芯片的容量为4K×8位,则存储器片内寻址地址线是_______根,如果它在系统中起始地址为0F0000H,则它的末地址是_______________。

二、简答题

1.试述动态RAM的工作特点,与静态RAM相比,动态RAM有什么长处和不足之处。说明它的使用场合。

2.用下列RAM芯片构成32K×8的存储器模块,各需要多少芯片?多少个片选线?(1)1K×8(2)4K×8(3)1K×4(4)16K×4 中北大学微机原理及接口技术习题及练习册

3.什么是字扩展?什么是位扩展?用户自己购买内存条进行内存扩充,是在进行何种存储器扩展?

三、存储器应用

1.设某微机系统需要扩展内存RAM 32KB,扩充的存储器空间为10000H开始的连续存储区域。存储器芯片采用16K×8的RAM芯片,CPU使用8088。1)选用芯片,画出逻辑连接图; 2)写出各片RAM的所在地址区域。

2.用4K×4的EPROM存储器芯片组成一个16K×8的只读存储器。试问:(1)该只读存储器的数据线和地址线的位数。(2)根据题意需要多少个4K×4的EPROM芯片?(3)画出此存储器的组成框图。

第6章 输入输出接口技术

基本要求:理解I/O接口的作用和一般结构;掌握I/O编址方式和I/O传送方式,理解中断的概念、分类。本章重点:一些基本概念,I/O接口的构成以及I/O传送方式

6.1 基本练习题

一、填空题

1.CPU与内存及I/O装置间传送数据的硬件线路通道称为_______________。

2.CPU和外设之间的数据传送方式有__________、__________、____________和___________。3.I/O接口的编址方式可分为_______________、_______________两种方式。4

中北大学微机原理及接口技术习题及练习册

4.CPU与I/O之间接口信息通常有三类,它们是____________、___________、____________信息。5.CPU从I/O接口的_______________中获取外部设备的“准备好”、“忙”或“闲”等状态信息。6.一个典型的接口是由____________、______________和______________三种不同的寄存器构成。7.主机与外设之间的数据传送控制方式通常有三种,它们是程序控制方式,DMA方式及_______________,其中________方式的数据传输率最高。

二、选择题

1.中断与DMA()A)程序中断可以完全代替DMA B)DMA可以完全代替程序中断 C)二者各有使用范围和特点,不能互相代替

2.I/O与主机信息的交换采用中断方式的特点是_________。

A)CPU与设备串行工作,传送与主程序串行工作 B)CPU与设备并行工作,传送与主程序串行工作 C)CPU与设备并行工作,传送与主程序并行工作

3.有关外设的连接,下面哪个说法是正确的__________________? A)输入输出设备可以直接和CPU连接

B)输入设备的数据线必须经过三态缓冲器才能和CPU的数据总线连接 C)CPU的数据总线,必须经三态缓冲器才能和输出设备连接 4.一般的接口电路中,不包含下面的哪个端口__________。A)数据口 B)地址口 C)控制口 D)状态口 5.CPU与外设间数据传送的控制方式有________________。

A)中断方式 B)程序控制方式 C)DMA方式 D)以上三种都是

三、简答题

1.什么情况下两个端口可以用一个地址?

2.计算机与外部设备数据交换的方式有几种,分别是什么?

3.如果利用中断方式传送数据,数据是如何传输的?中断机构起什么作用? 4.什么是I/O接口?

5.简述CPU以中断方式如何与外设交换数据。

6.2课后练习题

一、选择题

1.下列有关I/O端口的描述中,不正确的是_______________。

A)I/O端口从逻辑上讲是被CPU访问的I/O接口电路中的寄存器 B)8086系统对I/O端口的访问只能通过专用的指令 C)从连接形式上讲,I/O端口总是直接与数据总线连接 D)I/O端口可以看作是CPU与外设交换数据的中转站

2.在DMA传送方式中,对数据传递过程进行控制的硬件称为()。

A)数据传递控制器 B)直接存储器 C)DMAC D)DMAT 3.CPU响应中断请求和响应DMA请求的本质区别是()A)中断响应靠软件实现 B)速度慢 C)控制简单 D)响应中断时CPU仍然仍控制总线,而响应DMA请求时,CPU要让出总线 4.在中断方式下,外设数据输入到内存的路径是()A)外设→数据总线→内存 B)外设→数据总线→CPU→内存 C)外设→CPU→DMAC→内存 D)外设→I∕O接口→CPU→内存 5.CPU与I∕O设备间传送的信号有()中北大学微机原理及接口技术习题及练习册

A)数据信息 B)控制信息 C)状态信息 D)以上三种都是 6.CPU与外设之间的数据传输方式有_______________。

A)查询方式 B)中断方式 C)DMA方式 D)以上都是 7.主机、外设不能并行工作的输入/输出方式是____________。A)程序查询方式 B)中断方式 C)DMA方式

二、简答题

1.说明I/O接口的基本功能。

2.相对于查询方式,中断方式有什么优点?和DMA方式比较,中断方式有什么不足之处?

三、填空题

I/O端口的编址方式有统一编址和_______________两种。其中,在PC机中,I/O端口编址方式为_______________。

第7章 并行接口及8255A应用

基本要求:要求学生掌握并行接口的原理及扩展方法,掌握并行接口器件8255A的内部结构、外部引脚、内部寄存器以及各种工作方式(方式0、方式1)特点和使用,了解方式2的特点;要求学生掌握8255A初始化编程的方法,并能进行应用程序的软硬件设计;要求学生掌握键盘、LED显示器的作用和工作原理,掌握接口的设计方法。重点:8255A的内部结构和引脚功能、与CPU的连接;8255A的工作方式0;控制字的格式及作用、各种工作方式的组合,初始化编程方法,应用设计;键盘、LED的工作原理。难点:8255A的工作方式;行扫描法、行反转法,键识别与处理、多位LED的多位显示问题。

7.1 基本练习题

一、填空题

1.一片8255A端口A有3种工作方式,端口B有_______种工作方式。

2.8255A的三个端口工作在方式0输入方式时,三个端口均_________(有/无)锁存能力。3.当从8255A的端口C读出数据时,8255A的几个控制信号*CS,A1,A0,*RD,*WR分别是_________,_________,_________,_________,_________(*代表低电平有效)。

4.8255A的端口A可用程序设置为__________、__________、_________三种工作方式,对C口还有一种特殊使用方式为____________。

5.当8255A的输入信号 *CS=0、*RD=0、*WR=1且A1=A0=0时,此8255A执行的操作是_______________。(*表示低电平有效)

6.当8255A的输入信号 *CS=0、*RD=

1、*WR=0且A1=A0=0时,此8255A执行的操作是_______________。(*表示低电平有效)

7.8255A芯片中的端口B可以有_______种工作方式。

8.一片8255A芯片内含_________个传输数据的8位I/O端口,其中PA口有_________种工作方式。6

中北大学微机原理及接口技术习题及练习册

二、选择题

1.8255A芯片具有三个独立数据端口,只有_______端口具有双向传输方式。A)A口 B)B口 C)C口 D)以上均可

2.当8255A的PC4-PC7全部为输出时,表明8255A的A端口工作方式为__________。A)方式0 B)方式1 C)方式2 D)不能确定 3.8255A的A口工作在方式2时,B口可工作__________________。A)方式0或方式1 B)方式1或方式2 C)只能工作在方式1 D)任何方式都不行,只能空着

4.已知某系统中8255芯片所占用的I/O地址为340H--343H,则该8255芯片内控制字寄存器口地址为_________。

A)340H B)341H C)342H D)343H 5.某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0CBH,并设定A口的工作方式为方式1输出,则A口的地址最可能为__________。A)0CBH B)0CAH C)0C9H D)0C8H 6.8255A的方式选择控制字应写入__________。

A)A口 B)B口 C)C口 D)控制口

7.在通用可编程并行电路8255A中,用于传输数据的8位I/O端口共有_________。A)1个 B)2个 C)3个 D)4个

三、简答题

1.8255A是什么芯片?一片8255占用几个口地址?它有几种工作方式?

2.8255A的方式0一般使用在什么场合?在方式0时,如果使用应答信号进行联络,应该怎么办? 3.当8255A工作在中断方式2时,CPU是如何来区分输入或输出的? 4.现欲从8255A芯片PC口的PC0输出高电平“1”,试问有哪几种办法实现此操作? 5.以4×4的键盘为例,简述非编码键盘中行反转法扫描键盘的工作原理。

四、硬件编程题

1.一个8088系统中有一8255A,8255A各口设置如下:A组与B组均工作于方式0,A口为数输入,B口为输出,C口高位部分为输出,低位部分为输入,A口地址设为40H。1)写出工作方式控制字 2)对8255A初始化

3)从A口输入数据,将其取反后从B口送出

2.设8255A的4个寻址地址号为0060H~0063H,试编写下列各种情况下的初始化程序。1)将A组和B组设置成方式0,A口,B口为输入,C口为输出。2)将A组工作方式设置成方式2,B组为方式1,B口作为输出。3)将A口,B口均设置成方式1,均为输入,PC6和PC1为输出.4)A口工作在方式1,输入;B口工作在方式0,输出;C口高4位配合A口工作,低4位为输入。

3.8255A控制字如下,8255A端口地址为:160H、162H、164H、166H,端口A方式0输出,端口B方式0输入,端口C方式0输出。编写程序实现初始化,并将端口B内容的2倍与端口C的内容求和后将结果取反送到端口A。

五、硬件设计题

1.用一片8255 A芯片设计一基于PC系统总线的I/O接口板,要求: 1)8255A占用的端口地址为300H--306H,画出原理图。

2)设8255A的PA、PB、PC口均工作在方式0,PA口为输入,PB、PC口均为输出,编写8255的初始化程序片段(已知8255A控制字为10010000B)。

中北大学微机原理及接口技术习题及练习册

3)编写程序片段,将从PA口读入的状态送至PB口输出。

2.已知8255的控制口地址为236H,开关信息接在PB口,发光二极管接在PA口,使用8255作为接口芯片,读开关量的状态,并用发光二极管显示输出。在将开关的信息存放在FIRST单元的同时,发光二极管完成其信息的显示。要求画出完整的线路连接图并设计相应的程序。(8086工作在最小模式,8255A相应的控制字为82H)。

7.2 课后练习题

一、填空题

1.8255A控制字可以分为 和 两类。2.8255A各个端口的工作方式是由 决定的。

二、选择题

1.某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0CBH,并设定为方式1输出,则了B口的口地址应为___________。

A)0CAH B)0C9H C)0C8H D)0CCH 2.某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0BBH,并设定为方式1输出,则了B口的口地址应为__________。

A)0BAH B)0B9H C)0B8H D)0BCH

三、简答题

常用的键盘扫描有几种方式?试述各自的特点及原理。

四、硬件编程题

8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,程序段应是怎样的?

五、硬件设计题

1.已知8255A的控制口地址为236H,LED采用共阳级接法。字型信息接在PB口,字位信息接在PA口,使用8255A作为接口芯片,在两块LED上显示自己的学号。要求画出完整的线路连接图并设计相应的程序(8086工作在最小模式,8255A相应控制字为80H)。8

中北大学微机原理及接口技术习题及练习册

2.若打印机及其工作时序如图所示,当打印机不忙时(BUSY=0),向它送数据(设每次只传送1个字节)并在数据稳定时用 负脉冲将数据存于打印机内部,同时设置打印机忙信号,即BUSY =1。

1)用可编程接口芯片8255A将打印机与总线相连接起来。若规定8255A的地址为0320H~032FH任选,试画出连接电路图。2)数据段中首地址为BUFFER的区域中存放着100字节要打印的字符,试编写包括8255A初始化的打印程序,并将100个字符打印出来。

3.在一个系统中,8255A的四个端口地址分别为:420H、422H、424H和426H。要求:

1)初始化8255A,使端口A、B、C均工作于方式0,端口A作为输入端口,端口B和C作为输出端口。

2)将端口A输入的信息取反后直接输出到端口B。

3)检测端口A输入的信息的PA7位。当PA7=1时,端口C输出FFH,否则,输出00H。请编写程序段,完成上述功能(程序要加注解)。

中北大学微机原理及接口技术习题及练习册

第8章 串行接口及8251A应用

基本要求:掌握异步通信的原理、方法、规程,理解字符传送格式和波特率的含义,理解掌握8251A的功能、结构,掌握其外部接线、编程和使用方法,了解RS—232C串行通信接口标准,掌握其用法。教学重点:串行通信的基本原理以及8251A的使用。

8.1 基本练习题

一、填空题

1.常用来实现RS-232C电平与TTL电平相互转换的电路是_______________。

2.串行通讯按照时钟同步方式不同,可分为_______________通讯和_______________通讯。3串行接口标准RS-232C最简化型的三根线为_______________;其电气特性逻辑0和1的电平分别为_______________伏。

二、选择题

1.IEEE488 总线是__________________。

A)工业控制总线 B)串行通信总线 C)计测总线 D)PC扩展总线 2.在数据传输率相同的情况下,同步传输的速度要高于异步传输,其原因是()A)字符间无间隔 B)双方通信同步 C)发生错误概率少 D)附加信息总量少

3.设串行异步通信的数据格式是:1个起始位,7个数据位,1个校验位,1个停止位,若传输率为1200,则每秒钟传输的最大字符数为()A)10个 B)110个 C)120个 D)240个

4若传输率为2400,收、发时钟(RxC∕TxC)频率为38.4KHz,则波特率因子为()A)1 B)16 C)32 D)64

三、简答题

1.8251A的状态字哪几位和引脚信号有关?状态位TxRDY和引脚标号TxRDY有什么区别?它们在系统设计中有什么用处?

2.8251A内部有哪些功能模块?其中读/写控制逻辑电路的主要功能是什么?

3.试问:从8251A的编程结构中,可以看到8251A有几个寄存器和外部电路有关?一共要几个端口地址?为什么?

四、编程题

1.一片8251占用80H,82H两个端口地址,试说明该8251的C/D引脚如何与系统地址线连接,其控制端口地址为什么?数据端口为多少?并编程序初始化该8251,使其工作于同步方式,且波特率因子为16,允许发送和接收,8个数据位,2位停止位,不允许校验。

2.用程序段对8251A进行同步方式设置。地址端口地址为66H,规定用内同步方式,同步字符为2个,用奇校验,7个数据位。

8.2 课后练习题

一、简答题

1.串行通讯的数据传送方式有哪三种?0

中北大学微机原理及接口技术习题及练习册

2.在8251内部有多个寄存器,其中有模式寄存器、同步字符寄存器

1、同步字符寄存器

2、控制寄存器、状态寄存器、数据接收寄存器和数据发送寄存器,但是8251芯片只有一条引脚C/D用来区分内部寄存器,请问它是如何区分这些寄存器的?

二、编程题

1.设8251A为异步工作方式,波特率因数为16,7位/每字符,奇校验,两位停止位。CPU对8251A输入80个字符。试对其进行初始化编程。设8251A的地址为0F2H。

2.若8251A的收发时钟(RxC,TxC)频率为38.4KHz,它的RTS和CTS引脚相连,试编写出以半双工异步通讯,每帧字符的数据位数为7,停止位数为1,偶校验,波特率为600 b/s,处于发送状态的初始化程序(设8251A的地址为02C0H和02C1H)。

第9章 中断及8259A 基本要求:对于非电类同学,理解中断的概念和分类,熟练掌握中断的处理过程,会编写中断处理程序;掌握中断优先权的排队方法;了解中断嵌套的概念。对于电类同学,在非电类基础上,了解8259A的功能、结构和工作原理。而对于计算机专业的同学,在电类基础上,掌握8259A的初始化方法和一般编程方法。教学重点:中断、中断源、中断向量、中断过程,8086中断系统结构、中断类型编码、中断过程,掌握中断的处理过程,会编写中断处理程序,8259A 的功能、编程及使用方法。教学难点:8086中断系统结构、中断类型编码、中断过程;编写中断处理程序,8259A 的功能、编程及使用方法; 中北大学微机原理及接口技术习题及练习册

9.1 基本练习题

一、填空题

1.中断类型码若为58H,它在中断矢量表中的矢量地址为_______________H,从该地址开始连续四个单元存放的是_______________。

2.一个中断类型号为01CH的中断处理程序存放在0100H:3800H开始的内存中,中断向量存储在地址为_________至________的______个字节中。

3.8088的外部中断分为________和__________两大类。4.若用两片断8259A芯片构成主从级联形式,则这两片8259A芯片最多可直接管理_________级外部中断源。

5.若8259A的两个端口地址为20H和21H,则在初始化时,应在写入ICW1_之后,以______地址写入ICW2和ICW4。

6.8259A有两类命令字,分别是_______________和_______________。

7.8086系统中,中断服务子程序的入口地址通过__________获取,它们之间的关系为________,如果1CH的中断处理子程序从5110:2030H开始,则中断向量被存放在_________单元,各单元的内容为___________。

8.8259A可采用级联方式工作,在微机系统中最多可接_______(具体数字)个从属的8259A。9.8088 CPU的非屏蔽中断的类型码为_________。

10.中断优先级控制主要解决两种问题:_______________、_______________。11.中断向量可以提供_______________。

12.硬件中断可分为_______________、_______________两种。

二、简答题 1.8259A的中断屏蔽寄存器IMR和8086/8088的中断允许标志IF有什么差别?在中断响应过程中,它们怎样配合起来工作?

2.外设向CPU申请可屏蔽中断,但CPU不响应该中断,其原因有哪些? 3.8259A的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?

4.在8086/8088的中断系统中,响应可屏蔽中断过程,是如何进入中断服务程务程序的? 5.8086中,可屏蔽中断与非屏蔽中断的主要区别是什么? 6.8086中断系统响应中断时如何找到中断入口地址?

三、选择题

1.8086 CPU 响应可屏蔽中断的必要条件除中断允许标志IF=1外,只需满足_________。A)访内操作结束 B)当前指令执行完 C)无软中断请求 D)无内部中断请求

2.PC机采用向量中断方式处理8级外中断,中断号依次为08H-0FH。在RAM 0000H:002CH单元开始依次存放23H、FFH、00H、F0H四个字节,问该向量对应的中断号和中断程序入口是_______________。

A)0CH,23FFH:00F0H B)0BH,0F000H:0FF23H C)0BH,00F0H:23FFH D)0CH,0F000H:0FF23H E)0CH,00F0H:23FFH F)0BH,0F000H:23FFH 3.8086系统中的中断向量表的作用是____________。

A)存放中断服务程序 B)存放系统引导程序

C)存放中断响应标志 D)存放中断服务程序的入口地址 4.8259A内中断类型号的数据长度为_________。

A)3位 B)8位 C)16位 D)8位或16位 5.8086对硬件中断请求响应优先级最高的请求_____________。2

中北大学微机原理及接口技术习题及练习册

A)NMI B)INTR C)内部硬件中断 D)单步中断

6.8086中断向量表的大小为()字节,其中断系统可以管理()种中断。A)1K,256 B)1K,128 C)256,64 D)2K,512 7.8086系统可管理的中断(软件及硬件中断)的个数最多为__________。A)8个 B)16个 C)64个 D)256个

8.当8088 CPU响应中断时,CPU把断点处的有关内容压入堆栈保护,并清除()。A)TF B)IF C)OF D)TF和IF 9.除法出错是属于()中断。

A)线路故障 B)内部中断 C)外部中断 D)单步中断 10.3片8259A级联,最多可管理的中断级数为()级。A)20 B)21 C)22 D)24 9.2 课后练习题

一、选择题

1.PC机中确定可屏蔽中断服务程序的入口地址是___________。A)主程序中的调用指令 B)主程序中的转移指令

C)中断控制器发出的类型码 D)中断控制器中的中断服务寄存器(ISR)

2.已知某8259A与8086 CPU相连,其对应的中断类型码为40--47H,那么在初始化时,CPU 送给8259A 的ICW2值和IR3中断源被响应时8259A送给CPU的中断类型码可能的是_______。A)40H和47H B)40H和40H C)47H和43H D)43H和47H 3.对8086 CPU而言,中断优先级别最高的是_______________。

A)单步中断 B)除法错,溢出中断,软中断 C)INTR D)NMI 4.在8086环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令字为()A)ICW1,ICW2,ICW3 B)ICW1,ICW2,ICW4 C)ICW1,ICW3,ICW4 D)ICW2,ICW3,ICW4 5.非屏蔽中断的中断类型号是____________。A)1 B)2 C)3 D)4 6.在中断响应周期内,将IF置0是由_________。

A)硬件自动完成的 B)用户在编制中断服务程序时设置的 C)关中断指令完成的 7.中断向量是__________。

A)子程序入口地址 B)中断服务程序入口地址 C)中断服务程序入口地址的地址 8.通过中断向量表中的中断向量,可以提供_________。

A)被选中设备的起始地址 B)传送数据的起始地址 C)中断服务程序入口地址 D)主程序的断点地址 9.CPU响应中断的时间是__________。

A)外设提出中断 B)一条指令结束 C)取指周期结束 10.所有中断处理(服务)过程的最后一条可执行指令必须是()。A)RET B)IRET C)HALT D)NOP

二、简答题

1.8086中断系统有哪几类?8259A管理的是哪一类中断?

2.CPU响应可屏蔽中断有哪些基本条件。中北大学微机原理及接口技术习题及练习册

3.已知8259A某可屏蔽中断的类型号为20H,服务程序的入口地址标号为NMITS,编程将入口地址填写到中断向量表中。

三、判断题

1.非屏蔽中断信号是一个由高到低的下降沿,这类中断不受中断允许标志位的影响,也不能用软件进行屏蔽。()2.在由8086组成的微机系统中,对应中断类型码为255的外设,其中断服务程序的入口地址为0000:03FFH。()

3.实现中断嵌套需用堆栈来保护断点,由于所保护内容不多,不必考虑栈溢出。()4.中断嵌套可以在多级上进行,形成多级嵌套,在应用时,其嵌套级数不受任何限制。()

第10章 定时器/计数器

基本要求:理解可编程定时器/计数器的功能及典型结构;掌握可编程定时计数芯片8253的初始化编程,8253芯片的硬件连接和应用程序的编程,以及8253的应用。本章重点:8253的初始化编程:方式控制字和计数初值设置;8253的6种工作方式;8253应用。本章难点:8253的初始化编程,计数值回读。

10.1 基本练习题

一、填空题

1.8253A工作于“模式0”,设置计数器0的计数常数为0FFEH,进行二进制计数。假设8253A的端口地址为50H—56H。

MOV AL,;8253A初始化 OUT , AL MOV AL,;设8253A计数初值 OUT , AL MOV AL,;OUT , AL 2.某一测控系统要使用一个连续的方波信号,如果使用8253A可编程定时/计数器来实现此功能,则8253A应工作在方式。

3.利用8253A芯片每20ms产生一个脉冲输出,若输入的时钟频率为2MHz,8253A的计数初值应取,工作方式选。

二、选择题

1.当8253A可编程定时/计数器工作在 下时,需要由外部脉冲触发开始计数。A)方式0 B)方式1 C)方式2 D)方式3 E)方式4 F)方式5 2.若8253A处于计数过程中,当CPU对它装入新的计数初值时,其结果将是。A)8253A禁止编程

B)8253A允许编程,并改变当前的计数初值 4

中北大学微机原理及接口技术习题及练习册

C)8253A允许编程,但不改变当前的计数初值

D)8253A允许编程,是否影响当前计数过程随工作方式而变

3.当8253A工作在方式0,在初始化编程时,一旦写入控制字后。A)输出信号端OUT变为高电平B)输出信号端OUT变为低电平C)输出信号端保持电平值不变 D)立即开始计数

4.当8253A工作在方式0,控制信号变为低电平,对计数器的影响是。A)结束本次循环,等待下一次计数的开始 B)暂时停止现行计数工作 C)不影响本次计数 D)终止本次计数过程,立即开始新的计数循环

5.利用8253A每20ms产生一次中断,若CLK为20MHz,则8253A可采取的工作方式及计数初值为。

A)方式0;65535 B)方式3;40000H C)方式5;40000 D)方式2;40000 6.8253A。

A)只能实现计数 B)只能实现定时 C)即可实现计数,又可实现定时 D)都不能

三、简答题

1.定时和计数有哪几种实现方法?各有什么特点?

2.试说明定时器/计数器芯片Intel 8253A的内部结构。

四、综合题

设8253A三个计数器的端口地址为100H、101H、102H,控制寄存器端口地址103H。输入时钟为2MHz,让1号通道周期性的发出方波,其周期为1ms,试编写初化程序段。

10.2 课后练习题

一、选择题

1.CPU可以对8253计数器执行读操作,其读到的是()

A)工作方式 B)计数初值 C)计数执行部件CE(减法计数器)的当前值 D)0 2.在 8253 的6种工作方式中,能够自动重复工作的两种方式是()。

A)方式1,方式 2 B)方式 2,方式3 C)方式2,方式 4 D)方式 3,方式5 3.INTEL8253每个通道都有一个()位的预置初值减1计数器。A)4 B)8 C)16 D)32 4.在下列8253的四种工作方式中,即使GATE保持为高电平,处于()的8253在写入初值后也不开始定时或计数。

A)方式0(计数结束中断)B)方式1(硬件可重触发单稳态)C)方式2(速率发生器)D)方式3(方波)

二、综合题

1.某系统中8253芯片的通道0至通道2和控制端口的地址分别为0FFF0H~0FFF6H,定义通道0工作在方式2,CLK0=2MHz,要求输出OUT0为1KHz的速率波;定义通道1工作方式0,其CLK1输入外部计数事件,每计满1000个向CPU发出中断请求。试写出8253通道0和通道1的初始化程序。中北大学微机原理及接口技术习题及练习册

2.若要采用一片8253产生近似为1Hz的对称方波,已知时钟频率为2MHz,8253地址为350-353H,试编写8253初始化程序,并说明通道引脚的连接方法。

第11章 模拟量通道

基本要求:掌握模拟量通道意义,了解A/D,D/A转换原理,掌握0809、0832的使用和编程方法,掌握实际检测模拟量的一般方法和过程。重点难点:A/D,D/A转换原理及使用和编程方法

11.1 基本练习题

一、填空、选择题

1.A/D转换器的功能是将_______________转换成数字量信息,便于计算机运算、处理。

2.某10位的A/D芯片,模拟输入信号的量程为0~+5伏,则数字量12对应的电压为()伏。

A)-0.0293 B)0.0586 C)0.0293 D)-0.0586

二、简答题

1.使用DAC0832进行数/模转换时,有哪两种方法可对数据进行锁存?

2.当用带两级数据缓冲器的D/A转换时,为什么有时要用3条输出指令才完成16位或12位数据转换?

3.什么叫采样保持电路的采样状态和保持状态?

三、编程题

1.利用DAC0832芯片 ,实现输出三角波。DAC端口的地址为328H,DAC0832芯片采用一级缓冲方式。请写出主要程序段。

2.在一个计算机系统中连接有一个8位 D/A 转换器,D/A转换器的数据端口地址为180H,请编程从此 D/A 转换器的模拟量输出端输出一个如图所示的锯齿波(频率不限制)。

11.2 课后练习题

一、简答题

1.比较计数式,双积分式和逐次逼近式A/D转换的优缺点。6

中北大学微机原理及接口技术习题及练习册

2.在数字量和模拟量并存的系统中,地线连接时要注意什么问题?

二、编程题

1.一个8位D/A转换器连接于8086系统中,其端口地址为3FH,请编程实现在D/A转换器的输出端输出一个锯齿波。

2.一个8086系统中连接有一A/D转换器,如图所示,请完成下列问题 1)图中0809通道5(IN5)的端口地址是多少?

2)图中0809转换完成信号(EOC)的端口地址是多少?

3)编程将通道7(IN7)的模拟信号连续采集16次,存放到内存BUF1开始的单元中。中北大学微机原理及接口技术习题及练习册

第12章 与实验相关的问题

12.1 基本练习题

一、填空题

1.汇编语言源程序的扩展名是_______________。

2.汇编语言程序的上机操作的步骤是___________、__________、_________、__________。

二、选择题

1.实验时,在DEBUG下如果要运行0100:4360段开始的一段程序用的命令为________。A)D=0100:4360 B)A=0100:4360 C)G=0100:4360 D)Q=0100:4360 2.汇编实验时要显示2100H:45B6H段开始的一段程序的反汇编命令用_________。

A)E 2100:45B6 B)F 2100:45B6 C)U 2100:45B6 D)N 2100:45B6 3.在做汇编语言实验时,有时需要使用调试工具DEBUG,在DEBUG中,如果要修改AL寄存器中的内容,需要使用的命令是__________________。

A)R AX B)R AL C)E AX D)E AL

三、问答题

1.请你设计一个实验项目,在实验箱上完成,具体要求是:在某个键按下时,发光二极管闪烁(亮一段时间,熄灭一段时间),而该键抬起来时,发光二极管一直点亮。写出实验步骤和具体使用的实验箱资源等。

2.在我们做硬件中断实验时,经常在中断服务程序中使用这样两条指令 MOV AL,20H OUT 20H,AL 请问这两条指令的功能是什么?

3.在我们做硬件中断实验时,在主程序中经常使用如下三条指令

IN AL,21H AND AL,7FH OUT 21H,AL 请问这三条指令的功能是什么?

4.在做硬件实验时,有一个同学在用F5装载程序时,CS输入0000,IP输入0000,请问该实验能否完成,为什么?

5.写出做微机原理硬件实验的具体步骤。6.简述DEBUG中A、R、D、Q、G命令的功能。

12.2 课后练习题

一、判断题

1.我们做软件实验时用MASM对编好的程序进行汇编。()2.在我们做微机原理硬件实验时,实验程序是由实验箱上的CPU执行的。()3.在做微机原理硬件实验时,实验程序是由通用计算机PC的CPU运行的。()

二、简答题

简述DEBUG中A、R、D、Q、G命令的功能。8

中北大学微机原理及接口技术习题及练习册-----参考答案

基本练习题参考答案

第1章 计算机基础知识参考答案

一、填空题

1.地址总线,数据总线,控制总线(次序可以是任意的)2.中央处理器,存储器,输入/输出接口(次序无关)

3.控制器,存储器 4.-128--127,0FFH 5.-9 6. 45.625(45.625D)7. 01001111B(01001111或 1001111)8. 硬件系统,软件系统 9. 0DC3H,0A01H 10. 运算器,控制器 11.补码,FFB2H(0FFB2H或0B2H或其他表示方式)12. 79D(79)

13.-74(-74D)14. 10100001(10100001B)15.7,128 16.定点法 浮点法

二、选择题

1.D 2.B 3.D 4.B 5.B 6.B 7.C

三、简答题

1.(1)原码=11100100 补码=10011100(2)原码=01000000 补码=01000000

(3)原码=11111111 补码=10000001(4)原码=10000000 补码=00000000 2. 1)微处理器,2)主存储器,3)系统总线,4)辅助存储器,5)输入/输出(I/O)接口和输入/输出设备

3.在计算机中,连接CPU与各个功能部件之间的一组公共线路,称为总线,在计算机中一般有三组功能不同的总线,传输地址信息的称为地址总线,传输数据信息的称为数据总线,传输控制信息的称为控制总线。(只要答出总线定义,即可)

4.电子计算机是一种能自动,高速,精确地完成各式各样的数据存储,数值计算,逻辑推理,过程控制和数据处理功能的电子机器。计算机的主要特点有四个方面,即:高速性,准确性,逻辑性,通用性。(只要意思相近即可得分)5. BCD码运算修正规则:

(1)凡是对应位运算结果为冗余码时,加(减)6修正。

(2)如该位和数有向高位进(借)位时,也在该位加(减)6修正。(3)如低位修正结果使高位大于9时,高位进行加(减)6修正。(只要意思相近即可)6.CPU是组成微机系统的核心部件,其功能如下:(1)算术和逻辑运算,执行数据处理。(2)暂存数据。(3)实现程序控制,即可取指令,对指令寄存,译码分析并执行指令所规定的操作,还能提供整个系统所需的定时和控制信号。7.数在机器内的表示形式为机器数。而机器数对应的数值称为机器数的真值。

第2章 8086/8088微处理器参考答案

一、填空题

1.3027BH 2.8,16 3.使8086进行初始化 4.4 5.6 6.0FFFFH,0000H 7.执行部件EU,总线接口部件BIU(次序无关)8.CPU的低8位数据线(AD0--AD7),CPU的高8位数据线(AD8--AD15)9.1MB(1兆字节),64K(65536)10.3,TF 11.先进后出(后进先出),SP,SS(SS,SP)29 中北大学微机原理及接口技术习题及练习册-----参考答案

二、选择题

1.B 2.C 3.B 4.A 5.B 6.A 7.B 8.B 9.C 10.C

三、简答题

1.各字节的有效地址分别为0085H,0086H,0087H,0088H,0089H,008AH,008BH和008CH,8个总线周期

2.在8086内部由BIU和EU两大部分组成,BIU主要负责和总线打交道,用于CPU与存储器和I/O接口之间进行数据交换;EU主要是将从指令队列中取得的指令加以执行。

3.在8086内部,按功能划分可以分为BIU和EU两大部分,BIU主要负责总线接口,与存储器和I/O接口进行数据传递;而EU则是执行部件,主要是执行指令;这两部分分开可以在执行指令的同时,从存储器中将将要执行的指令取到指令队列,使两部分并行工作,提高CPU的速度。(只要意思为提高CPU的效率即可)

4.一般称为CPU,它是将运算器、控制器集成在一块芯片上,本身具有运算能力和控制功能,是微型计算机的核心。(只要答出将运算器、控制器集成在一块即可)

第3章 指令系统参考答案

一、填空题

1.-128~+127 2.00FE,00FA 3.6006H,6008H 4.直接寻址,寄存器间接寻址(次序可以颠倒)5.改变程序执行的顺序 6.(AL)=28H(28H送到AL寄存器)7.BX,BP(次序无关)8.0CAH 9.基址加变址寻址方式(基址址寻址方式)10.32000H单元的内容,32001H单元的内容 11.立即寻址方式 12.6AH 13.寄存器相对寻址方式(相对寄存器寻址方式)14.0-65535(其他数值表示也可以)15.01A0H,基址变址寻址

二、选择题

1.C 2.B 3.D 4.B 5.D 6.A 7.C 8.C 9.A 10.B 11.A 12.C 13.D 14.A 15.D 16.A 17.D

三、简答题

1.址方式就是寻找操作数或操作数地址的方法。立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址

2.I/O端口的地址范围是0000H--0FFFFH(64K),当地址范围在0000H-00FFH 时可以使用直接端口地址访问和间接访问,格式如下(以8位为例):

IN AL,PORT IN AL,DX OUT PORT,AL OUT DX,AL 而当地址范围在大于00FFH 时只能使用间接访问指令,格式如下(以8位为例):

IN AL,DX OUT DX,AL 3.(1)指令执行后SI取得的是内存变量NUM的值。

(2)指令执行后SI取得的是内存变量NUM的偏移地址。(3)指令执行后SI取得的是内存变量NUM的偏移地址。4.(1)XOR AX,AX或AND AX,0(2)ADC BX,BX(3)MOV CL,4

(4)MOV AL,BCD1 ROR AL,CL ADD AL,BCD1+1 5.(1)保护现场,即将主程序转移前的程序状态保存起来,保存内容主要是程序计数器PC的内容。保护现场通常采用堆栈完成,将程序计数器PC的内容(断点地址)压入堆栈。(2)将子程序入口地址3 0

中北大学微机原理及接口技术习题及练习册-----参考答案

送入程序计数器PC,那么,下一条要执行的指令就是子程序的第一条指令。6.取出NE OBJ指令后,(IP)=0626H,OBJ的值是:(IP)+D->IP 0626H+27H=064DH 0626H+6BH=0691H 0626H-3AH=05ECH 7.第一条指令是将BUFFER字单元的内容送到AX寄存器,而第二条指令是将BUFFER的段内偏移地址送到AX寄存器。(1)(AX)=2345H(2)(AX)=0032H 8.通用数据读写自动选择数据段寄存器(DS)目的数据串自动选择附加数据段寄存器(ES)源数据串自动选择数据段寄存器(DS)堆栈操作自动选择堆栈段寄存器(SS)取指令操作自动选择代码段寄存器(CS)

9、(AX)=0FC2AH,SF=1,ZF=0,CF=1,OF=0 第4章 汇编语言程序设计参考答案

一、填空题

1.指令(程序),操作数 2.END 3.350 4.36(或24H)

二、简答题

1.指令是真正让计算机进行某种具体操作的命令,它在程序运行时执行。伪指令是通知汇编程序在翻译程序时执行的命令。

2.变量是在程序运行过程中,其值可以改变的量,通常给其命名一个符号,称为变量名。变量有三种属性:变量的类型、变量的段地址、变量的段内偏移地址;类型属性使用SIZE获取,段地址属性用SEG获取,偏移地址属性用OFFSET获取。

3.PTR优先于隐含的类型属性,指定操作数的类型的类型属性。因为在许多情况下,所使用的操作符类型与原指定的类型不同,又不希望改变原有的设定,只暂时改变操作符类型,则必须使用PTR属性操作符作为临时设定,这个临时设定类型只在本条指令中有效。

4.汇编语言是用指令助记符、符号地址编写程序的一种语言,每条指令对应一种机器指令。汇编就是将汇编语言源程序翻译成机器指令的过程

5.1)在AH寄存器中设定所需调用的功能号;2)根据功能的规定设定入口参数;3)用INT 21H进入子程序;4)根据规定,从相应的寄存器取得返回值。

三、程序设计

1. DATA SEGMENT INC CX BUFF DB 'ABCD„„.*'

CMP AL,'A' LENT DW ?

JC NEXT COUNT DW ? CMP AL,'Z' DATA ENDS JNC NEXT CODE SEGMENT INC DX ASSUME CS:CODE,DS:DATA NEXT: INC BX START:MOV AX,DATA JMP LP MOV DS,AX DONE: INC CX LEA BX,BUFF MOV LENT,CX MOV CX,0 MOV COUNT,DX MOV DX,0 MOV AH,4CH LP: MOV AL,[BX] INT 21H CMP AL,'*' CODE ENDS JZ DONE END START

2. MOV AL,DAT AND AL,AL JS LP1 JZ LP2 MOV MARK+2,0FFH

LPl:

LP2: DONE: JMP DONE

MOV MARK,0FFH JMP DONE

MOV MARK+1,0FFH HLT

中北大学微机原理及接口技术习题及练习册-----参考答案

3、DSEG SEGMENT

SUB BX,Y X DW ?

ADD BX,600 Y DW ?

MOV AX,X Z DW ?

ADD AX,Y DSEG ENDS

MOV DX,0 CSEG SEGMENT

DIV BX ASSUME CS:CSEG,DS:DSEG

MOV Z,AX MAIN PROC FAR

MOV AH,4CH BEGIN: MOV AX,DSEG

INT 21H MOV DS,AX

MAIN ENDP MOV BX,X

CSEG ENDS END BEGIN

4、CODE SEGMENT

ASSUME CS:CODE,DS:CODE

START: MOV BX,CODE

MOV DS,BX

MOV CL,4

MOV BL,4

MOV SI,OFFSET RESULT

LP: CALL HASC

MOV [SI],DL

INC SI

SHR AX,CL

DEC BL

JNZ LP

EXIT: MOV AH,4CH INT 21H

5、方法1 方法2 MOV CX,0 NOT AX SUB CX,AX NOT DX MOV AX,CX ADD AX,1 MOV CX, 0 ADC DX,0 SBB CX, DX MOV DX, CX

6. CODE SEGMENT

ASSUME CS:CODE,DS:CODE

START: MOV AX,CODE

MOV DS,AX

MOV ES,AX CLD

LEA SI,STRING1

LEA DI,STRING2

MOV CX,DI

SUB CX,SI

XOR AX,AX

7、MOV CL,4 SHR DX,CL SHR AX,CL SHL BL,CL MOV BL,DL OR AH,BL

8. DATA SEGMENT

ADR1 DW 100 DUP(?)

MAX DW ?

MAXM DW ? DATA ENDS 3 2

HASC PROC NEAR MOV DL,AL AND DL,0FH CMP DL,9 JA L2

ADD DL,30H L1: RET

L2: ADD DL,37H JMP L1 HASC ENDP

RESULT DB 4 DUP(?)CODE ENDS END START 方法3 NEG DX NEG AX SBB DX,0 REPE CMPSB JNZ NE MOV AL,'Y' JMP EXIT NE: MOV AL,'N' EXIT: MOV AH,4CH INT 21H STRING1 DB'„'

STRING2 DB'„' CODE ENDS END START MOV AX,ES:[SI] LOP1: CMP AX,ES:[SI] JAE LOP3 MOV AX,ES:[SI] MOV ES:[MAXM],SI

中北大学微机原理及接口技术习题及练习册-----参考答案

CODE SEGMENT LOP3: ADD SI,2 ASSUME CS:CODE,DS:DATA,ES:DATA LOOP LOP1 MAIN PROC FAR MOV ES:[MAX],AX

MOV AX,DATA MOV AH,4CH MOV ES,AX INT 21H MOV SI,OFFSET ADR1 MAIN ENDP MOV CX,100 CODE ENDS MOV ES:[MAXM],SI END MAIN

9、MOV AX,4BD5H

INC DL MOV BL,0 JMP L3 MOV DL,0 L2: INC BL MOV CX,16 L3: LOOP L1 L1: SHL AX,1

HLT JC L2

10. DATA SEGMENT MOV BX,0

ARRAY DW A1,A2,A3,„,AN LOOP2: MOV AX,ARRAY[BX] DATA ENDS CMP AX,ARRAY[BX+2] PROG SEGMENT JGE CONTINUE ASSUME DS:PROG,DS:DATA XCHG AX,ARRAY[BX+2] MAIN PROC FAR MOV ARRAY[BX],AX START: PUSH DS CONTINUE: ADD BX,2 SUB AX,AX LOOP LOOP2 PUSH AX MOV CX,DI MOV AX,DATA LOOP LOOP1 MOV DS,AX RET MOV CX,N MAIN ENDP DEC CX PROG ENDS LOOP1: MOV DI,CX END START

第5章 半导体存储器参考答案

一、填空题

1.线选,部分译码,全译码 2.0FE000H(FE000H)3.电容,刷新 4.随机读写存储器(RAM),只读存储器(ROM)

5.只读存储器,随机读写存储器,速度慢但掉电后信息不丢失,速度快但掉电后数据丢失 6.496 7.9,24

二、选择题

1.C 2.B 3.B 4.B 5.C 6.D 7.B 8.D 9.C 10.B 11.C 12.A

三、简答题

1. RAM:随机读写存储器,可以随时改写其中存储的信息。

ROM:只读存储器,其中的内容在正常情况下只可以读出,而不能改写。

EPROM:可以由用户编程的只读存储器,但在正常情况下只可以读出其内容,而不能改写。RAM一般用于计算机中需要经常改变其内容的存储器,如计算机内存。

ROM一般用于计算机中不需要经常改变其内容的存储器,如计算机的ROMBIOS。EPROM一般用于在设计过程中需要经常改变其内容,而在设计完成后其内容一般不改变的场合。2.线选法除将低位地址线直接接片内地址外,剩下的高位地址线,分别作为各个存储器芯片的片选控制信号,寻址时只允许一位有效,否则不能保证每次只选中一个芯片。线选法的优点是连接简单,无需专门译码电路,缺点是地址不连续,有重叠区,浪费地址空间,适于简单存储系统构造。

全译码法除了将低位地址总线直接连至各芯片的地址线外,将余下的高位地址总线全部译码,33 中北大学微机原理及接口技术习题及练习册-----参考答案

译码输出作为各芯片的片选信号。这种方法可以提供对全部存储空间的寻址能力,且每一存储单元有唯一地址对应。即使不需要全部存储空间,多余的译码输出可闲空,便于需要时扩充。

3.随机存储器RAM中的任何存储单元都能随时读写,即存取操作与时间、存储单元物理位置顺序无关,一旦掉电,所存信息丢失。常见类型有静态RAM(SRAM)和动态RAM(DRAM)等。

ROM是一种只读存储器,其内容一经写入,在工作过程中就只能读出不能重写,即使掉电,信息也不会丢失。常见类型有掩模ROM、PROM、EPROM、EEPROM等。

4.常用存储器片选控制方法有3种,分别是线选法,全译码法,局部译码法。

线选法的优点是连线简单,缺点是地址空间利用率低;全译码法不浪费地址空间,但需译码电路;局部译码介于前二者之间,当存储容量要求大于系统地址线所能寻址的最大范围,或者几个微处理器需要共享某一存储区域时,则采用扩充寻址法。

5.存储体、地址译码器、控制逻辑电路、数据缓冲器。(每个1分)6.(1)16384(2)128(3)4 7.半导体存储器主要有:ROM(只读存储器)和RAM(随机存取存储器)两类,RAM随机存储器又可以分为:动态RAM,静态RAM;ROM只读存取存储器又可以分为:掩膜型ROM;可编程ROM(PROM);可擦除可编程ROM(EPROM);电擦除可编程ROM(EEROM)。

8.计算机的内存一般存储容量小,存取速度快,目前多采用半导体器件组成。通常有动态RAM和静态RAM两部分组成。常把软磁盘和硬磁盘、磁带等作为外存设备,最近光存储器的应用也越来越广泛。储存容量大、速度低,必须配备专门的读/写控制设备。

9.采用矩阵形式存储信息主要是为了节省地址译码电路,提高半导体器件的集成度。例如要组成1KB的内存,若不采用矩阵形式来组织这些单元,就需要1024条译码线才能实现对1KB的寻址。但若用32*32矩阵来排列,则只要有32条行选线和32条列选线就可以了。存储容量越大,矩阵形式的优越性就越明显。

10.常采用存储器的模块结构及在一个存储模块内再将存储器分组,这样可用地址的高位对模块选择,其余位对存储器组进行选择。

四、存储器设计应用题 1.系统连接如图:

2.存储器芯片为8K×8,可知芯片容量为8K,地址线为13条,数据线为8条,而系统要求容量为32K,位数是8,因此为字扩展。需要的芯片为4个

存储器芯片的地址为:

1)、地址译码器:3个输入端的信号中必须有:A13,A14,其对应的位置不同,输出的引脚也不同。只要输入信号与输出信号一致,且连接到相应的存储器芯片上。2)、数据线连接正确

3)、地址线连接正确 4

中北大学微机原理及接口技术习题及练习册-----参考答案

3.1)存储器2716的数据线有8条,地址线有11条。

2)因为2716的容量为2KB,要扩展6KB,所以需要三片。3)原理图如下:

4. 1)4片

2)连接如图

中北大学微机原理及接口技术习题及练习册-----参考答案

3)MOV AX,0E100H MOV CX,10 MOV ES,AX CLD MOV SI,OFFSET BUF REP MOVSB MOV DI,O 查看结果 D E100:0

五、判断题

1.× 2.√ 3.√ 4.√

第6章 输入输出接口技术参考答案

一、填空题

1.总线 2.无条件传送方式,程序查询传送方式,中断传送方式,DMA传送方式 3.I/O接口单独编址,与存储器统一编址 4.数据信息,控制信息,状态信息 5.状态寄存器 6.数据寄存器,状态寄存器,命令寄存器 7.中断方式,DMA

二、选择题

1.C 2.B 3.B 4.B 5.D

三、简答题

1.一个端口作输入,一个端口作输出时,这两个端口可共用一个地址。

2.计算机与外部设备数据交换的方式有三种:程序控制数据传输方式、中断方式、DMA方式;其中在程序控制数据传输方式中,又分为直接数据传输方式和程序查询数据传输方式。

3.利用中断方式传送数据,一般是首先向CPU发出中断请求,CPU响应中断后在中断处理程序中进行数据传输,传输完毕返回。中断机构起控制作用,实时性较强。

4.在CPU和外部设备之间,需要一些进行数据转换、电平匹配和相互联络的功能电路,称为I/O接口,在接口电路中,一般包含功能不同的寄存器,称为端口寄存器。通过对这些寄存器的编程,可以改变接口的功能和输入/输出关系。

5.当外设在某个时候准备就绪,向CPU提出中断申请,当CPU接收到此中断请求后,如果可以响应此中断,则会暂停现在正在进行的工作,响应此请求,得到此中断的中断类型码,根据此类型码,在中断向量表中取得中断服务程序的入口地址,执行此中断服务程序,进行数据的交换,完成后,返回到被打断的程序继续原来的工作。

第7章 并行接口及8255A应用参考答案

一、填空题

1.2 2.无 3.0,1,0,0,1 4.基本输入输出方式(方式0),选通输入输出方式(方式1),双向方式(方式2),按位置0置1 5.将端口A的数据送到数据线上(意思相近即可)

6.接收CPU送来的端口A的数据(意思相近即可)7.2 8.3,3

二、选择题

1.A 2.A 3.A 4.D 5.D 6.D 7.C

三、简答题

1.8255A是通用可编程并行接口芯片。一片8255占用4个口地址。方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向传输方式

2.方式0的特点是只要WR,RD信号有效,就有数据传送,一般使用在可随时传送数据的场合。若使用应答信号进行联络,可用C口作为联络,对C口位操作,一般上C口用作选通(STB)线,下C3 6

中北大学微机原理及接口技术习题及练习册-----参考答案

口作状态输入(RDY)线。3.在输入,输出均允许中断的情况下,可在中断服务程序中查询状态字,判断OBF和IBF位的状态,来区分是输入中断还是输出中断,并采取相应操作。

4.两种方法:1)使用字节型输出方式,向PC口输出最低位为“1”的值;2)使用按位操作,将PC0置为“1” 5.1)首先规定行线为输出,列线为输入。2)从行线上输出全“0”的数据,从列线读取数据,如果读取数据为全“1”,则说明没有键按下,否则,有键按下。3)当有键按下时,将列线规定为输出、行线为输入。4)将第二步从列线上读取的数据输出到列线上,从行线上读取数据,若读取的数据为全“1”,则认为是一个干扰,否则,根据当前行、列线的数据值,可以唯一确定哪一个键按下。6.8255 A是可编程的并行接口芯片,设有三个8位的数据输入/输出端口,共有三种工作方式:方式0为基本的输入/输出方式;方式1为选通式输入/输出方式;方式2为双向数据传送方式。

四、硬件编程题

1.1)10010001B 即91H 2)MOV AL,91H; OUT 43H,AL 3)IN AL,40H; NOT AL; OUT 41H,AL 2.1)MOV AL,92H 2)MOV AL,0C4H 3)MOV AL,0B6H 4)MOV AL,0B1H

OUT 63H,AL OUT 63H,AL OUT 63H,AL OUT 63H,AL

3.根据端口地址知,端口A地址为:160H,端口B地址为:162H,端口C地址为:164H,控制端口地址为:166H。端口A方式0输出,端口B方式0输入,端口C方式0输入知:控制字8BH。

MOV AL, 8BH MOV DX, 164H MOV DX, 0166H IN AL, DX OUT DX, AL ADD AL, BL MOV DX, 0162H NOT AL IN AL, DX MOV DX, 0160H MOV BL, AL OUT DX, AL

ADD BL, AL

五、硬件设计题 1.1)参见图

2)MOV DX, 306H MOV AL, 90H OUT DX, AL

3)MOV DX, 300H

IN AL, DX MOV DX, 302H OUT DX, AL 中北大学微机原理及接口技术习题及练习册-----参考答案

2.MOV DX, 236H MOV AL, 82H OUT DX, AL MOV AX, SEG FIRST MOV DS, AX MOV SI, OFFSET FIRST LOP: MOV DX, 232H IN AL, DX MOV [SI], AL MOV DX, 230H OUT DX, AL JMP LOP

第8章 串行接口及8251A应用参考答案

一、填空题

1.1488、1489(MAX232)2.异步,同步(次序无关)

3.数据发送线Txd,数据接收线Rxd,和地线,逻辑“0” +5V~+15V,逻辑“1”-5V~15V 二 选择题

1.B 2.D 3.C 4.B 三 简答题

1.状态字中D6位SY/BR与SYNDET,D2位TxEPTY与TxE,D1位RxRDY与RxRDY,D0位TxRDY与TxRDY引脚有关。状态位TxRDY与引信号TxRDY区别在于,TxRDY位为1的条件是:8251A内部数据输出寄存器内容为空或即将发送完毕,TxRDY端输出变高条件是TxRDY=1,CTS输入为低电平且命令字设置TxEN发送允许位为1。它们在系统设计中可用于中断请求或中断查询。

2.具有5个功能模块:I/O缓冲器,读/写控制逻辑,接收器,发送器,调制/解调器。读/写控制逻辑主要功能是接收来自CPU控制总线的控制信号,对数据在内部总线的传送方向进行控制。3.有7个寄存器和外部电路有关,方式寄存器,同步字符寄存器1和2,控制寄存器,数据输入寄存器,数据输出寄存器,状态寄存器。只占用两个端口地址,因为寄存器的区分是依靠读/写的固定顺序。

四、编程题

1.系统总线A1与C/D引脚相连,控制端口地址为82H,数据端口地址为80H MOV AL,0 MOV AL,0CEH OUT 82H,AL OUT 82H,AL OUT 82H,AL MOV AL,05H OUT 82H,AL OUT 82H,AL

2.XOR AX,AX MOV AL,18H MOV DX,66H OUT DX,AL OUT DX,AL MOV AL,SYNC OUT DX,AL OUT DX,AL OUT DX,AL OUT DX,AL MOV AL,40H MOV AL,0BFH OUT DX,AL OUT DX,AL 8

中北大学微机原理及接口技术习题及练习册-----参考答案

第9章 中断及8259A参考答案

一、填空题

1.160H--163H,中断服务程序的偏移地址和段地址 2.00070H,00073H,4 3.非屏蔽中断,可屏蔽中断(次序无关)4.15 5.奇地址(21H)6.初始化命令字(ICW),操作命令字(OCW)7.中断向量表,(中断类型号*4)-->IP,(中断类型号*4+2)-->CS,70H,72H字单元,(00070H)=2030H,(00072H)=5110H 8.8 9.2 10.多个中断同时发生,中断处理过程中另一更高优先级的中断源提出中断请求 11.中断服务程序入口地址 12.可屏蔽中断,非屏蔽中断

二、简答题

1.IMR的8位对应8个中断级,其中置为1的位所对应的中断级的输入线IR处于被屏蔽方式,被屏蔽的中断级请求不能使8259A的INT输出端产生有效的请求信号。所以即使当中断允许IF=1时也无法响应。IF是CPU的中断允许标志,当IF=0时所有可屏蔽中断被禁止。在中断响应过程中,通过设置IF,IMR可灵活控制中断的优先次序。

2.其原因可能有四个:(1)CPU处于关中断状态,IF=0。(2)该中断请求已被屏蔽;(3)该中断请求的时间太短,未能保持到指令周期结束;(4)CPU已释放总线(即已响应了DMA请求),而未收回总线控制权。

3.初始化命令字通常在系统初始化阶段设置,从ICW1开始,按照固定次序的设置,一经设置完成,则在以后的操作中基本保持不变,操作命令字是在程序执行阶段向8259A发出的命令字,实现以8259A的状态,中断方式和过程的控制。操作命令字可以一个程序中多次设置,从而改变中断的方式。初始化命令字有4个,分别为ICW1,ICW2,ICW3,ICW4,操作命令字有3个,分别为OCW1,OCW2,OCW3。

4.中断控制器提供中断类型码,从中断向量表中相应位置取出中断服务程序首址置入IP和CS中,程序转至中断服务程序。

5.可屏蔽中断能否响应受到CPU标志寄存器FLAG的限制,如果IF=0,则所有可屏蔽中断都不能响应,只有IF=1时,CPU才能响应可屏蔽中断,另外,可屏蔽中断是从CPU的INTR引脚引入的。非屏蔽中断是从CPU的NMI引脚引入CPU的,它不受标志寄存器中IF的限制,只要有请求,而在请求时没有总线请求,就可以响应。

6.在响应中断时,根据中断类型号,从中断类型号*4开始的连续的4个单元中保存有中断服务程序的入口地址(段内偏移地址和段地址),取出来,直接送给PC和CS即可。

三、选择题

1.B 2.B 3.D 4.B 5.A 6.A 7.D 8.D 9.B 10.C

第10章 定时器/计数器参考答案

一、填空题 1.30H,56H,0FEH,50H,0FH,50H 2.3 3.40000,2

二、选择题

1.BF 2.D 3.B 4.B 5.D 6.C

三、简答题 1.软件定时:利用CPU执行某一指令需要一定机器周期的原理,在软件编程时循环执行一段指令,39 中北大学微机原理及接口技术习题及练习册-----参考答案

从而产生累积的定时。优点是不需要增加硬件。缺点是耗费CPU资源,故软件定时只适用于短时定时。而且,不同CPU的时钟频率不同,同一段软件延时程序在不同的机器上运行,可能结果不同,即兼容性不强。

硬件定时和计数:以硬件计数器构成,计数脉冲触发硬件计数器计数,如果计数脉冲的周期固定,则计数同时产生定时。优点是不占用CPU资源,定时精确,定时范围大。缺点是增加一些硬件开销。

2.它由与CPU的接口、一个控制寄存器以及三个16位计数器所组成。每个计数器通过3个引腿和外部联系,1个为时钟输入端CLK,1个为门控信号输入端GATE,别1个为输出端OUT。

四、综合题

要输出脉冲周期为1ms,输出脉冲的频率是

13110,当输入时钟频率为2MHz时,311021032000。计数器初值是3110使用计数器1,先加载低8位,后加载高8位,设为方式3,二进制计数,控制字是76H。设控制口的地址是103H,计数器1的地址是101H。程序段如下:

MOV DX,103H MOV AX,2000 MOV AL,76H OUT DX,AL OUT DX,AL MOV AL,AH MOV DX,101H OUT DX,AL

第11章 模拟量通道参考答案

一、填空、选择题

1.模拟量信号 2.B

二、简答题

1.DAC0832中具有两级锁存器,第一级锁存器为输入寄存器,锁存信号为ILE和CS;第二级锁存器为DAC寄存器,锁存信号为XFER。

为了DAC0832进行数/模转换,可使用两种方法对数据进行锁存。第一种方法是使输入寄存器工在锁存状态,而DAC寄存器工作在不锁存状态。即使WR2和XFER均为低电平,DAC寄存器的锁存端为无效状态,而使输入寄存器的有关控制信号,ILE为高电平,CS为低电平。当WR1来一个负脉冲时,就可完成一次转换。

第二种方法是输入寄存器工作在不锁存状态,DAC寄存器工作在锁存状态,即使WR1为低电平,CS为低电平

而ILE为高电平。这样输入寄存器的锁存信号处于无效状态,而WR2和XFER输入一个负脉冲,使DAC寄存器为锁存状态。

2.如果有一个D/A转换器超过8位,CPU则通过两条输出指令向两个锁存器对应的端口地址输出数据,但是第一次执行输出指令后,D/A转换器会得到一个局部的输入,由此,输出端得到一个局部的,实际上不需要的模拟量输出。因此用两级缓冲结构来解决,CPU先用两条输出指令把数据送到第一级数据缓冲器,通过第三条输出指令使数据送到第二级数据缓冲器,从而使D/A转换器一次得到所有位待转换的数据。这就是用带两级缓冲器的D/A转换器必须要用3条输出指令才能完成16位或12位数据转换的理由。

3.采样保持电路有两种工作状态,一种是采样状态,一种是保持状态。在采样状态,输出随输入而变化,增益为1,在保持状态,输出保持为某个值。0

中北大学微机原理及接口技术习题及练习册-----参考答案

三、编程题 1. MOV DX,328H

MOV AL,0 LOP: OUT DX,AL

INC AL

JNZ LOP

2. COD SEGMENT

ASSUME CS:COD MAIN PROC FAR MOV AL,0 MOV DX,180H LOP: OUT DX,AL

MOV

LLL: OUT

DEC JNZ JMP

DEC JMP

MAIN ENDP COD ENDS

END

AL,0FEH DX,AL AL LLL LOP AL LOP

MAIN

第12章 与实验相关的问题参考答案

一、填空题

1..ASM 2.编辑源程序,汇编,连接,调试

二、选择题

1.C 2.C 3.A

三、问答题

1.采用8255做输入输出接口,将PB0连接按键,PA0连接发光二极管。编写程序实现上述功能。8255初始化为方式0,A口做输出,B口做输入,从B口读入数据判断按键是否按下,进而控制发光二极管的状态。

2.发出中断结束命令,通知中断控制器8259将中断服务寄存器ISR中的相应位清除。3.设置中断屏蔽字,在不改变其他引脚的中断屏蔽状态的情况下,将8259的中断请求引脚IR7允许中断。

4.不能完成,因为0000:0000H是中断向量表,而实验系统本身有许多工作是用中断完成的,如果你改变了中断向量表,则实验箱的监控程序将无法工作,更不用说调试软硬件了,所以实验也就无法完成了。

5.硬件实验:取出实验箱,连接好串行通信电缆和实验箱电源,根据实验内容,在实验箱中连接好设计用的电路,将实验箱电源打开,打开计算机电源启动计算机,启动实验集成环境,编制输入实验用程序,汇编程序、连接程序、将程序装载如实验箱,调试程序的运行并记录实验箱内实验指示部件的状态。

按与启动实验相反的次序,关闭各个实验部件,将实验室内实验所使用的物品放归原处,清洁、整理实验室。对实验结果进行分析,写出实验报告。

第三篇:微机原理与接口技术习题答案10章

第10章 定时/计数器8253应用设计

1.试分析 8255A方式0、方式1和方式2的主要区别,并分别说明它们适合于什么应用场合。

答:方式0是基本的输入/输出,端口A、B、C都可以作为输入输出端口。适用于CPU与非智能I/O设备的数据传输;

方式1是有联络信号的输入/输出,端口A、B都可以设定成该方式,此时三个端口的信号线分成了A、B两组,PC7~PC4用作A组的联络信号,PC3~PC0用作B组的联络信号。适用于高速CPU与低速I/O设备的数据传输;

方式2是双向传输,只有A组端口可以设定成该方式,PC6~PC7用作输出的联络信号,PC4~PC5用作输入的联络信号,PC3用作中断请求信号。适用于双机之间数据的并行传送。

2.8255A的A组设置成方式1输入,与CPU之间采用中断方式联络,则产生中断请求信号INTRA的条件是 STBA=

,IBFA=

,INTEA=。

3.如果8255A的端口地址为300H~303H,A组和B组均为方式0,端口A为输出,端口B为输入,PC3~PC0为输入,PC7~PC4为输出,写出8255A的初始化程序段;编程实现将从端口C低4位读入的值从高4位送出。解: MOV DX,303H

MOV AL,10000011B OUT DX,AL MOV DX,302H IN AL,DX MOV CL,4 SHL AL,CL OUT DX,AL 4.在实际应用中经常需要检测设备的状态,并进行指示。在8086最小方式系统下,有一片8255A,其分配的端口地址为8F00H~8F07H中的奇地址,外部设备产生的状态有16个(K15~K0),要求采用4个发光二极管来指示开关量中“1”的个数。(1)画出8255A - 0 - 的连接图;(2)编写程序段实现连续检测并显示。解:(1)

8086D8~D158255D0~D7RDRDWRA2A1M/IOBHEA15A11A10A9A8A0A14A13A12A7A6A5A4A3PA0PA1......WRA1PA716位开关量(K15~K0)A0PB0PB1PB7......VCCCSPC3PC2PC1PC0

(2)MOV DX,8F07H

MOV AL,10010010B;端口A、B方式0输入,端口C方式0输出 OUT DX,AL NEXT:

L2:

MOV DX,8F03H;从端口B读取高8位开关量 IN AL,DX XCHG AL,AH MOV DX,8F01H;从端口A读取低8位开关量 IN AL,DX MOV BX,AX XOR AL,AL MOV CX,16 CLC SHL BX,1

- 1 -

L1:

JNC L1 INC AL LOOP L2 MOV DX,8F05H;从端口C送出 OUT DX,AL JMP NEXT;进行下一次检测

5.利用IBM PC系统机的总线槽,开发由一片8255A构成的子系统,8255A端口地址为260H~263H,编程实现产生如图10.20所示的8个信号(各个信号的节拍不必严格相等)。

Y0Y1Y7„

图10.20 要求产生的信号波形

解:8355A与IBM PC机总线的连接框图如下:

可将8255A的端口A作为要产生的信号的输出端口,设定为方式0输出,端口B和端口C不做使用,均设定为方式0输出。程序段如下:

MOV

DX,263H

;设定8255A的工作方式

- 2 -

MOV

AL,10000000B

OUT

DX,AL

MOV

DX,260H

;产生指定信号

XOR

AL,AL

OUT

DX,AL REP:

MOV

AL,80H

MOV

CX,7 REP1:

OUT

DX,AL

SAR

AL,1

LOOP REP1

MOV

CX,8 REP2:

SHL

AL,1

OUT

DX,AL

LOOP REP2

JMP

REP

6.在实际应用中,经常会遇到要求输入多个数据量,这时需要用到多路开关,如图10.21表示八选一的逻辑框图及其真值表。现有8组16位开关量数据(无符号数),要求通过一片8255A(端口地址为260H~263H)分时输入到CPU(8088最小方式系统)中,并找出它们中的最大值,并通过4个发光二极管指示其序号(灯亮表示“1”)。画出8255A的连接图,并编程实现。

解:由于开关量是16为数据,故可以将8255A的PA端与PB端设定为方式0,分别读取开关量的低八位和高八位,以PC低三位端口的控制八选一电路的输出依次从X0到X7,- 3 -

八选一x0x1x2x3x4x5x6x7ys0s1s2s2s1s00 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1yx0x1x2x3x4x5x6x7图10.21 八选一逻辑电路使用PC端口的高八位输出最大开关量的序号(该序号为1~8),控制发光二极管的亮灭以码指示序号。连接图如下:

程序段如下:

MOV DX,263H

MOV AL,10011010B;设定工作方式,PA,PB均工作于方式0,PA、PB为输入,PC为输出

OUT

DX,AL

MOV

CX,8

XOR

BX,BX

MOV

SI,0

;SI表示输入开关量的序号 ST1:

MOV

DX,262H

OUT

DX,SI

MOV

DX,260H

;将开关量数据的低八位写入AL

IN

AL,DX

MOV

DX,261H

;将开关量数据的高八位写入AH

IN

AH,DX

- 4 -

CMP

BX,AX

JA

NEXT

MOV

BX,AX

;将当前最大值保存在BX中

INC

SI

PUSH

SI

;将当前最大值的序号压栈 NEXT:

INC

SI

LOOP

ST1

POP

SI

XOR

AX,AX

MOV

AX,SI

MOV

CL,4

ROL

AL,CL

MOV

DX,262H

OUT

DX,AL

;最大值的序号出栈

;将最大值的序号(4位)移至AL的高四位 的高四位输出最大值序号 - 5 -

;PC

第四篇:微机原理与接口技术习题答案2

第2章 8086 CPU结构与功能

1.微处理器内部结构由哪几部分组成?阐述各部分的主要功能。解:微处理器内部结构由四部分组成:

(1)算术逻辑运算单元ALU:完成所有的运算操作;

(2)工作寄存器:暂存寻址信息和计算过程中的中间结果;

(3)控制器:完成指令的读入、寄存和译码,并产生控制信号序列使ALU完成指定操作;

(4)I/O控制逻辑:处理I/O操作。

2.微处理器级总线有哪几类?各类总线有什么作用? 解:微处理器级总线有三类:

(1)数据总线:传送信息;

(2)地址总线:传送地址码;

(3)控制总线 传送控制信号。

3.为什么地址总线是单向的,而数据总线是双向的?

解:地址码只能由CPU生成。而数据需要在CPU和存储器之间传输。4.8086/8088微处理器内部有哪些寄存器?其主要作用是什么?

解:8086CPU内部有14个16位寄存器,其中8个通用寄存器(4数据寄存器AX、BX、CX、DX,4地址指针/变址寄存器SI、DI、SP、BP),4个段寄存器(CS、DS、ES、SS),2个控制寄存器(指令指针IP,微处理器状态字PSW)。

应该注意的是:可以在指令中用作为地址指针的寄存器有:SI、DI、BP和BX;在微处理器状态字PSW中,一共设定了9个标志位,其中6个标志位用于反映ALU前一次操作的结果状态(CF,PF,AF,ZF,SF,OF),另3个标志位用于控制CPU操作(DF,IF,TF)。

5.如果某微处理器有20条地址总线和16条数据总线:

(1)假定存储器地址空间与I/O地址空间是分开的,则存储器地址空间有多大?

(2)数据总线上传送的有符号整数的范围有多大? 解:(1)存储器地址空间为:2201MB

1(2)有符号数范围为: 2~21,即 -32768~32767 6.将十六进制数62A0H与下列各数相加,求出其结果及标志位CF、AF、SF、ZF、OF

15和PF的值:

(1)

1234H;(2)

4321H;(3)

CFA0H;(4)

9D60H 解:(1)

74D4H

CF=0 AF=0 SF=0 ZF=0 OF=0 PF=1

(2)

A5C1H CF=0 AF=0 SF=1 ZF=0 OF=1 PF=0

(3)

3240H

CF=1 AF=0 SF=0 ZF=0 OF=0 PF=0

(4)

0000H

CF=1 AF=0 SF=0 ZF=1 OF=0 PF=1 7.从下列各数中减去4AE0H,求出其结果及标志位CF、AF、SF、ZF、OF和PF的值:

(1)1234H;(2)5D90H;(3)9090H;(4)EA04H 解:(1)

C754H

CF=1 AF=0 SF=1 ZF=0 OF=0 PF=0(2)

12B0H

CF=0 AF=0 SF=0 ZF=0 OF=0 PF=0(3)

45B0H

CF=0 AF=0 SF=0 ZF=0 OF=1 PF=0

(4)

9F24H

CF=0 AF=0 SF=1 ZF=0 OF=0 PF=1 9.写出下列存储器地址的段地址、偏移地址和物理地址:(1)2134:10A0;(2)1FA0:0A1F;(3)267A:B876 解:物理地址=段地址*10H+偏移地址

(1)段地址:2134H,偏移地址:10A0H,物理地址:223E0H(2)段地址:1FA0H,偏移地址:0A1FH,物理地址:2041FH(3)段地址:267AH,偏移地址:B876H,物理地址:32016H 10.给定一个数据的有效地址为2359H,并且(DS)=490BH,求该数据的物理地址。解:物理地址=段地址*10H+偏移地址

物理地址=490BH +2359H = 4B409H 11.如果在一个程序段开始执行之前,(CS)=0A7F0H,(IP)=2B40H,求该程序段的第一个字的物理地址。

解:物理地址=段地址*10H+偏移地址

物理地址=CS*10H+IP = AAA40H 12.IBM PC有哪些寄存器可用来指示存储器的地址? 解:变址寄存器SI,DI,堆栈指针SP,BP,另外还有BX。

第五篇:微机原理与接口技术习题答案4

第4章 汇编语言程序设计

1.已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。解:BUF

BUFR

MOV CX, N LEA SI, BUF LEA DI, BUFR ADD DI,CX DEC DI L1: MOV AL,[SI] MOV [DI],AL INC SI DEC DI LOOP L1

2.利用移位、传送和相加指令实现AX的内容扩大10倍。

解:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。XOR SHL RCL DX,DX AX, 1 DX, 1 DB “BONJOUR_BELLE” DB 100 DUP(?)MOV BX,AX MOV SHL RCL SHL RCL CX,DX AX, 1 DX, 1 AX, 1 DX, 1 ADD ADC AX, BX DX, CX 3.在缓冲区VAR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果VAR中保存的为有符号数,则再编写程序实现将其按递减关系排列。解:VAR DW 1236,-432,3900 XOR SI,SI MOV AX,VAR[SI] CMP AX, VAR[SI+2] JAE L1 XCHG AX, VAR[SI+2] L1:

CMP AX, VAR[SI+4] JAE L2 XCHG AX, VAR[SI+4] L2: MOV VAR[SI], AX MOV AX,VAR[SI+2] CMP AX, VAR[SI+4] JAE L3 XCHG AX, VAR[SI+4] L3:

MOV VAR[SI+2], AX 4.编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。解:利用移位指令完成。

L1: SHR AL,1 RCR DX,1 XOR DX,DX MOV CX,8

SHR BL,1 RCR DX,1 LOOP L1 5.在变量VAR1和VAR2中分别保存有两个字节型的正整数,编写完整的汇编语言程序实现:

(1)当两数中有一个奇数时,将奇数存入VAR1,偶数存入VAR2;

(2)当两数均为奇数时,两个变量的内容不变;(3)当两数均为偶数时,两数缩小一倍后存入原处。

解:当VAR1为奇数时,不论VAR2的奇偶性,这两个单元的内容均不变;只有当VAR1为偶数时,如果VAR2为奇数,则VAR1与VAR2内容交换;如果VAR2为偶数,则两数缩小一倍后存入原处。DATA SEGMENT

VAR1

DB 28

VAR2 DB 36 DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA, ES:DATA START: MOV AX, DATA MOV DS,AX MOV ES, AX MOV AL,VAR1 MOV BL,VAR2 TEST AL,1 JZ EVEN1 JMP OVER

EVEN1:

TEST BL,1

JZ

EVEN2

MOV VAR1,BL MOV JMP VAR2,AL OVER EVEN2:

SHR MOV SHR MOV AL,1 VAR1,AL BL,1 VAR2,BL

OVER:

MOV AH,4CH MOV AL,0 INT ENDS END START 21H CODE

6.已知在字变量VAR1、VAR2和VAR3中保存有3个相同的代码,但有一个错码,编写程序段找出这个错码,并将它送到AX,其地址送SI;如果3个代码都相同,则在AX中置-1标志。解:在数据段中定义:

VAR1 DW 5A34H VAR2 DW 5A35H VAR3 DW 3A34H

在代码段中编写程序段:

MOV AX,-1 MOV BX,VAR1 CMP BX,VAR2 JZ

L2 CMP BX,VAR3 JZ

L1 MOV AX,BX LEA SI,VAR1 JMP OVER L1: MOV AX,VAR2 LEA SI,VAR2 JMP OVER L2: CMP BX,VAR3 JZ

OVER MOV AX,VAR3 LEA SI,VAR3 OVER: 7.分析下列程序段的功能:

MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 解:程序段完成DX:AX组成的32位无符号数左移4位,低位补零(也即除以16)。8.下列程序段执行后,求BX寄存器的内容:

MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL 解:实际上完成BX内容循环右移2位,因此,BX寄存器的内容为C02DH。9.下列程序段执行后,求BX寄存器的内容:

MOV CL,5 MOV BX,7D5CH SHR BX,CL 解:完成BX内容逻辑右移5位,因此,BX寄存器的内容为03EAH。10.将BUFFERS中N个字按相反顺序传递到BUFFERT中。解:

LEA SI,BUFFERS LEA DI,BUFFERT MOV CX,N ADD DI,N ADD DI,N SUB DI,2 L1: MOV AX,[SI] MOV [DI],AX ADD SI,2 SUB DI,2 LOOP L1 11.数组ARRAY中存放有一组字型数据,前两个字节存放数据长度(5的倍数)。为给这个数组中的数据进行加密保护,每5个数据取出一个数据进行加密处理:奇数位进行取反,偶数位不变,例如对数据0110 1100 1011 0001B加密后变成1100 0110 0001 1011B,编写加密程序encrpytion 和解密程序 unencrpytion。

解:约定从第一个数据开始,每5个数据为一组,每组中的第一个数据采取加密/解密处理。由于加密算法采用的是取反操作,解密算法也采用取反操作,因此解密和解密算法是同一个程序。

ENCRPYTION PROC NEAR LEA SI,ARRAY

XOR DX,DX

MOV AX,[SI]

MOV BX,5

DIV BX

MOV CX, AX

ADD SI, 2 L1:

MOV AX, [SI]

XOR AX,0AAAAH

MOV [SI], AX

ADD SI,10

LOOP L1

RET ENCRPYTION ENDP

13.设BUF中存放有N个无符号数(或有符号数),编程实现求它们的最小值(存入AX)和最大值(存入DX)。

解:BUF存放有N个无符号数的程序如下: MOV CX,N-1 LEA SI,BUF MOV AX,[SI] MOV DX,AX ADD SI,2 L1: CMP AX,[SI] JBE NOCHG1 XCHG AX,[SI] NOCHG1: CMP DX,[SI] JAE NOCHG2 XCHG DX,[SI] NOCHG2: ADD SI,2 LOOP L1 如果BUF中存放的是有符号数,则只需要将程序中的两行内容修改:

JBE NOCHG1 JAE NOCHG2

改成:JLE NOCHG1 改成:JGE NOCHG2

14.设BUFFER中存放有N个无符号(第1个字节存放缓冲区的长度),编程实现将其中的0元素抹去,并更新其长度。

解:设BUFFER中存放的是字节型数据。采用双指针方法:SI为读指针,DI为写指针,从低地址开始,内存中读出一个字节,如果不为0,则写入内存;如果为0,则不进行写操作。

LEA SI, BUFFER XOR CX,CX MOV CL, [SI] INC SI MOV DI, SI XOR BH,BH XOR AL,AL L1: CMP [SI],AL JZ L2 MOV BL,[SI] MOV [DI],BL INC DI INC BH L2: INC SI LOOP L1 MOV BUFFER,BH 16.编写一个子程序实现统计AL中1的个数,然后检测出字节型缓冲区BUF中0和1个数相等的元素个数。

解:统计AL中1的个数,只需将AL右移,移出的一位内容进行累加,子程序为: COUNTBYTE PROC NEAR

PUSH AX

PUSH CX

MOV CX,8

XOR BL,BL COU1:

SHR AL,1

ADC BL,0

LOOP COU1

POP CX

POP AX

RET COUNTBYTE ENDP 在此基础上,可以检测出字节型缓冲区BUF中0和1个数相等的元素个数,即一个字节中有4个1。设BUF中有N个字节型数据,结果保持在BH中。

MOV CX,N LEA SI, BUF XOR BH,BH L1: MOV AL,[SI] CALL COUNTBYTE CMP BL,4 JNZ L2 INC BH L2: INC SI LOOP L1

19.在缓冲区BUFFER中,第1个字节存放数组的长度(<256),从第2个字节开始存放字符的ASCII码,编写子程序完成在最高位给字符加上偶校验。解:STACK SEGMENT STACK 'STACK'

DW 100H DUP(?)

TOP LABEL BYTE STACK ENDS

DATA SEGMENT BUFFER DB 3

DB 'ABC'

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START:

MOV AX,STACK

MOV SS,AX

LEA SP,TOP

MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA DI,BUFFER

XOR CX,CX

MOV CL,[DI]

INC DI

CALL SETEVEN

MOV AH,4CH

MOV AL,0

INT 21H SETEVEN

PROC NEAR

PUSH AX

PUSH BX

PUSH CX

PUSH DI SETEVEN1:

MOV AL,[DI]

CALL COUNTBYTE

;加偶校验子程序

;返回DOS;首字节为字符串长度;字符串

AND BL,01H

JZ SETEVEN2

OR AL,80H

MOV [DI],AL SETEVEN2:

INC DI

LOOP SETEVEN1

POP DI

POP CX

POP BX

POP AX

RET SETEVEN

ENDP COUNTBYTE PROC NEAR

PUSH AX

PUSH CX

MOV CX,8

XOR BL,BL COU1:

SHR AL,1

ADC BL,0

LOOP COU1

POP CX

POP AX

RET COUNTBYTE ENDP CODE ENDS

END START 20.编写程序完成求多位数(N个字)的绝对值。21.已知斐波那契数列的定义为:F1数列前n项的子程序。

1,F21,FiFi1Fi2(i3),编写求该解:设奖斐波那契数列存放在字变量RESULT中。在数据段中定义

RESULT DW 100H DUP(?)

在代码段中编写子程序 FIBONACCI PROC NEAR

XOR DI,DI

MOV RESULT[DI],1

;前两个数为1

MOV RESULT[DI+2],1

ADD DI,4

MOV CX,N L1:

MOV AX, RESULT[DI-4]

ADD AX, RESULT[DI-2]

MOV RESULT[DI],AX

ADD DI,2

LOOP L1

RET FIBONACCI ENDP

22.编写程序实现循环显示10条信息,保存每条信息的变量分别为INFOM1~INFORM10。解:在数据段中定义变量:

TABLE DW INFORM1, INFORM2, INFORM3, INFORM4, INFORM5

DW INFORM6, INFORM7, INFORM8, INFORM9, INFORM10 在代码段中编写程序段:

MOV XOR MOV MOV CX,10 SI,SI DX,TABLE[SI] AH,9 L1:

INT ADD CALL LOOP 21H SI,2 WAIT L1 这里,WAIT为延时子程序,用于在显示信息之间的停顿。

23.编写程序实现将包含20个数据的数组ARRAY分成两个数组:正数数组ARRAYP和负数数组ARRAYN,并分别将这两个数组中数据的个数显示出来。

解:先编写一个子程序DISPALD,完成以3位十进制数形式显示出AL的内容。

DISPALD PROC NEAR PUSH AX PUSH CX PUSH DX XOR AH,AH MOV CL,100 DIV CL PUSH AX MOV DL,30H ADD DL,AL MOV AH,2 INT 21H POP AX MOV AL,AH XOR AH,AH MOV CL,10 DIV CL PUSH AX MOV DL,30H ADD DL,AL MOV AH,2 INT 21H POP AX MOV DL,30H ADD DL,AH MOV AH,2 INT 21H POP DX POP CX POP AX RET DISPALD ENDP

在此基础上,根据题目要求,需要用到3个指针:SI指向源数组ARRAY,DI指向正数数组ARRAYP,BX指向负数数组ARRAYN。

MOV XOR LEA LEA LEA MOV AND JS MOV INC INC JMP MOV INC INC INC CX,20 DX,DX SI,ARRAY DI,ARRAYP BX,ARRAYN AL,[SI] AL,AL L2 [DI],AL DI DL L3 [BX],AL BX DH SI L1:

L2:

L3:

LOOP MOV CALL MOV CALL L1 AL,DL DISPALD AL,DH DISPALD 24.编写程序实现求缓冲区BUFFER的100个字中的最小偶数(存入AX)。解:设BUFFER中存放的是有符号数。

L1:

L2: MOV CX,100 LEA SI,BUFFER MOV AX, 7FFFH AND WORD PTR [SI],1 JNZ L2 CMP [SI],AX JGE L2 MOV AX,[SI] ADD SI,2 LOOP L1

225.编写程序实现求级数1解:BL用于存放项数。

22n2的前n项和刚大于2000的项数n。

STACK SEGMENT STACK 'STACK'

DW 100H DUP(?)TOP LABEL WORD STACK ENDS DATA SEGMENT

DB 100H DUP(?)DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACK START:

MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV AX,STACK

MOV SS,AX

LEA SP,TOP

MOV BL,1

MOV CX,0 COUNT:

MOV AL, BL

MUL BL

ADD CX,AX

CMP CX,2000

JA EXIT

INC BL

JMP COUNT EXIT:

26.定义一条宏指令,实现将指定数据段的段地址传送到段寄存器ES或DS的功能。解:

27.定义一条宏指令,实现从键盘中输入一个字符串(利用INT 21H的09号功能)。28.定义一条宏指令,实现在屏幕上输出回车、换行。29.利用其它指令完成与下列指令一样的功能:

(1)REP MOVSB;

(3)REP STOSB;

解:设DF=0(1)

L1: MOV AL,[SI]

MOV ES:[DI],AL INC INC SI DI

(2)REP LODSB;(4)REP SCASB。

LOOP L1(2)

L1: MOV AL,[SI] INC SI LOOP L1(3)

L1: MOV ES:[DI],AL

INC DI LOOP L1(4)

L1: MOV AL,[SI]

CMP AL,ES:[DI] INC INC SI DI LOOP L1 30.设在数据段中定义了:

STR1 DB ‘ASSEMBLE LANGUAGE’ STR2 DB 20 DUP(?)利用字符串指令编写程序段实现:

(1)从左到右将STR1中的字符串传送到STR2;(2)从右到左将STR1中的字符串传送到STR2;(3)将STR1中的第6个和第7个字节装入DX;

(4)扫描STR1字符串中有无空格,如有则将第一个空格符的地址传送到SI。解: STR1中有17个字符(含一个空格),设DS和ES均指向STR1和STR2所在的段。(1)

CLD MOV LEA LEA REP MOV LEA LEA CX,17 SI,STR1 DI,STR2 MOVSB CX,17 SI,STR1 DI,STR2(2)

ADD DEC MOV MOV DEC INC LOOP LEA MOV MOV LEA MOV CMP JZ INC LOOP SI,CX SI AL,[SI] [DI],AL SI DI L1 SI,STR1 DX,[SI+6] CX,17 SI,STR1 AL,20H [SI], AL L2 SI L1 L1:

(3)

(4)

L1:

L2:

31.设在数据段中定义了:

STRING DB ‘Today is Sunday & July 16, 2000’

编写程序实现将STRING中的’&’用’/’代替。解:STRING中保存了30个字符。

MOV LEA MOV CMP JNZ MOV INC LOOP CX,30 SI,STRING AL,’&’ [SI],AL L2 BYTE PTR [SI],’/’ SI L1 L1:

L2:

32.分析下列程序段完成的功能:

MOV CX,100 LEA SI,FIRST LEA DI,SECOND REP MOVSB 解:将缓冲区FIRST中100个字节传送到SECOND中。33.分析下列程序段:

LEA DI,STRING MOV CX,200 CLD MOV AL,20H REPZ SCASB JNZ FOUND JMP NOT_FOUND 问:转移到FOUND的条件。

解:在缓冲区STRING中搜索非空格字符,如果有非空格则转到FOUND,如果200个单元中都是空格,则转到NOT_FOUND。

34.设在数据段的变量OLDS和NEWS中保存有5个字节的字符串,如果OLDS字符串不同于NEWS字符串,则执行NEW_LESS,否则顺序执行程序。解:设DS和ES均指向字符串OLDS和NEWS所在的段。CLD MOV

35.编程实现将STRING字符串中的小写字母变换成大写字母。解:设STRING中的字符个数为N。

LEA LEA REPZ JNZ CX,5 SI,OLDS DI,NEWS CMPSB NEW_LESS

MOV LEA MOV AND INC CX,N SI,STRING AL,5FH [SI],AL SI L1:

LOOP L1 36.设在数据段中定义了:

STUDENT_NAME DB 30 DUP(?)STUDENT_ADDR DB 9 DUP(?)STUDENT_PRINT DB 50 DUP(?)编写程序实现:

用空格符清除缓冲区STUDENT_PRINT; 在STUDENT_ADDR中查找第一个’_’字符; 在STUDENT_ADDR中查找最后一个’_’字符;

如果STUDENT_NAME中全为空格符,则STUDENT_PRINT全存入’*’;

将STUDENT_NAME传送到STUDENT_PRINT的前30个字节中,将STUDENT_ADDR传送到STUDENT_PRINT的后9个字节中。

37.(上机题)编写程序实现,将缓冲区BUFFER中的100个字按递增排序,并按下列格式顺序显示:

数据1 <原序号> 数据2 <原序号> „„

38.(上机题)按同余法产生一组随机数N(1

Total <总人数> A:

<人数1> B:

<人数2> C:

<人数3> D:

<人数4> E:

<人数5> F:

<人数6>

39.(上机题)编写程序实现下列5项功能,通过从键盘输入1~5进行菜单式选择:

(1)按数字键“1”,完成将字符串中的小写字母变换成大写字母。用户输入由英文大小写字母或数字0~9组成的字符串(以回车结束),变换后按下列格式在屏幕上显示:

<原字符串>例如:abcdgyt0092 <新字符串>

ABCDGYT0092 按任一键重做;按Esc键返回主菜单。

(2)按数字键“2”,完成在字符串中找最大值。用户输入由英文大小写字母或数字

0~9组成的字符串(以回车结束),找出最大值后按下列格式在屏幕上显示:

<原字符串>

The maximum is <最大值>.

按任一键重做;按Esc键返回主菜单。

(3)按数字键“3”,完成输入数据组的排序。用户输入一组十进制数值(小于255),然后变换成十六进制数,并按递增方式进行排序,按下列格式在屏幕上显示:

<原数值串>

<新数值串> 按任一键重做;按Esc键返回主菜单。

(4)按数字键“4”,完成时间的显示。首先提示用户对时,即改变系统的定时器

HH:MM:SS(以冒号间隔,回车结束),然后在屏幕的右上角实时显示出时

间:HH:MM:SS。

按任一键重新对时;按Esc键返回主菜单。

(5)按数字键“5”,结束程序的运行,返回操作系统。解:

※主程序的编程思路: 此程序共5个功能,可采用跳转表法来实现多路分支结构程序设计。现将这5个程序段,各程序段的首地址分别标号为G1,G2,G3,G4,G5。将5个程序段的入口地址做成表TABLE放入数据段,程序根据给定的参数计算出欲转入的程序段的首地址在TABLE中的位置后,取出该地址,跳转至该程序段。

首先,通过调用子程序MENU,设置显示器,并输出提示文档。接着,读取‘1’-‘5’之间的ASCII表示数。然后,通过跳转表TABLE实现由输入参数转入相应的程序段。由于表中按“字”存放数据,则每个数据的位移量是:0、2、4、6、8。对于输入参数N,计算位移量的公式是N=(N-1)*2。

当输入‘1’时,跳转到标号G1。调用子程序CHGLTR,完成将输入字符串中的小写字母变换成大写字母。用户按键,若为ESC,则转到主程序段首调用MENU,否则,转到标号G1;

当输入‘2’时,跳转到标号G2。调用子程序MAXLTR,完成在输入字符串中找最大值。用户按键,若为ESC,则转到主程序段首调用MENU,否则,转到标号G2;

当输入‘3’时,跳转到标号G3。调用子程序SORTNUM,完成输入数据组的排序。用户按键,若为ESC,则转到主程序段首调用MENU,否则,转到标号G3。

当输入‘4’时,跳转到标号G4。调用子程序TIMCHK,完成时间的显示。用户按键,若为ESC,则转到主程序段首调用MENU,否则,转到标号G4。

当输入‘5’时,跳转到标号G5。结束程序的运行,返回操作系统。其流程框图见图3-1。

下载最新微机原理第3章习题与答案word格式文档
下载最新微机原理第3章习题与答案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    微机原理答案.

    部分习题答案(顾三乐整理编辑版) 第二章 计算机中的数值和编码 将十进制数转换为二进制和十六进制 (1) 129.75=1000 0001.11B=81.CH (2) 218.8125=1101 1010.1101B=DA.DH (3)......

    微机原理与接口技术(第二版)习题答案

    第1章1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 解: 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。微处理器加上一定数......

    微机原理考试答案

    微机原理与应用考试答案 一、单选题(25分,每个1分) 1、8086当前被执行的指令放在(D) A、DS:BX B、SS:SP C、CS:PC D:CS:IP 2、8086CPU能够直接执行的语言是(B) A、汇编语言 B、机器语言......

    微机原理与接口技术课后习题答案(朱红)(含五篇)

    第一章习题答案 一、选择题 1.十进制数 66 转换成二进制数为_______。A. 11000010 B.01100110 C.11100110 D.01000010 答案:D 2.十进制数 27.25 转换成十六进制数为______......

    微机原理及应用习题答案(共五则范文)

    《微机原理及应用》习题答案 第一章 1.11 请完成下列数制转换: (1) 将174.66D转换为对应的二进制和十六进制形式。 (2) 将100011101011.01011B转换为对应的十进制和十六进制形式......

    微机原理与应用试卷-有答案

    微机原理与应用试卷 一、单项选择题(每小题 1 分共 10 分) 1.十进制33.25转换成十六进制数为 ( ) A. B1.4H B. 1B.19H C. 21.4H D. 33.4H 2. 若有16条地址线,那么可访问的......

    微机原理复习题及答案

    一、选择题 1.一般微机中不使用的控制方式是( D ) A.程序查询方式B.中断方式C.DMA方式 D.通道方式 2.控制器的功能是(C ) A.产生时序信号 B.从主存取出指令并完成指令操作......

    微机原理试题及答案

    微机原理与接口技术模拟试题 -1. 实现DMA传送,需要( ) ①CPU通过执行指令来完成 ②CPU利用中断方式来完成 ③CPU利用查询方式来完成④不需要CPU参与即可完成 0 下面哪种说......