16年春季微机与接口技术复习题

更新时间:2024-05-02 17:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

16年春季学期微机接口技术复习题 供电信学院各专业复习参考

1、假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,下列各条指令为单独执行指令,前后无关系,请回到括号中的问题。 (1)

SBB AX,BX

完成的是( 带借位减法 )操作,AX=( ) (2) CMP AX,WORD PTR[SI+0FA0H]

完成的是( 两个数的比较 )操作,AX=( ) (3) MUL BYTE PTR[BX]

完成的是( 两个数的乘法 )操作,AX=( ) (4) DIV BH

完成的是(两个数的除法 )操作,AX=( ) (5) SAR AX,CL

完成的是( )操作,AX=( )

2、假设(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)=100H,(BX)=200H,(SI)=0001,(DI)=0002,(BP)=256,字变量ARRAY偏移地址为0050H,(20250H)=1234H,(40100H)=00A0H,(40102H)=2200H。执行下列程序段并分析指令执行后的结果,(注意:不是单条指令),按给出的要求填空回答问题: (1)MOV AX,[BP][SI]

源操作数物理地址= H , 指令执行后(AX)= H (2)POP AX

源操作数物理地址= H , 指令执行后(AX)= H (3)MOV AL,[BX]

源操作数有效地址= H, 指令执行后(AX)= H (4)LEA DI,ARRAY

源操作数的寻址方式是 , 指令执行后(DI)= H (5)JMP BX 指令执行后(IP)= H (6)INC BX

源操作数的寻址方式是

第 - 1 - 页 共 -21- 页

3、指出下列指令的错误,(要求说明错误的原因,并给出正确的写法)

(1) MOV AH, BX (2) MOV [SI], [BX] (3) MOV AX, [SI][DI] (4) MOV BYTE PTR[BX],1000H (5) MOV DS,BP 4、若给定AX和BX的值如下, (1)(AX)=14C8H,(BX)=808DH (2)(AX)=D022H,(BX)=9F70H (3)(AX)=148DH,(BX)=808DH (4)(AX)=9F22H,(BX)=9F20H

已知下列程序段,按无符号数计算,说明程序的转向。

ADD AL,BL JZ L1 JC L2 CMP AH,BH JC L3 JZ L4 JMP L5

6、下面的数据项定义了多少个字节?

DATA_1 DB 6 DUP(4 DUP(0FFH)) 答案: 24字节

7、 对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么? DTSEG SEGMENT | DTSEG SEGMENT ORG 0010H | ORG 0010H

DATA1 DB 72H | DATA1 DW 7204H

DB 04H | DTSEG ENDS DTSEG ENDS | 答案:

不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节. 10、指出下列指令的错误:

第 - 2 - 页 共 -21- 页

(1) MOV AH,BX (2) MOV [SI],[BX] (3) MOV AX,[SI][DI]

