北方工业大学微机原理期末复习.docx
《北方工业大学微机原理期末复习.docx》由会员分享,可在线阅读,更多相关《北方工业大学微机原理期末复习.docx(16页珍藏版)》请在冰豆网上搜索。
北方工业大学微机原理期末复习
第一章作业:
1.将下列十进制数转换为二进制数和十六进制数:
369;4095
171H101110001
FFFH111111111111
2.将下列二进制数转换为十六进制数和十进制数:
101101;10000000
2DH45
80H128
3.写出下列十进制数的BCD码
1234
1001000110100
4.下列各数为十六进制表示的8位二进制数,当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是?
D8;5A
带符号:
D8:
-40
5A:
38
无符号数:
D8:
216
5A:
90
5.下列各数为十六进制表示的8位二进制数,当它们分别被看作是用补码表示的数或用ASCII码表示的字符时,它们所表示的十进制数或字符是什么?
4F;73
4F:
79
BCD码不超过10;
正数的补码是本身。
负数的补码为除符号位外按位取反再加1。
负数的补码,后面的数值不表示原码的数值。
0-正数;1-负数
第二章作业:
1.8086CPU由哪两部分构成?
它们的主要功能是什么?
由执行部件EU以及总线接口部件BIU组成。
执行部件的功能是负责指令的执行。
总线接口部件负责cpu与存储器、I/O设备之间的数据(信息)交换。
2.叙述8086的指令队列的功能,指令队列怎样加快处理器速度?
在执行部件执行指令的同时,取下一条或下几条指令放到缓冲器上,一条指令执行完成之后立即译码执行下一条指令,避免了CPU取指令期间,运算器等待的问题,由于取指令和执行指令同时进行,提高了CPU的运行效率。
3.(a)8086有多少条地址线?
(b)这些地址线允许8086能直接访问多少个存储器地址?
(c)在这些地址空间里,8086可在任一给定的时刻用四个段来工作,每个段包含多少个字节?
共有20条地址线。
1M。
64k。
4.8086CPU使用的存储器为什么要分段?
怎样分段?
8086系统内的地址寄存器均是16位,只能寻址64KB;将1MB存储器分成逻辑段,每段不超过64KB空间,以便CPU操作。
5.8086与8088CPU微处理器之间的主要区别是什么?
(1)8086的外部数据总线有16位,8088的外部数据总线只有8位;
(2)8086指令队列深度为6个字节,8088指令队列深度为4个字节;
(3)因为8086的外部数据总线为16位,所以8086每个周期可以存取两个字节,
因为8088的外部数据总线为8位,所以8088每个周期可以存取一个字节;
(4)个别引脚信号的含义稍有不同。
6.(a)8086CPU中有哪些寄存器?
其英文代号和中文名称?
(b)标志寄存器有哪些标志位?
各在什么情况下置位?
(1)共14个寄存器:
通用寄存器组:
AX(AH,AL)累加器;BX(BH,BL)基址寄存器;CX(CH,CL)计数寄存器;DX(DH,DL)数据寄存器;
专用寄存器组:
BP基数指针寄存器;SP堆栈指针寄存器;SI源变址寄存器;DI目的变址寄存器;
FR:
标志寄存器;IP:
指令指针寄存器。
(2)8086CPU的标志寄存器共有9个标志位,分别是:
6个条件标志:
CF进位或借位标志;PF奇偶标志;AF辅助位标志;ZF零标志;SF符号标志;OF溢出标志;
3个控制标志:
中断允许标志;DF方向标志;TF陷阱标志。
7.为什么8086系统的AD0~AD15总线需要锁存器?
8.结合三总线结构思考8086计算机是如何运行的?
第三章作业:
1.已知BX=1000H,SI=2000H,DS=1000H,位移量D=2210H,试确定在以下各种寻址方式下的有效地址和物理地址。
1)直接寻址;2)使用BX的间接寻址;3)使用BX的寄存器相对寻址
4)使用BX和SI的基址变址寻址;5)使用BX和SI的相对基址变址寻址
有效地址,指的是存储器操作数在存储器中的偏移地址
1)无有效地址,物理地址为1000H;
2)有效地址1000H,物理地址为11000H;
3)有效地址3210H,物理地址为13210H;
4)有效地址3000H,物理地址为13000H;
5)有效地址5210H,物理地址为15210H。
2.试根据以下要求写出相应的汇编指令
1)把BX和DX的内容相加,结果存入DX中
2)用BX和SI的基址变址寻址方式把存储器中的一个字节与AL的内容相加,结果送回存储器中。
3)用BX和位移量为0B2H的寄存器相对寻址方式把存储器中的一个字和CX相加,结果送CX。
4)用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加结果送回存储器
5)把数0B5H与AL相加,并把结果送回AL
1)ADDDX,BX;
2)ADDBYTEPTR[BX][SI],AL;
3)ADDCX,WORDPTR0B2H[BX];
4)ADDWORDPTR[0524H],2A59H;
5)ADDAL,0B5H;
3.现有SS=3100H,DS=3000H,BX=0100H,SI=02H,30100H=12H,30101H=34H,30102H=56H,30103H=78H,31200H=2AH,31201H=4CH,31202H=0B7H,31203H=65H。
问在下列各条指令中源操作数属于哪种寻址方式?
物理地址是多少?
指令执行完后AX寄存器的内容是多少?
1)MOVAX,1200H
2)MOVAX,BX
3)MOVAX,[1200H]
4)MOVAX,[BX]
5)MOVAX,1100H[BX]
6)MOVAX,[BX][SI]
7)MOVAX,1100H[BX][SI]
8)MOVAX,SS:
[BX+SI+100H]
1)立即寻址(AX)=1200H
2)寄存器直接寻址,因为源操作数是寄存器,所以寄存器BX即为地址,(AX)=0100H
3)存储器直接寻址,物理地址=31200H,(AX)=2AH
4)寄存器间接寻址,物理地址=30100H,(AX)=12H
5)寄存器相对寻址,物理地址=31200H,(AX)=2AH
6)基址变址寻址,物理地址=30102H,(AX)=56H
7)相对基址变址寻址,物理地址=31202H,(AX)=0B7H
8)带跨越段前缀的相对基址变址寻址,物理地址=31202H,AX=0B7H
4.哪些寄存器可以用来指示存储器地址?
5.求出以下各16进制数与6660H的和,并根据结果设置标志位SF,ZF,CF,OF的值。
1)1234H;2)5678H;3)9090H;4)9D60H;
6.求出以下各16进制数与7A00H的差,并根据结果设置标志位SF,ZF,CF,OF的值。
1)1234H;2)5678H;3)9090H;4)AA04H;
7.在下列程序段中每条指令执行后,目的操作数与源操作数的内容为什么?
MOVAX,1234H
MOVCL,3
ROLAX,CL
DECAX
MOVCX,4
MULCX
(AX)=1234H;1234H
(CL)=3;3
(AX)=91A0H,(CL)=3;
(AX)=919FH;
(CX)=4;4;
8.假设DX=0E3H,变量CHAR中存放的内容为55H,确定下列各条指令执行后的结果。
1)XORDX,CHAR
2)ANDDX,CHAR
3)ORDX,CHAR
4)XORDX,0FFFFH
5)ANDDX,0
6)TESTDX,1
1)B6H;2)41H;3)FBH;4)FF1CH;5)0;6)E3H
9.设AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,用比较指令和条件转移实现以下判断:
1)若DX的内容大于CX的内容,则转去执行DXMAX;
2)若BX的内容大于AX的内容,则转去执行BXMAX;
3)若CX的内容等于零,则转去执行CXEQ0;
4)BX与AX的内容相比较,若溢出则转OVERFLOW;
5)若BX的内容小于等于AX的内容,则转BXNAX;
6)若DX的内容小于等于CX的内容,则转DXNCX;
1)CMPDX,CXJADXMAX
2)CMPBX,AXJGDXMAX
3)
4)
5)CMPBX,AXJLEBXNAX
6)CMPDX,CXJBEDXNCX
第四章作业
1.请将下列左边的项和右边的解释联系起来。
CPU保存当前栈顶地址的寄存器
存储器指示下一条要执行的指令的地址
堆栈存储程序、数据等信息的记忆装置,PC机有RAM和ROM两种
IP以“后进先出”方式工作的存储空间
SP把汇编语言程序翻译成机器语言程序的系统程序
状态标志唯一代表存储空间中每个字节单元的地址
控制标志能被计算机直接识别的语言
段寄存器用指令助记符、符号地址、标号等符号书写程序的语言
物理地址把若干个模块连接起来成为可执行文件的系统程序
汇编语言保存各逻辑段起始地址的寄存器,8086有4个:
DS,CS,SS,ES
机器语言控制操作的标志,8086有3位:
DF,IF,TF
汇编程序记录指令操作结果的标志,共6位:
OF,SF,ZF,AF,PF,CF
连接程序由汇编程序在汇编过程中执行的指令
指令告诉CPU要执行的操作及操作对象,在程序运行时执行
伪指令分析、控制并执行指令的部件
2.下列语句在存储器中各分配多少字节?
VR1DW9
VR2DW4DUP(?
),2
CONTEQU10
VR3DDCONTDUP(?
)
VR4DB2DUP(?
CONTDUP(0))
VR5DB‘HOWAREYOU’
2;10;0;40;22;11
3.完成下列要求的定义语句:
1)为某缓冲区BUFF预留100个字节的内存单元。
2)将字符串‘BYTE’、’WORD’存放在某数据区。
BUFFDB100DUP(?
)
DATDB‘BYTE’,‘WORD’
4.若数组ARRAY在数据段中已作如下定义:
ORG100H
ARRAYDW10,20,30,40,50,3
以下指令分别执行后,目的寄存器内容是多少?
MOVBX,OFFSETARRAY
MOVSI,0
ADDSI,[ARRAY+10]
(BX)=100H
(SI)=0
5.已知当前数据段有两个数分别为65H和FEH;
1)假定这两个是无符号数,写出两数相乘的指令,结果保留在AX中。
2)假定两个是带符号数,写出两数相除的指令,结果商保留在AL中,余数保留在AH中。
N1DB65H
N2DBFEH
MOVAL,N1
MULBYTEPTRN2
N1DB65H
N2DBFEH
MOVAL,N1
CBW
IDIVBYTEPTRN2
6.有变量定义语句如下:
BUFFDB1,2,3,’0123’
EBUFFDB0
LENGEQUEBUFF-BUFF
问LENG的值为多少?
7.设程序中的数据定义如下:
STRINGDB30DUP(?
)
LISTDB11H,22H,33H,45H
1)用一条MOV指令将STRING的偏移地址放入BX。
2)用一条指令将LIST的头两个字节的内容放入SI。
MOVBX,OFFSETSTRING
MOVSI,WORDPTRLIST
第五章作业
1.为什么要在CPU与外设之间设置接口?
外设种类繁多,工作方式各异,信号也是五花八门,速度更是高低不一,且大多远低于CPU的速度。
要想让CPU逐一地适应它们的工作方式,是不可能的。
索性CPU完全按自己固有的方式工作,由各式接口完成针对不同外部设备的适应,即CPU通过接口将信息传递给外设,外设也是通过接口将信息传递给CPU。
使CPU更专业。
2.微型计算机的接口一般具备哪些功能?
1).地址译码(I/O设备的选择)
2).信息的输入与输出(缓冲,锁存
3).信息的转换功能
4).联络和中断管理功能
5).可编程功能
6).错误检测功能
3.CPU和接口之间有哪几种传送信息的方式?
1.查询方式
2.中断方式
3.直接存储器存取(DMA)方式
第六章作业:
eg3.用一片8253完成以下控制LED亮、灭的任务:
1)控制一只LED间隔1ms被点亮,持续1ms后熄灭。
循环执行。
2)控制一只LED间隔1s被点亮,持续1s后熄灭。
循环执行。
3)控制一只LED间隔1小时被点亮,持续2s后熄灭。
循环执行。
已有条件:
CLK=2MHZ;端口地址308H,30AH,30CH,30EH
画出原理图,写出驱动程序
eg1.在8086系统中用了一片8253,如图所示,3通道使用同一输入时钟,频率为2MHz。
要求编写8253的初始化程序,完成如下功能:
1).利用T0,采用硬件触发,输出宽度等于时钟周期的单脉冲,定时常数为36H;
2).利用T1,输出频率为2KHz的方波;
3).利用T2,产生宽度为0.6ms的单脉冲
eg2、将如图所示的应用改用8253,完成该原理图并编写8253的驱动程序
eg2解:
第七章作业
1.可编程并行接口芯片8255A有哪几种工作方式?
其差别何在?
具有三种工作方式:
方式0:
基本输入/输出(A口、B口和C口):
无条件传送
方式1:
选通输入/输出(A口和B口):
有条件传送
方式2:
双向传输(A口):
有条件传送
2.可编程并行接口芯片8255A的编程命令有哪两个?
其命令格式及每位的含义如何?
编程命令有两个:
C口的按位置位/复位操作控制字(特征位D7=0);工作方式选择控制字(特征位D7=1).
3.给出按下述要求初始化8255A所需的模式设置控制字。
a)端口A选通输入;端口B选通输出;端口C的PC6,PC7用作输入端。
b)初始化端口A和端口B的中断请求所需的置位/复位控制字。
c)8255A端口A置为双向工作(允许中断)方式。
4.串行通信有什么特点?
与并行通信的主要区别是什么?
5.RS-232C总线的逻辑电平是如何定义的?
6.一终端以1200波特的速率发送异步串行数据,问:
a)发送一位需要多长时间?
b)假设8位数据位,1位奇偶位,1位停止位,发送一个字符需要多长时间?
7.8251A以9600波特的速率发送数据,当波特率系数为16时,发送时钟TxC的频率为多少?
eg1:
8255A用于驱动LED显示器
用PA端口和PC的高4位,采用“基本输入/输出”工作方式;
采用动态扫描方式驱动LED;
PC4~PC7用于决定哪一位有效;PA端口用于决定哪几段有效。
DATASEGMENT
LED_ADDRDB0C0H,0F9H,….
BUF_DATADB4DUP(?
)
_DATAENDS
_CODESEGMENT
ASSUMECS:
_CODE,DS:
_DATA
BEG:
MOVAX,_DATA
MOVDS,AX
┇
DISPLAYPROCNEAR
MOVDX,303H
MOVAL,80H;工作方式控制字
OUTDX,AL
MOVDI,OFFSETBUF_DATA
MOVCL,80H;位码,PC7=1
DISI:
MOVAL,[DI]
MOVBX,OFFSETLED_ADDR
XLAT
MOVDX,300H
OUTDX,AL;选通段
MOVAL,CL
MOVDX,302H
OUTDX,AL;选通位
CMPCL,10H;完成一次扫描?
JZQUIT
INCDI
SHRCL,1
JMPDISI
QUIT:
RET;完成一次显示(4位)
DISPLAYENDP
_CODEENDS
ENDBEG
第十章作业、
MOVDX,300H
MOVAL,0H
ROTE:
DECAL
OUTDX,AL
MOVCX,65535
DELA:
LOOPDELA
JMPROTE
作业:
重新设计上述应用:
地址译码器:
班级加学号;倒锯齿;矩形波;三角波
怎样调节Vm的大小?