微机接口习题

2.1,

8086与80386微处理器的通用寄存器有何不同,为什么?

因为数据总线宽度不同,8086的数据总线是16位的,80386的数据总线是32位的,所以
8086的通用寄存器是16的,包括AX、BX、CX、DX、SI、DI、BP、SP,而80386的通用寄存器是32位的,包括EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。
为了和8086兼容,32位寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP的低16位可以当做16位寄存器来使用,分别是AX、BX、CX、DX、SI、DI、BP、SP,
同时为了支持8位操作,EAX、EBX、ECX、EDX的低16位可以分别当做2个8位寄存器使用,即AH、AL、BH、BL、CH、CL、DH、DL。



标志寄存器中af和pf的定义及用途?
    CF(Carry Flag)——进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。
    PF(Parity Flag)——奇偶标志位。该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。
    AF(Auxiliary carry Flag)——辅助进位标志位。当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。
ZF(Zero Flag)——零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。
SF(Sign Flag)——符号标志位。它和运算结果的最高位相同。
OF(Overflow Flag)——溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。
(2)  3个控制标志位用来控制CPU的操作,由指令进行置位和复位。
DF(Direction Flag)——方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。
IF(Interrupt enable Flag)——中断允许标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不响应外部中断。
注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。
TF(Trap Flag)——跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。
当该位复位后,CPU恢复正常工作。

段寄存器有什么作用,为什么在32位微处理器中段寄存器仍是16位的?

段寄存器是存放段地址的,段地址是十六位的,所以,段寄存器是16位的。

 简述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=0时,表示8086为存储口或I/O端口读操作。 WR:CPU的写信号,WR =0时,表示8086为存储口或I/O端口写操作。 ALE:地址存锁信号,在T1能时刻有效。
DEN:数据选通信号,当DEN有效时,表示允许传输。
BHE:数据总线允许信号,与A0组合使用,表示是否访问奇地址字节
什么是双重总线?AD15~D0引脚说明双重总线的功能是 怎样实现的?
答:常把分时复用的总线称为双重总线,如某一时刻总线上出现 的是地址,另一时刻,总线上出现的是数据或状态(控制)信号。 8086CPU的AD15~AD0引脚,是地址/数据复用引脚。在总线周 期的T1时刻,它们传送地址信息,在总线的T2、T3、TW和T4时刻 时,用来传送数据信息。

试说明8086的最小方式和最大方式的区别. ?
答: 8086微处理器有两种工作方式: 在最小方式下,由8086提供系统所需要的全部控制 信号,用 构成一个单处理器系统。此时MN/MX*线接VCC(高电平)。 在最大方式下,系统的总线控制信号由专用总线控制器8288 提供,构成一个多处理机或协处理机系统。此时MN/MX*线接地
什么叫总线周期、时钟周期、指令周期?它们之间一般有什么关系
时钟周期是系统工作的最小时间单位,它由计算机主频决定;总线周期指总线上两个设备进行一次信息传输所需要的时间(如CPU对存储器或I/O端口进行一次读/写操作所需的时间);指令周期指CPU执行一条指令所需要的时间。
三者之间的关系是:时钟周期是基本动作单位;一个总线周期通常由n个时钟周期组成;而一个指令周期中可能包含有一个或几个总线周期,也可能一个总线周期都没有,这取决于该指令的功能。
 
  




3. 1. 设,DS=1000H:SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(1135OH)=OA5H,(11351H)=3CH,(11352H)=OFFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H 下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。
(1) MOV AX,1352H
AX=?
   (2) MOV AX,[1352H]
AX= ?
(3) MOV 0150H[BX],CH
(11350H)=?,(11351H)= ?  (4) MOV AX,0150H[BP]
AX=?
(5) POP AX
AX=           ,SP=        
   (6) ADD[SI],CX
(11354H)=           ,(11355H)=           ,SF=            ZF=           ,PF=           ,CF=           ,OF=            (7) SUB BH,0150H[BX][SI]
BH=           ,SF=           ,ZF=           , PF=           ,CF=           ,OF=         
  (8) INC BYTE PTR 0152H[BX]
(11352H)=           ,(11353H)=?,CF=?
(9) INC WORD PTR 0152H[BX]
(11352H)=           ,(11353H)=           ,CF=        
  (10) SAR BYTE PTR 0150H[BX],1
(11350H)=           ,CF=           ,OF=            (11) SAL BYTE PTR 0150H[BX],
(11350H)=           ,CF=           ,OF=           
解: (1) AX=1352H
(2) AX=26FFH
(3) [11350H]=33H; [11351H]=3CH
(4) AX=5188H
(5) AX=5188H  SP=1352H
(6) [11354H]=ECH; [11355H]=1AH; SF==ZF=PF=OF=0; CF=1
(7) BH=75H; SF==ZF=PF=OF=0; CF=1
 (8) [11352H]=00H; [11353H]=26H; CF不变
 (9) [11352H]=00H; [11353H]=27H; CF不变