(4) MOV AX,[BX][BP] (5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000 (7) MOV AX,OFFSET [SI] (8) MOV CS,AX (9) MOV DS,BP 答案:

(1) 源、目的字长不一致

(2) 源、目的不能同时为存贮器寻址方式 (3) 基址变址方式不能有 SI和DI的组合 (4) 基址变址方式不能有 BX和BP的组合

(5) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式 (6) 1000超出一个字节的表数范围 (7) OFFSET只用于简单变量,应去掉 (8) CS不能作为目的寄存器

(9) 段地址不能直接送入数据段寄存器

(10)根据中断源的不同,中断可以分为外部中断、内部中端和软件中断。( × ) 答案:中断可以分为外部中断、内部中端。

(11)数据传送指令:MOV [1000H],[AL] ( × ) 答案:存储器之间不能传送数据,MOV AL, [BX];MOV [1000H], AL (12)出栈指令:POP AL ( × ) 答案:堆栈操作为字操作;POP AX

(13)数据传送指令:MOV AL,BX ( × ) 答案:数据长度比一致;MOV AX,BX或MOV AL,BL (14)数据传送指令:MOV DS,[1000H] ( × )

答案:存储器的内容不能直接传送到段寄存器,只能用16位通用寄存器传送。 (15)除法指令:MOV AX ,BL ( × ) 答案:目的操作数是隐含为AX或DX:AX中

(16)数据传送指令:MOV ES,CS ( × ) 答案:段寄存器之间不能传送数据,只能用16位通用寄存器传送 (17)数据传送指令:MOV ES,AX ( √ ) (18)加1指令:INC [BX] ( √ )

(19)对一个字数据,当从偶地址存取时需占用2个总线周期,而从奇地址存取时需1个总线周期。( × ) (20)、8086/8088CPU执行指令RET与IRET产生的操作是一样的 ( × )

第 - 3 - 页 共 -21- 页

(21)、根据中断源的不同,中断可以分为外部中断、内部中端和软件中断。( × ) 答案:中断可以分为外部中断、内部中端。

11、 程序分析题

DATA SEGMENT TABLE_ADDR DW 1234H DATA ENDS .

MOV BX, TABLE_ADDR LEA BX, TABLE_ADDR

请写出上述两条指令执行后, BX寄存器中的内容。 答案:

MOV BX,TABLE_ADDR ; 执行后(BX)=1234H

LEA BX,TABLE_ADDR ; 执行后(BX)=OFFSET TABLE_ADDR

12、编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS不同, 则执行NEW_LESS, 否则顺序执行程序。

答案: LEA SI, OLDS LEA DI, NEWS MOV CX, 5 CLD REPZ CMPSB JNZ NEW_LESS

16、 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H,

(DI)=3000H,

(43000H)=0A006H,

(23000H)=0B116H,

(33000H)=0F802H,

(25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。

(1) SBB AX,BX

(2) CMP AX,WORD PTR[SI+0FA0H] (3) MUL BYTE PTR[BX] (4) AAM

第 - 4 - 页 共 -21- 页

(5) DIV BH (6) SAR AX,CL (7) XOR AX,0FFE7H (8) REP STOSB

(9) JMP WORD PYR[BX] (10) XCHG AX,ES:[BX+SI] 答案:

(1) (AX)=0F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1 (2) (SF)=1, (ZF)=0, (OF)=1, (CF)=1 (3) (AX)=0240H, (OF)=1, (CF)=1 (4) (AX)=0906H, (SF)=0, (ZF)=0 (5) (AX)=20ACH (6) (AX)=0103H, (CF)=0

(7) (AX)=0DF87H, (CF)=0, (OF)=0, (SF)=1, (ZF)=0 (8) (23000H)~(23004H)=60H, 不影响标志位 (9) (IP)=0A006H, 不影响标志位

(10) (AX)=00B0H, (25060)=2060H, 不影响标志位 18、完成下列的填空

1).CPU中运算器的功能主要是( )。

A.算数运算 B.逻辑运算 C.函数运算 D. 算数运算和逻辑运算

2)..CPU与外设间数据传送的控制方式有( )。

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

3).段地址最多可以为( )字节。

A.128K B.64K C.32K D.16K

4).指令MOV AX, MASK[BX][SI]中源操作数的寻址方式为( )。

A.寄存器寻址 B.变址寻址 C.基址变址寻址 D.相对基址变址寻址 5).EPROM是指( )。

A.随机读写存储器 B.可编程只读存储器 C.只读存储器 D.可擦除可编程只读存储器

6).堆栈的工作方式是( )。

A.先进先出 B.随机读写 C.只能读出不能写入 D.后进先出

第 - 5 - 页 共 -21- 页

7).要使8086CPU工作在最小方式,其引脚MN/MX(非)应接( )电平。

A、 TTL B、 CMOS C、 逻辑低 D、逻辑高

8). 从8086CPU的功能结构上看,其是由( )两部分组成。

A、 控制器和20位物理地址加法器 B、 运算器和总线接口 C、 执行单元和总线接口单元 D、控制器和运算器

9).某RAM芯片有12条地址线,它的容量为( )。

A) 1024K B)4M C)8M D)16M

10).8086/8088在内存00000H~003FFH空间建立了一个中断向量表,可容纳( )个中断向量

A)1024 B)256 B)1M C)512

11).8086/8088的四个通用寄存器分别是( )

A)AX、BX、CX、DX B)AX、BX、SI、DX B)AX、BX、SI、DI C)AX、BX、CX、BP 12).8086微机系统中的中断向量地址是( )

A)子程序入口地址 B)中断服务程序入口地址 B)存放中断向量的地址 C)中断服务程序入口地址的地址

13).在异步串行通信中,若采用8位数据、一位奇偶校验位、一位起始位、一位停止位的字符格式,当波特率为2400bps,则每秒钟能传送的数据字节数最多为( )

A)180 B)218 B)240 C)300

14).8255使用了( )个端口地址

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

15). 8253的输入脉冲的频率为1MHZ,要求输出为2KHZ的方波信号,它的初值为( )

A)01F1H B)01F2H B)01F3H C)01F4H

16)、LOOP指令执行时,隐含的寄存器为( )

A)AX B)BX C)CX D)DX 17)、每当CPU执行指令时,决定指令的物理地址的寄存器是( )

