微机原理与汇编语言复习题DOC.docx
《微机原理与汇编语言复习题DOC.docx》由会员分享,可在线阅读,更多相关《微机原理与汇编语言复习题DOC.docx(14页珍藏版)》请在冰豆网上搜索。
微机原理与汇编语言复习题DOC
第一章复习题
一、填空题
1、微机系统由(硬件系统)和(软件系统)两部分组成。
2、总线按传输的信息种类可分成(数据)、(地址)和(控制)三种。
3、模型机CPU主要由(运算器)、(控制器)和(寄存器)三部分组成。
4、指令格式通常由(操作码)和(操作数)组成。
5、指令的执行分(取指)和(执指)两个阶段。
6、8086有(20)位地址线,存储器容量为(1M)B。
二、名字解释
1、PC:
程序计数器2、CACHE:
高速缓冲存储器
2、FLAGS:
标志寄存器3、ALU:
算术逻辑运算单元
4、ID:
指令译码器
三、问答题
1、微机中各部件的连接采用什么技术?
为什么?
解答:
现代微机中广泛采用总线将各大部件连接起来。
有两个优点:
一是各部件可通过总线交换信息,相互之间不必直接连线,减少了传输线的根数,从而提高了微机的可靠性;二是在扩展计算机功能时,只须把要扩展的部件接到总线上即可,十分方便。
2、微机系统的总线按信息种类可以分成哪三种?
数据总线地址总线控制总线
3、微机系统的主要性能指标(四种)?
解答:
字长、主频、内存容量、指令系统
4、模型机有哪些寄存器,以及作用?
解答:
通用寄存器组:
可由用户灵活支配,用来存放参与运算的数据或地址信息。
地址寄存器:
专门用来存放地址信息的寄存器。
程序计数器:
它的作用是指明下一条指令在存储器中的地址。
指令寄存器:
用来存放当前正在执行的指令代码
指令译码器:
用来对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号
5、请举例8、16、准16、32、准32位CPU芯片型号。
解答:
8085:
8位;8086:
16位;8088准16位;
80386DX:
32位;80386SX:
准32位
第二章典型微处理器
1、8086CPU内部组成结构从功能上讲,可分为__BIU_____和___EU______两部分。
2、8086/8088的四个段寄存器为___DS_____、___ES_____、___SS____、__CS_______
3、用来存放CPU状态信息的寄存器是_____FLAGS______。
4、用来存放指令地址的寄存器是——IP———。
5、AX寄存器可分成____AH___和___AL____两个8位寄存器。
6、8086的16位标志寄存器FLAGS中OF=1表示运算结果___溢出____,ZF=1表示运算结果为零。
PF=0表示运算结果的低8位中1的个数为___奇数____。
7、8086的16位标志寄存器FLAGS中IF=1表示CPU____允许___中断,TF=1表示CPU进入___单步____工作方式。
8、一般一个总线周期可分为___T1____、___T2____、__T3_____和_____T4__状态。
9、8086CPU的1M内存由__两_____块512KB存储体组成。
10、地址4000H:
0300H,其物理地址是___40300H____,段地址是_4000H______,偏移地址是___0300H____________。
11、11、8086存储器管理采用__分段管理_____技术。
12、12、8086CPU引脚信号中中断请求两个信号名称为____INT__和___NMI____。
13、8086CPU信号中控制地址锁存器信号是__8282_____。
14、8086CPU信号中控制数据收发器的信号是__8286_____。
15、8086信号中区分存储器和I/O操作的信号是___M/IO____。
1、目的变址寄存器是(B)。
A)SIB)DIC)SPD)BX
2、用来存放即将执行的指令的偏移地址的寄存器是(B)。
A)SPB)IPC)BPD)CS
3、用来存放运行结果状态的寄存器为(C)操作。
A)SPB)SIC)FLAGSD)DX
4、TF=1表示CPU工作于(A)方式。
A)单步B)连续
5、微机中控制总线传送的是(D)。
A)存储器和I/O接口的地址码
B)微处理器向内存储器和I/O接口传送的命令信号
C)存储器和I/O设备向微处理器传送的状态信号
D)B和C
6、8086CPU引脚MN/MX接电源电压时,表示系统工作于(A)。
A)最小模式B)最大模式
2、8086/8088CPU的RD、M/IO引脚上为逻辑0时,意味着(C)操作。
A)读存储器B)写存储器C)读I/O端口D)写I/O端口
7、Intel8282的作用是(A)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
8、Intel8284的作用是(B)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
9、Intel8286的作用是(D)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
10、Intel8288的作用是(C)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
1、MMU:
内存管理单元
2、ClockCycle:
时钟周期
3、BusCycle:
总线周期
4、ALE:
地址锁存允许
5、IP:
地址指针
6、BIU:
总线接口单元
7、EU:
执行单元
8、NMI:
不可屏蔽中断
9、ALE:
地址锁存允许
10、CS:
CHIPSELECT
11、DEN:
DATAENABLE
12、INTA:
中断响应
1、8086CPU的内部结构由哪两部分组成,各组成部件又有哪些部件组成、功能是什么?
解答:
8086CPU内部结构由BIU\EU两部分组成.
(1)EU的组成和各组成部件功能如下:
算术逻辑运算单元:
用于8位/16位二进制算术和逻辑运算.
通用寄存器组
用来存放操作数或操作数的地址
标志寄存器
用来存放反映CPU运算的状态特征和存放某些控制标志
数据暂存器
协助ALU完成运算,暂存参加运算的数据
(2)BIU的组成和各组成部件功能
地址加法器:
用来形成20位物理地址
段寄存器:
用来存放段的基值
IP:
存放下一条指令的地址
指令队列缓冲器:
用来存放预取的指令
总线控制逻辑:
:
将内部总线和外部总线相连.
、简述物理地址和逻辑地址的概念以及它们的关系?
请举例说明用来形成物理地址的“段+偏移”机制。
3、什么叫总线周期,为什么要插入等待周期?
插在何处?
4、简述8086的寄存器结构(有哪些寄存器),各有什么用途?
5、8086/8088为什么采用地址/数据复用技术?
8086有哪些管脚是复用的?
6、简述一般存储器读操作涉及的信号并画出时序图。
7、结合8086最小模式下总线操作时序图,说明ALE、M/IO、DT/R、READY信号的功能?
存储器与接口
1、半导体存存储器按使用功能分为__随机存取存储器(RAM)_________和_只读存储器(ROM)_________两种。
2、MOSRAM可分为__静态_RAM___和___动态RAM___。
3、地址译码方式有__单译码方式____和__双译码方式_____两种。
4、存储器扩充有__位扩充____、_字扩充______和___字位扩充____三种扩展法。
5、存储器与CPU之间的连接有__地址总线____、_数据总线_____和__控制总线____3组连接线。
1.以下存储器件,若存有数据,当掉电时,(C)存储器件能保留原有数据?
A)磁芯存储器
B)RAM
C)ROM
2、下列按块擦除的是(D)存储器。
A)EPROMB)EEPROMC)PROMD)FLASH
1、设有一个具有13位地址和8位字长的存储器,问:
(1)存储器能存储多少字节信息?
8b字长=1B13位地址=8K8KB
(2)如果存储器由1K*4bRAM芯片组成,共需要多少片?
8*8除1K*4bRAM=16
(3)需要哪几个高位地址做片选译码来产生片选信号?
A10~A12
2、下列RAM芯片各需多少条地址线进行寻址?
多少条数据线?
(1)512*4b9,4
(2)2K*1b11,1(3)1K*8b10,8
(4)256K*4b8,4
3、何谓静态存储器?
何谓动态存储器?
比较两者的不同点?
答:
静态存储器是由MOS管组成的RS触发器作为基本存储电路来存储信息,而动态存储器是以MOS管栅极电容cg是否有电荷来存储信息的.静态存储器的存取速度较高,动态存储器的集成度较高,功耗较低,并需要定时1-2ms刷新.
4、若要扩充1KBRAM(用2114芯片),规定地址为8000H—83FFH,地址线应如何连接?
5、若要用2114芯片扩充2KBRAM,规定地址为4000H-47FFH,地址线应该如何连接?
第五讲寻址方式与指令系统
1、I/O端口的寻址方式有两种,分别是___直接端口寻址________,_间接端口寻址____________。
2、指令MULBX隐含的被乘数寄存器是____AX_______,
指令LOOPNEXT的循环次数必须存放在
___CX_________寄存器中。
3、指令JONEXT表示OF=__1______时转移。
4、将I/O设备端口内容读入AL中的指令助记符是__IN_________。
5、8086CPU的I/O指令采用间接寻址时,使用的间接寄存器是___DX_____。
6、设置IF=1的指令为____STI____。
7、清除CF标志的指令为____CLC____。
8、一对操作堆栈的指令为__PUSH______和_____POP___。
9、LOOPNZ的循环条件为___ZF=0且CX!
=0_____。
10、指令LOOPNEXT的循环次数必须存放在_____CX________寄存器中。
11、DIVBX指令的被除数隐含的寄存器为___AX_____和___DX_____,存放商的寄存器为__AX______,存放余数的寄存器为_____DX____。
12、实现无符号数乘2的指令的助记符是___SHL_____,实现有符号数除2的指令的助记符是___SAR_____。
13、中断调用指令的助记符是___INT_____,中断返回指令的助记符是__IRET_____。
14、子程序调用指令的助记符是__PROC______,子程序返回指令的助记符是__RET______。
1.下列叙述正确的是(C)
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令
B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令
C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令
D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令
2.在下列指令的表示中,不正确的是(C)
A.MOV AL,[BX+SI]
B.JMP SHORT DONI
C.DEC 100
D.MUL CL
5.下列指令执行时出错的是(B)
A.ADD BUF1,BUF2
B.JMP DWORD PTR DAT [BX]
C.MOV AX,[BX+DI] NUM
D.TEST AL,08H
6.已知(AX)=1234H,执行下述三条指令后,(AX)=(D)
MOV BX,AX
NEG BX
ADD AX,BX
A.1234H
B.0EDCCH
C.6DCCH
D.0000H
7.在下列指令中,_D_____指令的执行会影响条件码中的CF位。
A.JMP NEXT
B.JC NEXT
C.INC BX
D.SHL AX,1
8.将DX的内容除以2,正确的指令是(C)
A.DIV 2
B.DIV DX,2
C.SAR DX,1
D.SHL DX,1
9.若栈顶的物理地址是20100H,当执行完POPAX指令后,栈顶的物理地址是(A)。
A)20102HB)20101HC)20100HD)20103H
10.下列指令中,源操作数的寻址方式中,(C)属于立即寻址,
(B)属于寄存器寻址,(E)属于寄存器间接寻址,
(A)属于直接寻址,(D)属于寄存器相对寻址。
A)MOVAX,[4000H]B)MOV[BX],AX
C)SUBAX,2000HD)MOVAX,[SI+12H]
E)MOVCX,[BX]F)MOVAX,[SI+BX+10H]
11.下列指令中错误指令是(B)、(E)和(F)。
A)MOVAX,DSB)MOVCS,1500H
C)MOVSI,BXD)MOV[3000H],AL
E)MOV[DI+32H],[1845H]
F)MOVAL,1000H
12.JMPWORDPTR[BX]的目标地址偏移量是(B)
A)BX的内容B)BX所指向的内存字单
元之内容
C)IP+BX的内容D)IP+[SI]
13.指令LOOPNZ的循环结束条件是(D)。
A)CX=0且ZF=0B)CX=0或ZF=0
C)CX=0且ZF=1D)CX=0或ZF=1
14、指令CALLDWORDPTR[BX]目标地址的寻址方式为D
A)段内直接B)段内间接C)段间直接D)段间间接
三、简答题
1.假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。
(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL
2.写出完成下述功能的指令:
(1)传送25H到AL寄存器
(2)将AL的内容乘以2
(3)AL的内容乘以BL的内容
(4)测试AL最低位是否为1
(5)把AL内容变成对应的ASCII
(6)截取AL的低4位
(7)交换AX、BX的内容。
1、限用三条指令实现将DA1和DA2二个字节存储单元的内容进行交换。
MOVAX,DA1
MOVAX,DA2
MOVAX,DA1
2、编写统计连续存储区10个数据(变量名DATA)中奇数、偶数的个数。
第四章汇编语言程序设计
1、用汇编语言编写的源程序不能直接为计算机所识别和执行,它首先必须需要将汇编语言源程序____汇编_______成目标文件,再经过_____连接_____生成可执行文件后才能执行。
2、变量/标号的三个属性是_____段属性_________,____偏移属性__________,_____类型属性_______。
3、DEBUG命令中,反汇编命令的英文字母为__U____,显示内存命令的英文字母为__D______,跟踪执行命令的英文字母为___T_____,显示和修改寄存器的命令___R_____,汇编命令是____A____。
4、定义子程序的一对伪指令助记符是_Proc_____、__endp____。
5、有一变量DAT1,取变量DAT1的段地址属性值的运算符号为__SEG______,取变量DAT1的偏移地址属性值的运算符号为____OFFSET____。
1.语句DA1DB2DUP(4,6),5汇编后,与该语句功能等同的语句是
(C)。
A)DA1DB4,6,5
B)DA1DB2,4,6,5
C)DA1DB4,6,4,6,5
D)DA1DB4,6,5,4,6,5
2、对于语句YDW10DUP(0),则TYPEY为(A)、LENGTHY为(B),SIZEY为(C)。
A)2B)10C)20D)4
1、定义数据段,段中内容符合下列要求:
(1)TAB定义了一个十六进制字符表
(2)BUF定义了一个10字节的存储区,初值为0
(3)X定义了一个字存储区
(4)K定义了一个常数10
2、有一缓冲区BUF,其中有10个数据,写出将此十个数据取出并相加的程序段。
1、分析以下程序段:
SUMDW?
……..
……...
MOVAX,0
MOVCX,10
LP:
ADDAX,CX
DECCX
JNZLP
MOVSUM,AX
(1)以上程序段的功能是什么?
计算1~10的和
(2)程序段执行完后,变量SUM为多少?
37H
2、有程序段如下:
DAT1DB“ABCDEFGHIJ”
DAT2DB10DUP(?
)
…………
LEASI,DAT1
LEADI,DAT2
MOVCX,DAT2-DAT1
ADDSI,CX
DECSI
NEXT:
MOVAL,[SI]
MOV[DI],AL
DECSI
INCDI
DECCX
JNZNEXT
(1)以上程序段的功能是什么?
将字符算翻转
(2)程序段执行完后,从DAT2开始的前3个存储单元的内容是什么?
JIH
下面是将内存一字节数据高四位和低四位互换并放回原位置的程序,其中有7个语句中有错误,请找出错误的地方并改正。
第1行DATASEGMENT
第2行DD1DB23H
第3行DATAENDM
第4行CODESEGMENT
第5行ASSUMECS:
CODE,DS:
DATA
第6行STARTMOVAX,DATA
第7行MOVDS,AX
第8行LEASI,OFFSETDD1;取变量DD1的偏移地址
第9行MOVAL,[SI]
第10行MOVDL,4;设置移位次数
第11行RCRAL,CL;循环右移4次
第12行MOV[SI],AL
第13行MOVAH,4CH
第14行INT21H
第15行CODEENDP;代码段结束
第16行ENDBEGIN
1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
2、编写一个完整的汇编语言程序,实现10以内奇数相加。