(10) [11350H]=D2H; CF=1; OF=0
(11) [11350H]=4AH; CF=1; OF=1

3.2 阅读下列各小题的指令序列,在后面空格中填入该指令序列的执行结果。

1MOV  BL, 85H ; BL=85H

     MOV  AL, 17H ; AL=17H

     ADD  AL, BL ; 

    AL=9CH   9C+06=A2+60=02

     DAA ; 

    AL=02H

     AL=__02H__, BL=_85H___,CF=__1___

(2)  MOV  AX,  BX ; AX=BX  (=0001)

NOT  AX ; AX=BX   (=1110)

ADD AX,  BX; AX= BX+BX=FFFFH CF=0

INC   AX ;AX=0

AX=    0      ,     CF=    0      

(3) MOV  AX,  0FF60H ;AX= FF60H

STC ; CF=1

MOV   DX ,  96 ; DX=0060H

XOR   DH , 0FFH ;

DH=FFH ,DX=FF60H, CF=0

SBB   AX , DX ; AX=0000H,CF=0

AX=    0000H      ,     CF=   0       

(4) MOV  BX  ,  0FFFEH ;BX=FFFEH

MOV  CL  ,   2 ;CL=2     1110

SAR   BX ,   CL ; BX=FFFFH

BX=   FFFFH        ,   CF=   1   

3.3,

AND  AL , AL

JZ  BRCH1

RCR  AL , 1

JZ  BRCH2

RCL  AL, 1

INC  AL

JZ  BRCH3

上书程序运行后,试回答:

1)当(AL=    0      时,程序转向BRCH1

AND  AL , AL;AL=0,ZF=1

JZ  BRCH1; ZF=1,BRCH1

RCR  AL , 1

JZ  BRCH2

RCL  AL, 1

INC  AL

JZ  BRCH3

2)当(AL=    01      时,程序转向BRCH2 

AND  AL , AL ;AL=01H,ZF=0,CF=0

JZ  BRCH1; ZF=0,不转BRCH1

RCR  AL , 1AL=0 , ZF=1

JZ  BRCH2 ; ZF=1,BRCH2

RCL  AL, 1

INC  AL

JZ  BRCH3

3)当(AL=   FFH       时,程序转向BRCH3

AND  AL , AL ;AL=FFH,ZF=0,CF=0

JZ  BRCH1; ZF=0,

BRCH1

RCR  AL , 1AL=7FH , ZF=0 CF=1

  1111 1111

  0111 1111  CF=1

JZ  BRCH2 ; ZF=0,不转BRCH2

RCL  AL, 1;AL=FFH

  0111 1111   CF=1

  1111 1111  CF=0

INC  AL;AL=0 , ZF=1

JZ  BRCH3; ZF=1,BRCH3

3.4,完成下列操作,选用什么指令:

1)将AX的内容减去0520H,和上次运算的借位;

       SBB AX , 0520H

2)将变量名TABL的段地址送AX。 

      MOV AX , SEG  TABL

 3.5,

D1  DB  20H  DUP(?)

D2  DW  D1

请写出用一条指令实现取D1的偏移地址   SI中的三种方法。

    1、MOV SI , OFFSET D1

    2、LEA  SI , D1

    3、MOV SI , [D2]


3.6,

 MOV BX,00FFH

 AND BX,0FFFH

OR BX,0F0FH

XOR BX,00FFH

执行上述指令序列后,BX=___,CF=___


3.7,

        	CMP	AX,BX
		JGE	NEXT
		XCHG	AX,BX
	NEXT:	CMP	AX,CX
		JGE	DONE
		XCHG	AX,CX
	DONE:	┆
试回答:
    ①上述程序执行后,原有AX,BX,CX中最大数存放在哪个寄存器?
    ②这三个数是带符号数还是无符号数?
答:
①最大数存放在AX中
②这三个数是带符号数
因为JGE是带符号数的判断指令


3.8,

画出下列语句中的数据在存储器中的存储情况。 ARRAYB  DB  63,63H,‘ABCD’,
3DUP(?),2 DUP(1,3)
ARRAYW DW  1234H,5,‘AB’,‘CD’,?,
2DUP(1,3)
 解: 
地址           数据        地址         数据