A)SS,SP B)DS,DX B)CS,IP C)SI,DI

18)、若程序段中定义一个缓冲区,执行BUFFER DD 10 DUP(?)后,则缓冲区的容量是( )

A)10BYTE B)20BYTE C)40BYTE D)100BYTE 19)、在8088CPU中,用于堆栈操作指令的寄存器是( )

第 - 6 - 页 共 -21- 页

A)AX B)BX C)SP D)SI

21)、指令MOV AX, MASK[BX][SI]中源操作数的寻址方式为( )。

A)寄存器寻址 B)变址寻址 C)基址变址寻址 D)相对基址变址寻址 22)、8086在对存储器做读操作时,WR、RD、M/IO 三条线的逻辑电平为( ) A)1、1、1 B)1、0、1 C)0、0、0 D)0、1、1 23)、8088在访问数据段及堆栈段的偏移量分别由( )提供。 A) DS、CS B)ES、DS C)DS、ES D)SS、SP 24)8086汇编指令通常由( )两部分组成。

A)指令标号与指令助记符 B)指令标号与操作数 C)操作数与注释 D)指令助记符与操作数 25).假设AL=FFH,执行INC AL指令后不受影响的标志位是( )。

A)ZF B)CF C)OF D)AF 26).执行P0P指令后,SP的内容是( )

A)(SP)←(SP+1) B)(SP)←(SP-1) C)(SP)←(SP+2) D)(SP)←(SP-2) 28)设(AX)=0ABDFH,则在执行指令“AND AX,0001H”后,AX寄存器的内容为:(C ) A)0ABDEH B)0FFFFH C)0001H D)0000H

22、设(AL)=10H,(BL)=20H,则在执行了指令“SUB AL,BL”后,标志位CF和ZF的值分别为:(C ) A)0,0 B)0,1 C)1,0 D)1,1

29)现行数据段位于存储器B0000H~BFFFFH 64K空间,期中某字节数据存放在BOFFFH单元,则该数据的段基址与段内偏移地址分别为:(C )

A)B000H:BOFFH B)0000H:OFFFH C)B000H:OFFFH D)BOOOH:OOFFH 30)若某存储器芯片容量为512KB ,有8条数据线,则它具有的地址线条数为:( D)

A)16 B)17 C)18 D)19

31)若寄存器AX=1111H,BX =2222H,CX=3333H,DX=4444H,依次执行下列指令序列

PUSH AX PUSH BX POP CX POP DX

则寄存器: DX= A

A)1111H, B)2222H C)3333H D)1122H 19、8086有几个段寄存器?各自的作用是什么?

答案:有代码段 CS 存放代码段的段地址; 数据段 DS 存放数据段的段地址 ; 附加段 ES 存放

第 - 7 - 页 共 -21- 页

附加段的段地址 ; 堆栈段 SS 存放堆栈段的段地址 20、在8086中,物理地址是怎么组成的?其计算公式?

答案:将段寄存器提供的16位段地址左移4位,变为20位地址,然后与各种寻址方式提供的16位有效偏移地址相加,最终得到20位的物理地址。 物理地址=段地址*16+偏移地址

在访问内存时,用户编程使用的是16位的逻辑地址, 而BIU使用的是20位的物理地址 21、8086是如何将地址数据复用线分离出来的,画出时序波形图,并给予解释。 答案:

T1 CLK

A19/S6~A1/S3

BHE/S一个总线周期 T3 T2 T4 BHE输出 地址输出 状态输出 数据输出 7 AD15~AD0

ALE

地址 由地址锁存ALE信号的电平来区分地址和数据信号的时间,在ALE为高时,复用线上出现的是地址信号,为低是出现数据信号。

22、什么是8086的中断类型码?8086的中断向量如何组成?作用是什么?中断向量表在存储区的哪个位

置?8259的中断向量是如何组成的?

答:8086微处理机可处理的每种中断的编号为中断类型码。中断向量是指中断处理程序的入口地址,由处理器自动寻址。中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。在8086系统中,中断类型码乘4得到向量表的入口,从此处读出4字节内容即为中断向量。高字送CS,低字送IP。 23、在8086的存储器设计中为什么要分奇、偶存储体?奇、偶存储体分辨由那几个信号线控制? 答案:8086是一个16位微处理器, 其数据总线为16位,但存储器为8位数据线, 在读写存储器时,为了实现既可以访问一个字节(字节访问),也可以同时访问两个字节(字访问)。 8086把存储空间它分为偶、 奇两个存储体。用BHE和AO两个信号线来控制来区分是对奇地址还是偶地址读写。所有的偶地址单元集中于偶存储体, 所有的奇地址单元集中于奇存储体。

25、当数据从8255A的C端口读到CPU时,8255A的控制信号CS、RD、WR、A1、AO分别是什么电平? 答案: CS=0、RD=0、WR=1、A1=1,A0=0

26、8086被复位后,以下各寄存器的内容是:Flag: ;IP: ;CS: ,DS: ,

第 - 8 - 页 共 -21- 页

系统从物理地址为 存储器地址处取指令执行。

答案:Flag: 0000H ;IP: 0000H;CS: FFFFH,DS: 0000H ,系统从物理地址为 FFFF0H存储器地址处取指令执行。

27、8086在什么时候与什么条件下可以响应一个外部INTR中断请求?中断向量表在存储器的什么位置?这个向量表的内容是什么?

答案:①每执行完一条指令后自动判断是否有中断请求信号,如有则在IF=1的条件下可以响应一个外部INTR中断请求。②中断向量表在存储器的00000H-003FFH处。③向量表的内容是中断服务子程序的入口地址。

28、ADC 0809模/数转换接口电路中ADDA、ADDB、ADDC三位控制线的作用是什么?它是多少位的数字量输出?如果被采样信号的范围为0~5V,最小分辨率多少?

答案:①ADDA、ADDB、ADDC三位控制线用来控制8路输入中那一路被选中。②它是8位的数字量输出。③最小分辨率为5V/255=0.0196V

29、什么是8086的中断类型码?如有外部中断请求,8086如何从8259中得到的中断类型码? 答:①8086微处理器可处理的每种中断的编号为中断类型码。②8259A接到来自8086的第一个INTA 脉冲时,把允许中断的最高优先级请求位置入ISR,并把IRR中相应的位复位。第二个INTA 脉冲时,8259A向数据总线发送中断类型号。使CPU得到中断类型号

30、已知(DS)=2000H, (AX)=1000H, (BX)=1000H, (CX)=0002H, (DX)=0020H, (SI)=1000H, (21010H)=1000H, (23000H)=0B116H,(33000H)=0F802H, (25060)=00B00H, CF=1 ,请按要求回答下列各条指令单独执行完后的问题。

(1) ADC AX,DX ;指令功能为( ), AX=( ), (2) SBB AX, 10H [SI] ;指令功能为( ), AX=( ), (3) MUL DL ;指令功能为( ), AX=( ) (4) SHR DL,CL ;指令功能为( ), DX=( ) (5) XOR,AX, AX ;指令寻址方式为( ), AX=( )

31、假设(DS)=2000H,(ES)=3000H,(CX)=0000H,(SS)=1000H,(SP)=0100H,(BX)=0200H, (SI)=0001H,(DI)=0010H,(BP)=0100H,DISP=02H,(30202H)=8090H,(10100H)=00A0H,(20200H)=12H,(20201H)=34H,(20202H)=78H,(20203H)=56H执行下列程序段并分析指令执行后的结果,(注意:不是单条指令),按给出的要求填空回答问题:

(1)MOV AX,[BX][SI] ;源操作的寻址方式是 基址变址寻址 ,指令执行后(BX)= 7834H (2)POP AX ;源操作的寻址方式是 寄存器寻址 ,指令执行后(AX)= 00A0H

第 - 9 - 页 共 -21- 页

(3)MOV AL,ES:DISP[BX] ;源操作的寻址方式是寄存器相对寻址 ,指令执行后(AL)= 90H (4)MOV CX,(0202H) ;源操作数的寻址方式是 直接寻址 , 指令执行后(CX)= 5678H (5) MOV AX,2000H ;源操作数的寻址方式是 立即寻址 ,指令执行后(AL)= 00 H 32、执行下面的程序段后,AX的内容是( ),BX的内容是( ).

MOV AX,1234H MOV BX,5678H PUSH AX PUSH BX POP AX POP BX

33、连续执行下列指令,并在空格中填写指令执行的结果。 (1) MOV AX , 2060H AL= ;AH= ;CF= (2) MOV DS , AX DS= ;AH= ;CF= (3) MOV AL , AH AL= ;AH= ;CF= (4) INC AX AL= ;AH= ;CF= (5) MOV DX , 512 DL= ;DH= ;CF=

34、假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H,(SP)=1000H, (AX)=2060H, (BX)=1000H, (CX)=0005H,

(DX)=0000H,

(SI)=2060H,

(DI)=3000H,

(43000H)=2000H,

(23000H)=0B116H,