ARRAYB 3FH  42H  63H  41H  41H  44H  42H  43H  43H   ?  44H   ?   ?  01H   ?  00H   ?  03H  01H  00H  03H  01H  01H  00H  03H  03H  34H  00H  12H    05H    00H 
 详见(第):http://wenku.baidu.com/link?url=qsZFQz5TroamhrKfayFjS8LpwCAe5OC2O-V71JXkeud8FN3RkOa9M9DKunmrjhlBmVW9N4WnWukHNUSYGvU_Pt3dhIpDXpI9oCEt1o0nf9K

3.9,

程序中数据定义如下:
DATA1 DW ?
DATA2 DB 32DUP(?)
DATA3 DD ?
DLENGTH EQU $-DATA1
此时
DLENGTH的值是多少?
解:
DLENGTH=38=26

3.10,

程序中数据定义如下:
ARRAY DB ‘ABCDEF’ RESULT DB ?
TABLE DW 20 DUP(?)
则执行指令 MOV AX,TYPE RESULT后,AX=?
MOV BX,TYPE TABLE后,BX=? MOV CX,LENGTH TABLE后,CX=? MOV DX,LENGTH ARRAY后,DX=? MOV SI,SIZE TABLE后,SI=? MOV DI,SIZE ARRAY后,DI=?
解:
AX=1; BX=2; CX=20; DX=1;  SI=40; DI=1  


3.11
试按下列要求在数据段中依次书写各数据定义语句:
(1) 以DA1为首字节的连接存储单元中存放20H个重复的数据序列:2,3, 10   个4,一个7。
(2) DA2为字符串变量,用字变量(DW)设置一字符串;‘STUDENTS’(按  此顺序存放在各单元中)
(3) 用等值语句给符号COUNT赋值以DA1为首址的数据区共占有的字节数,此等值语句必须放在最后一语句。 解:
(1) DAT1 DB  20H  DUP (2,3,10 DUP (4),7) (2) DAT2 DW ‘TS’, ‘DU’ ,’NE’,’ST’ (3) COUNT  EQU  DATA2-DATA1


3.12

下面程序段是实现从键盘输入十个一位10进数后累加。最后累加和以非压缩BCD码形式存放在AH(高位)和AL(低位)中。试把程序段中所空缺的指令填上。
XOR BX,BX 

____
 LOP: MOV AH,01H  ;键盘字符输入
INT 21H
MOV AH,BH ADD AL,BL 

_______
 MOV BX,AX
解:
MOV  CX, 10

 AAA 

3.13 ,

下面程序段的功能是把DA1数据区的数0~9转换为对应的ASCII码。试完善本程序段。
DA1  DB OOH,O1H,02H,03H,04H,05H,06H,07H,08H,09H
ASCI DB 10 DUP(?)
CUNT=ASCI-DA1
    LEA SI,DA1
    LEA DI,ADCI      

    ______
    LOP1: MOY AL,[SI]

    ______
    MOV[DI],AL
    INC SI
    INC DI
    LOOP LOP1
解:
MOV  CX, COUT

ADD  AL, 30H


3.14

设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组内容的相互交换,试完善本程序。
 DATA SEGMENT
 A  DB1,2,3,4,5,6,7,8,9,0AH
     DRG OO10H
 B  DB 0AH,9,8,7,6,5,4,3,2,1
 DATA ENDS
  .....
 LEA SI,A
 LEA DO,B
  MOV CX,10
 LOP: LODSB
    XCHG AL,[DI]  

    ____
   DEC DI
   STOSB 

    _____
    INC D

    LOOP LOP
解:
XCHG  SI, DI XCHG  SI, DI

3.15,

编写一程序段,将AL中的第7和0位,第6和1位,第5和2位,第4和3位互换。 解:
MOV  CX, 8
          MOV  AH, 0
 K1:   SHR  AL, 1  

         RCL  AH, 1    

         DEC  CX   

         JNZ  K1
      MOV  AL,AH 

3.16

试编写一程序段,在CHAR为首址的26个字节单元中依次存放字母‘A’~‘Z’
解:
  MOV  AL, ‘A’
  MOV  DI, OFFSET  CHAR
  MOV  CX, 26
LOP:  MOV  [DI],  AL
      INC  AL       
      INC  DI     

LOOP  LOP

3.17,

可以参考http://wenku.baidu.com/link?url=qsZFQz5TroamhrKfayFjS8LpwCAe5OC2O-V71JXkeud8FN3RkOa9M9DKunmrjhlBmVW9N4WnWukHNUSYGvU_Pt3dhIpDXpI9oCEt1o0nf9K


4. 1. 用下列芯片构成存储系统,各需要多少个RAM芯片?需要多少位地址作为片外地址译码?设系统为20位地址线,采用全译码方式。