(33000H)=0F802H, (25060)=00B0H, (41000H)=0202H,CF=1。下列各条指令为单独执行指令,前后无关系,请回到括号中的问题。

(1) ADC AX,BX 完成的是( 带进位加法 )操作,AX=( 3061H ),CF= 0 (2) CMP AL,70H 完成的是(比较 )操作,AL=( 60H ),CF= 1 (3) MUL BYTE PTR[BX] 完成的是(乘法 )操作,AX=(00C0H ),CF= 0 (4) PUSH AX 完成的是( 压入堆栈 )操作,SP=(0FFEH ),AX= 2060H (5) SAR AL,CL 完成的是(算术右移 )操作,AL=(03H ),CL= 0

35、若给定(AX)=A050H,(BX)=6O50H ,分析下列程序段(按无符号数计算),确定程序的转向:

ADD AL,BL JZ L1 JC L2 CMP AH,BH JC L3

第 - 10 - 页 共 -21- 页

JZ L4 JMP L5 ???? L1 : ??

???? L2 : ??..

........ L3 : ??

????.. L4 : ??

???? L5 : ??

????

程序转移地址标号为:

36、连续执行下列程序段,并在空格中填写指令执行的结果。

(1) MOV AX , 30A0H AL= A0H ; AH= 30H ; (2) MOV DS , AX DS= 30A0H ; AX= 30A0H ; (3) MOV AL , FFH AL= FFH ; AH= 30H ; (4) INC AX AL= 00H ; AH= 31H ; (5) MOV AL , 10010011B AL= 93H ; SF= 1 ;

37、若给定①(AX)=A050H,(BX)=6O50H ,②(AX)=6O50H,(BX)= A050H分析下列程序段(按无符号数计算),确定程序的转向:

ADD AL,BL JZ L1 JC L2 CMP AH,BH JC L3 JZ L4 JMP L5 ????

程序转移地址标号为: ① L5 ② L3

第 - 11 - 页 共 -21- 页

38、假设(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)=1000H,(BX)=0200H,(SI)=0001H, (DI)=0002H,(BP)=256,字变量ARRAY偏移地址为0050H,(20200H)=1234H,(40100H)=00A0H,(40102H)=2200H。执行下列程序段并分析指令执行后的结果,(注意:不是单条指令),按给出的要求填空回答问题:(每空1分,共10分 )

(1)MOV AX,[BP][SI] ;源操作数物理地址= 40101 H, 指令执行后(AX)= 0200H (2)POP AX ;寻址方式是= 寄存器寻址 , 指令执行后(SP)= 1002H (3)MOV AL,[BX] ;源操作数有效地址= 20200 H, 指令执行后(AX)= 1234H (4)LEA DI,ARRAY ;源操作数的寻址方式是 直接寻址, 指令执行后(DI)= 0050H (5)JMP BX ;指令执行后(IP)= 0200H

(6)INC BX ; 源操作数的寻址方式是 寄存器寻址 39、编写程序段实现下列功能 (1)将立即数1234H送AX。

(2)将寄存器AH的内容送外设端口307H。 (3)将BX寄存器的低8位清零,其余位不变。

(4)将存储器数据段偏移地址为1000H的字数据的高8位变反,其余位不变。 (5)将寄存器AX内容与BX内容相加,结果送CX。 (6)将立即数1234H送偏移地址为5678H的存储单元中。 答案:MOV BX,5678H ;MOV [BX],1234H (7)将寄存器BX内容送外设端口80H。

答案:MOV AX,BX ;OUT 80H,AL ;MOV AL,AH ; OUT 80H,AL (8)将BX寄存器的高8位清零,其余位不变。 答案:AND BX,00FFH

(9)将存储器数据段偏移地址为1000H的字数据的高4位变反,其余位不变。 答案:MOV AX,(1000H);XOR AX,F000H

(10)将寄存器AX内容与BX内容相减,结果送CX。 答案:SUB AX,BX ;MOV CX,AX

(11)、请编写完成三个无符号数(20H+30H)×15H=?的运算的程段,运算结果要求存放在DX、AX寄存器中。答案:MOV AL,20H ;ADD AL 30H ;MOV BL,15H ;MUL BL

(12)、已知两个无符号数分别存放AL和BL寄存器中,做AL-BL运算,当运算结果为0时,将AL的内容送到偏移地址为(1000H)的内存单元中。当运算结果不为0时,将AL的内容送到偏移地址为(2000H)

第 - 12 - 页 共 -21- 页

的内存单元中。请编写完成上述要求的程序段。 答案: CMP AL,BL

JZ LOOP MOV [2000H],AL ??

LOOP: MOV [2000H],AL

??

(13)、请用循环程序完成将DS=2000H,偏移地址为1000H连续100个单元中的内容 清零。 MOV CL,100

MOV DI,1000H

LOOP1:MOV [DI],00H INC DI DEC CL JNZ LOOP1 HLT

(14)、请编写程序完成8位无符号数:12345678H+87654321H的运算,结果存放在DX:CX中。 (15)将立即数2233H送地址为(2000H)的存储器中。 MOV BX,2000H; MOV [BX],2233H

(16)将寄存器AH的内容送外设端口0307H。 MOV DX,0307HH; MOV AL,AH; MOV DX,AL (17)将BX寄存器的低8位清零,其余位不变。 MOV BL,00H 或AND BX,FF00H

(184)将存储器数据段偏移地址为2000H的数据变反后仍然保存在原地址中。 MOV AL,[2000H];NOT AL;MOV [2000H],AL

(19)将寄存器AX内容与BX内容和进位位标志的内容相加,结果送CX。 ADC AX,BX ;MOV CX,AX

(20)请用循环程序完成将DS=2000H,偏移地址为1000H连续100个单元中的内容 清零。 MOV AX,DS;MOV ES,AX;MOV DI,1000H;MOV,CX,100;REP STOSB DI (21)、请编写程序完成十进制数12+56的运算,结果存放在AH中。 MOV AL,12H ; ADD AL,56H ;DAA ;MOV AH,AL 40、A/D和D/A转换器在微机应用中分别起什么作用?

41、地译码电路74LS138的各引脚的连接如图所示,试分析YO—Y7的地址范围。

第 - 13 - 页 共 -21- 页

M/IO A19 A18 A17 A16 A15 A14

A13 + G2B G2A G1 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

G2A G1 C B A

A19~17 A16 A15 A14 A13 A12--A0

0~0 1 0 0 0 X~~~X Y0=0 10000H~11FFFH 0~0 1 0 0 1 X~~~X Y1=0 12000H~13FFFH 0~0 1 0 1 0 X~~~X Y2=0 14000H~15FFFH 0~0 1 0 1 1 X~~~X Y3=0 16000H~17FFFH 0~0 1 1 0 0 X~~~X Y4=0 18000H~19FFFH 0~0 1 1 0 1 X~~~X Y5=0 1A000H~1BFFFH 0~0 1 1 1 0 X~~~X Y6=0 1C000H~1DFFFH 0~0 1 1 1 1 X~~~X Y7=0 1E000H~1FFFFH 42、8255的硬件电路如图所示,请回答如下问题:

(1)根据74LS138的输入逻辑计算出8255的四个端口地址。

(2)编写程序段,当8255A的PA0开关闭合时,B口发光二极管L0~L3灭,L4~L7亮。当8255A的PA0打开时,B口发光二极管L0~L7灭。

43、8255的硬件电路如图所示,请回答如下问题:

(1)根据74LS138的输入逻辑计算出8255的四个端口地址。

(2)编写程序段,当8255A的PA口某位开关闭合时,对应的B口发光二极管该位亮,当8255A的PA口

第 - 14 - 页 共 -21- 页

某位开关打开时,对应的B口发光二极管该位灭,要求对8255先初始化,然后编写完成要求的程序段。

(1)8255的四个端口地址80H-83H

(2)START: MOV AL,1001 X00XB ;8255初始化设置,A口方式0,输入;B口方式0,输出,C口任意; OUT 83H,AL

STATES:IN AL,80H ;读A口 OUT 81H,AL

JMP STATES ; 返回继续判断

1、8255的硬件电路如图所示,请回答如下问题:

(1)根据74LS138的输入逻辑计算出8255的四个端口地址,给出推算过程,无推算过程不给分。 (2)编写程序段,当8255A的PA口的PA0开关闭合时,B口发光二极管的PB0-PB3亮,PB4-PB7灭。当8255A的PA口的PA0开关打开时,B口发光二极管的PB0-PB3灭,PB4-PB7亮。程序为循环对A口的状态判断,根据A口的状态控制B的状态。要求对8255先初始化,然后编写完成要求的程序段。(注:可0可1的位设置为0,程序必须有注释,无注释减分)

1、 G1 G2A G2B C B A A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 0 0

1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0

第 - 15 - 页 共 -21- 页

1 0 0 0 0 1 1 1

四个端口地址:84H-87H

2、 MOV AL,1001X00X B

OUT 87H,AL

LOOP1: IN AL,84H ; TEST AL,01H