(1) 512×4RAM构成16KB的存储系统;

(2) 1024×1RAM构成128KB的存储系统;

(3) 2K×4RAM构成64KB的存储系统;

(4) 64K×1RAM构成256KB的存储系统;

解:

1) 需要16KB/512×4=64

片外地址译码需11位地址线。

2) 需要128KB/1K×1=1024

片外地址译码需10位地址线。

3) 需要64KB/2K×4=64

片外地址译码需9位地址线。

4) 需要256KB/64K×1=32

片外地址译码需4位地址线。

 

4. 2. 现有一种存储芯片容量为512×4位,若要用它组成4KB的存储容量,需多少这样的存储芯片?每块芯片需多少寻址线?而4KB存储系统最少需多少寻址线?

 4KB/ 512×4b= 16,需要16

      每片芯片需9条寻址线

4KB存储系统最少需12条寻址线

 

 
 
4. 3. 有- 2732EPROM 芯片的译码电路如图所示,请计算该芯片的地址范围及存储容量。

图习 51

2732的地址范围为

11111111000000000000~11111111111111111111=FF000H~FFFFFH

存储容量为4KB

4. 4. 某一存储器系统如图习52所示,回答它们的存储容量各是多少?RAMEPROM存储器地址分配范围各是多少?

:

EPROM的地址范围为FD000H~FDFFFH,存储容量为4KBRAM的地址范围为F9000H~F97FFHF9800H~F9FFFH,存储容量为2KB。由于A11未参加译码,因而有地址重叠,一个内存单元有2个地址对应。

 

4. 5. 使用6116273274LS138译码器构成一个存储容量为12KBROM00000H02FFFH)、8KBRAM03000H04FFFH)的存储系统。系统地址总线为20位,数据总线为8位。

:

 

 

4. 6. 8086CPU执行MOV2001HAX指令从取指到执行指令最少需要多少时间?设时钟频率为5MHZ,该指令的机器码为4个字节,存放在1000H2000H开始的4个单元中。

 

 
 
图习  5 2

:

在无等待周期的情况下,从取指到执行共需:

4×4×1/5M=3.2µs(一个总线周期在无等待周期的情况下由4个时钟周期T组成)

 

 
 
4. 7   图习 5-2.  为由 2 片静态 RAM 组成的微机系统存储器,此时芯片 #1 和芯片 #2 的地址范围和各自的存储总容量。

图习5-3

:

芯片#1的地址范围为:

  A19    ~   A14      A13   A12  A11  ~  A0

  ××××××     0    1    0   ~   0

  ××××××     0    1    1   ~   1

A19~A14为全“0”时,其地址范围为01000H~01FFFH

芯片#2的地址范围为:

A19    ~   A14      A13   A12  A11  A10    ~  A0

××××××     1    0    0    0   ~   0

××××××     1    0    0    1   ~   1

A19~A14为全“0”时,其地址范围为02000H~027FFH,芯片#1的存储容量4KB;芯片#22KB

 

 
 
4. 8.  用二片 8K × 8 位的静态 RAM 芯片 6264 组成的 8 位微机系统的存储器电路如图习 5-4 所示,试计算芯片 6264 #1 和  #2 的地址范围以及存储器的总容量。

图习5-4

: 

芯片 #1的的地址范围计算:

A19   ~  A15      A14   A13  A12  ~  A0

×××××     1    0    0   ~   0

×××××     1    0    1   ~   1

当无关项取“0”时,地址范围为04000H~05FFFH

芯片 #2的的地址范围计算:

A19   ~  A15      A14   A13  A12  ~  A0

×××××     0    1    0   ~   0

×××××     0    1    1   ~   1

当无关项取“0”时,地址范围为02000H~03FFFH。该存储器的总容量为16KB

 

4. 9. 微机系统的存储器由5RAM芯片组成,如图习5-5所示,其中U112 条地址线,8条数据线,U2~U5各有10条地址线,4条数据线,试计算芯片U1U2U3的地址范围,以及该存储器的总容量。

 
 
图习 5-5

解:

芯片 U1的的地址范围计算:

A19    ~   A14      A13   A12  A11  A10    ~  A0

 0    ~   0      0    1    0    0   ~   0

 0    ~   0      0    1    1    1   ~   1

地址范围为01000H~01FFFH

芯片 U2和U3的的地址范围计算:

A19    ~   A14      A13   A12   A11  A10    A9   ~  A0

 0    ~   0      1    0    0    0    0  ~   0

 0    ~   0      1    0    0    0    1  ~   1

地址范围为02000H~023FFH。总容量为6KBU1为4KBU2、U3为1KBU4、U5为1KB)。







  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值