JZ LOOP2 ;PA0闭合,B口发光二极管的PB0-PB3亮,PB4-PB7灭 MOV AL,0FH OUT 85H,AL ; JMP LOOP1

LOOP2: MOV AL,F0H ; PA0打开,B口发光二极管的PB0-PB3灭,PB4-PB7 亮

OUT 85H,AL ;

JMP LOOP1

44、已知8253的四个端口地址分别为70H、71H、72H、73H,请回答如下问题:

(1)设8253计数器0的CLK0输入时钟为10KHz,要求该通道OUT0输出频率为100Hz的方波脉冲,试编写初始化程序段。

(2)试画出输入时钟CLK0与UT00的输出波形。 答案:① 定时时间常数为:T=10KHz ÷100Hz=100=64H 初始化程序段

MOV AL,0001 0110B ;工作方式设置,选择0通道,方式3,二进制数,只读写低8位 OUT 73H,AL MOV AL, 64H ;计数值64H OUT 70H,AL ②

45、8253与CPU和74LS138译码器的硬件电路连接如图所示,请回答如下问题: (1)根据74LS138的输入逻辑计算出8253的四个端口地址。

(2)当计数器0的CLK0输入时钟为1MHz,要求该通道OUT0输出频率为10KHz的方波脉冲,试编写初始化程序。

第 - 16 - 页 共 -21- 页

到CPU数据总线 到CPU控制总线 到CPU地址总线 D0-7 RD WR A0 A1 CLK0 GATE0 OUT0 A6 A5 + A7 G1 Y0 CS M/IO G2A G2B A4 C 8253 A3 B 74LS138 A2 A

四个端口地址为:80H-83H

时间常数为:1000000HZ/10000HZ=100

MOV AL,0001 0110B ;计数器0,工作方式3,二进制格式 OUT 83H,AL

MOV AL,64H ;只写入低8位 OUT 80H,AL

6、8253与CPU和74LS138译码器的硬件电路连接如图所示,请回答如下问题: (1)根据74LS138的输入逻辑计算出8253的四个端口地址。

(2)当计数器0的CLK0输入时钟为10KHz,要求该通道OUT0输出频率为100Hz的方波脉冲,试计算定时时间常数,

(3)编写初始化程序段。

到CPU数据总线

到CPU控制总线

A6

A5

到CPU地址总线 A0 A1 G1 D0-7 RD WR A0 A1 CLK0 GATE0 OUT0 + A7 Y1 CS M/IO G2A G2B A4 8253 C A3 B 74LS138 A2 A 1、8255的硬件电路如图所示,请回答如下问题:

(1)根据74LS138的输入逻辑计算出8255的四个端口地址。给出推算过程。

第 - 17 - 页 共 -21- 页

1、 G1 G2A G2B C B A A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 1 0 0 0 0

1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 四个端口地址:90H-93H

47、设8253三个计数器的端口地址为90H、91H、92H,控制寄存器端口地址93H。试编写初化程序:(1)给计数器0的CLK0输入时钟为2MHz,要求该通道OUT0输出周期为1ms的方波脉冲。(2)要求计数器1的工作方式为0,计数初值为1234H。(3)计数器2的工方式为方式5,读出计数器2的计数值,并将读出的当前计数值保存在BX中 答案:

1、 MOV AL,0011X111B ;工作方式设置 2、MOV AL,01110000B;工作方式设置

OUT 93H,AL OUT 93H,AL

MOV AL, 00H ;计数值为2000 MOV AL, 34H 计数值为1234 OUT 90H,AL OUT 91H,AL MOV AL,20H MOV AL,12H OUT 90H,AL OUT 91H,AL 3、MOV AL,1000101XH ;工作方式设置

OUT 93H,AL IN AL, 92HH MOV BL,AL IN AL, 92H MOV BH,AL

48、设8253的三个计数器的端口地址为90H、91H、92H,控制寄存器端口地址93H。试编写完成下列要求的初始化程序。(注:要给程序加注释说明)

(1)给计数器1的CLK1端输入1MHz时钟脉冲,要求该通道OUT0输出周期为1KHz的方波脉冲。

第 - 18 - 页 共 -21- 页

(2)给计数器2的CLK2端输入1KHZ时钟脉冲,要求每0.1秒输出一个负脉冲(分频)

1)MOV AL,0111 0110B ;计数器1,工作方式3,二进制格式 OUT 93H,AL MOV AX,1000

OUT 91H,AL ;写入低8位 MOV AL,AH

OUT 91H,AL ;写入高8位

2)MOV AL,10010100B ;计数器1,工作方式3,二进制格式 OUT 93H,AL MOV AL,100

OUT 92H,AL ;只写入低8位

49、一个微机系统中包含以下I/O接口:并行接口8255A一片(各端口地址为:A口—60H,B口—61H,C口—62H,控制口—63H)。定时器8253一片(各端口地址为:计数器0—70H,计数器1—71H,计数器2—72H,控制口73H)。中断控制器8259A一片(各端口地址为:C0H,C1H)。

(1)、现将8255的A口连接一输入设备,工作在0方式。B口连接一输出设备,也工作在0方式,PC4作为输出设备的选通输出端且低电平有效。

(2)、8253工作于“方式0”,设置计数器0的计数常数为1080H,进行二进制计数。

(3)、8259的ICW2给定为20H,工作于电平触发方式,完全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。

请填充下面程序中的空白项(注意:控制字中可0可1位选0,8255未用端口设成输入方式),(微处理器8086的A0、A1接各芯片的A0、A1)。

MOV AL,1001000XB ; 8255初始化 OUT 63H, AL

MOV AL, 00110000B ; 8253初始化 OUT 73H, AL

MOV AL, 80H ;设8253计数初值 OUT 70H, AL MOV AL, 10H ; OUT 70H, AL

MOV AL,XXX11X11B ; 8259A初始化 OUT COH, AL MOV AL, 20H ;

第 - 19 - 页 共 -21- 页

OUT C1H, AL MOV AL,00000X01B_ OUT C1H, AL

IN AL,60H ; 从8255的A口读入数据 PUSH AX

MOV AL,0XXX1011B ; 用按位置位/复位方式使选通无效 OUT 63H, AL POP AX

OUT 61H, AL ; 往B口输出数据

MOV AL, 0XXX1010B ; 用按位置位/复位方式使选通有效 OUT 63H, AL

此时,对应8259A的IR1中断类型号是_21H,

中断向量为0段的0084H, 0085H, 0086H, 0087H, 四个单元。

50、设8253三个计数器的端口地址为90H、91H、92H,控制寄存器端口地址93H。试编写完成下列要求的的初始化程序。

(1)给计数器0的CLK0输入时钟为1MHz,要求该通道OUT0输出周期为2ms的方波脉冲。 (2)计数器2的工作方式为方式2,读出计数器2的计数值,并将读出的当前计数值保存在BX中。 (1)时间常数为:1000000HZ/500HZ=1000

MOV AL,0011 0110B ;计数器0,工作方式3,先写低8位,后写高8位,二进制格式 OUT 93H,AL MOV AX,1000 ;

OUT 90H,AL ;写入低8位 MOV AL,AH ;

OUT 90H,AL ;写入高8位 (2)

MOV AL,1000 0100B ;计数器0,锁定当前计数值,先读低8位,后读高8位,二进制格式 OUT 93H,AL

IN AL,92H ;读入低8位 MOV BL,AL ;

IN AL,92H ;写入高8位 MOV BH,AL ;

第 - 20 - 页 共 -21- 页

51、8086可分为几个八位的寄存器?它们是那些寄存器? 52、如果用8086组成最小模式,MN/MX应接什么电平? 53、8086的M/IO线的功能是什么? 54、画出8086读周期的时序波形图

55、8086对存储器的管理为什么采用分段的办法? 56、8086中断分哪两类?8086可处理多少种中断?

57、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?

答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。 58、8086对存储器的管理为什么采用分段的办法?

答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。 59、在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。

答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。 60、 8086的中断向量表如何组成?作用是什么?

答:把内存0段中0~3FFH区域作为中断向量表的专用存储区。该区域存放256种中断的处理程序的入口地址,每个入口地址占用4个存储单元,分别存放入口的段地址与偏移地址。

第 - 21 - 页 共 -21- 页

51、8086可分为几个八位的寄存器?它们是那些寄存器? 52、如果用8086组成最小模式,MN/MX应接什么电平? 53、8086的M/IO线的功能是什么? 54、画出8086读周期的时序波形图

55、8086对存储器的管理为什么采用分段的办法? 56、8086中断分哪两类?8086可处理多少种中断?

57、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?

答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。 58、8086对存储器的管理为什么采用分段的办法?

答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。 59、在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。

答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。 60、 8086的中断向量表如何组成?作用是什么?

答:把内存0段中0~3FFH区域作为中断向量表的专用存储区。该区域存放256种中断的处理程序的入口地址,每个入口地址占用4个存储单元,分别存放入口的段地址与偏移地址。

第 - 21 - 页 共 -21- 页

本文来源:https://www.bwwdw.com/article/v51g.html

Top