




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三、选择题
1、在计算机内部,一切信息的存取、处理和传送都是以D形式进行的。
A)EBCDIC码B)ASCII码C)十六进制编码D)二进制编码
2、与十进制数56等值的二进制数是一A。
A)111000B)111001C)101111D)110110
四、是非判断题
1、在第三代计算机期间出现了操作系统。(V)
2、对于种类不一样的计算机,其机器指令系统都是相似的。(X)
3、在计算机中,数据单位bit的意思是字节。(X)
1.微处理器,微型计算机和微型计算机系统三者之间有何区别?
答:微处理器即CPU,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功
能,是微型计算机的关键:一台微型计算机由微处理器、内存储器、I/O接口电路以及总线构成;微型计算机系统则包
括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重
要构成部分,而微型计算机系统又重要由微型计算机作为其硬件构成,
2.CPU在内部构造上由哪几部分构成?CPU应具有哪些重要功能?
答:CPU在内部构造上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其重要功能是完毕多种算数及逻辑
运算,并实现对整个微型计算机控制,为此,其内部又必须具有传递和暂存数据的功能。
3.累加器和其他通用寄存器相比有何不一样?
答:累加器是通用寄存器之一,但累加器和其他通用寄存器相比又有其独特之处。累加器除了可用做通用寄存器寄存
数据外,对某些操作,一般操作前累加器用于寄存一种操作数,操作后,累加器用于寄存成果。
4.微型计算机的总线有哪几类?总线构造的特点是什么?
答:微型计算机的总线包括地址总线、数据总线和控制总线三类,总线构造的特点是构造简朴、可靠性高、易于设计
生产和维护,更重要的是便于扩充。
6.计算机I/O接口有何用途?试列出8个I/O接口。
答:计算机I/O接口是连接计算机和外部设备的纽带和桥梁,它重要用于协调和控制计算机与外设之间的信息流通和
互换。例如:串行通讯口(COM口)、并行打印机口、软盘驱动器接口、硬盘驱动瑞接口、光驱接口、显示屏接口、
音响设备接口、其他通用设备接口(USB,SCSI等)。
7.目前,计算机主板上一般都包括哪些I/。接口?I/O接口卡怎样与主板相连?
答:目前,计算机主板上一般包括串行通讯口、并行打印口、软盘驱动器接口、硬盘驱动器接口、光驱接口、USB接
口等。象显示屏适配器、网卡、modem卡等I/O接口卡一般通过总线插槽与主板相连。
8.简述系统总线,AGP总线,PCI总线及ISA总线的作用。
答:系统总线是CPU与存储器及桥接器之间传递信息的通道,AGP总线专门用与连接CPU与显示屏适配器,PCI总
线一般用于连接某些高速外设接口作为高速外设与CPU或内存互换信息的通道,而ISA总线一般用于连接某些非高速
外设接口作为非高速外设与CPU或内存互换信息的通道.
9.试阐明计算机顾客,计算机软件,计算机硬件三者的互相关系。
答:计算机顾客,计算机软件系统,计算机硬件系统共同构成一种计算机应用系统,三者在该系统中处在三个不一样
的层次。计算机顾客处在最高层,计算机软件处在中间层,计算机硬件系统处在最下层。在这里计算机顾客是系统的
主宰,他们通过软件系统与硬件系统发生关系,指挥计算机硬件完毕指定的任务。即,计算机顾客使用程序设计语言
编制应用程序,在系统软件的干预下使用硬件系统进行工作。
11.存储单元的选择由什么信号控制?读、写靠什么信号辨别?
答:存储单元的选择由地址信号控制,而对存储单元进行读操作还是写操作则要靠读、写信号辨别C
4.若用一种字节来表达带符号数,判断下列各运算在机内进行时与否会产生溢出,写出判断过程。
A.5BH+32H;B.-08H-15H;C.-51H+(-3DH);D.2DH+3CH
答:A.产生溢出,5BH=01011011B其补码表达的机器数为:01011011
32H=00110010B其补码表达的机器数为:00110010
相加的成果为:10001101
数值最高位向符号位进位,但符号位向前无进位,故产生溢出。
B.不产生溢出,-08H=-00001000B其补码表达的机器数为:11111000
-15H=-00010101B其补码表达的机器数为:11101011
相加的成果为:
数值最高位向符号位进位,符号位同步也向前进位,故不产生溢出.
C.产牛.溢出,-51H=-01010001B其补码表达的机器数为:10101111
-3DH=-00111101B其补码表达的机器数为:11000011
相加的成果为:
数值最高位向符号位无进位,但符号位向前进位,故产生溢出.
D.不产生溢出,2DH=00101101B其补码表达的机器数为90101101
3CH=00111100B其补码表达的机器数为:00111100
相加的成果为:01101001
数值最高位向符号位无进位,符号位向前也无进位,故不产生溢出。
6.详细论述总线缓冲器的作用。
答:总线缓冲器的作用重要是控制各路数据在总线上的交叉传送防止互相冲突,当几路数据都要向总线上传送时,就
通过各路的缓冲器来处理,当一路传送时,缓冲器使其他各路数据与总线断开。
7.锁存器和寄存器有什么不一样?
答:锁存器与寄存器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变
化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,
只有当锁存器信号抵达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。
1.8086从功能上提成了EU和BIU两部分。这样设计的长处是什么?
答:传记录算机在执行程序时,CPU总是相继地完毕取指令和执行指令的动作,即,指令的提取和执行
是串行进行的。而8086CPU在功能上.提成了EU和BIU两部分,BIU负责取指令,EU负责指令的执行,
它们之间既互相独立又互相配合,使得8086可以在执行指令的同步进行取指令的操作,即实现了取指
令和执行指令的并行工作,大大提高了CPU和总线的运用率,从而提高了指令的处理速度。
2.8086CPU中地址加法器的重要性体目前哪里?
答:地址加法器是8086CPU的总线接口单元中的一种器件,在8086存储器分段组织方式中它是实现存
储器寻址的一种关键器件,地址加法器将两个16位寄存器中的逻辑地址移位相加,得到一种20位的实
际地址,把存储器寻址空间从64K扩大到1M,极大地扩大了微型计算机的程序存储空间,从而大大提高
了程序运行效率。
3.8086CPU中有哪些寄存器?分组阐明用途。哪些寄存器用来指示存储器单元的偏移地址?
答:8086CPU中有8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI;两个控制寄存器IP、FL;四个
段寄存器CS、DS、SS、ESo8个通用寄存器都可以用来暂存参与运算的数据或中间成果,但又有各自的
专门用途。例如,AX专用做累加器,某些指令指定用它寄存操作数和运算成果;CX为计数寄存器,在
某些指令中做计数器使用;DX为数据寄存器;BX为基址寄存器,BP为基址指针,SI为源变址寄存器,
DI为目的变址寄存器,这4个寄存器在数据寻址中用来寄存段内偏移地址(有效地址)或段内偏移地址
的一部分;SP为堆栈指示器,用来寄存栈顶有效地址。两个控制寄存器用来寄存有关的状态信息和控制
信息。例如,标志寄存器FL用来寄存状态标志和控制标志;而指令指针用来寄存下一条要取指令的有
效地址。四个段寄存器用来寄存段地址。例如,CS寄存器用来寄存代码段的段地址;DS寄存器用来寄
存数据段的段地址;SS寄存器用来寄存堆栈段的段地址;ES寄存器用来寄存扩展段的段地址。
4.8086系统中存储器的逻辑地址由哪两部分构成?物理地址由何器件生成?怎样生成?每个段的逻辑
地址与寄存器之间有何对应关系?
答:8086系统中存储器的逻辑地址由段地址(段首址)和段内偏移地址(有效地址)两部分构成;存储
单元的物理地址由地址加法器生成,寻址时,CPU首先将段地址和段内偏移地址送入地址加法器,地址
加法器将段地址左移4位并与段内偏移地址相加,得到一种20位的物理地址。数据段的段地址在DS寄
存器中,段内偏移地址也许在BX、BP、SI或DI寄存器中。代码段的段地址在CS寄存器中,段内偏移
地址在IP寄存器中。堆栈段的段地址在SS寄存器中,段内偏移地址在SP寄存器中。扩展段的段地班
在ES寄存器中,段内偏移地址也许在BX、BP、S1或DI寄存器中。
5.设CPU中各有关寄存器的目前状况为:SS=0a8bH、DS=17ceH、CS=dc54H、BX=394bH、IP=2f39H、SP=1200H,
BX给出的是某操作数的有效地址,请分别写出该操作数、下一条要取的指令及目前栈顶的逻辑地址和
物理地址。
答:该操作数的逻辑地址为DS:BX=17CE:394BH,物理地址二17CEH*10H+394BH=1B62BH;下一条要取的
指令的逻辑地址为CS:1P二DC54:2F39H,物理地址二DC54H*10H+2F39I仁DF479H;目前栈顶的逻辑地址二SS:
SP=0A8E:1200H,物理地址=0A8BE*10H+l200H=0BAB0H。
6.若DS=157DH时,某操作数的物理地址是215FAH,当DS=18DEH时,该操作数的物理地址是多少?
答:该操作数的段内偏移地址二该操作数的物理地址-DS=215FAHT57D0H=BE2AH,故当DS=18DEH时,该
操作数的物理地址二DS*10H+BE2AH=18DE0H+BE2AH=24C0AH
7.设AX=2875H、BX=34DFH、SS=1307H>SP=8H,依此执行PUSHAX、PUSHBX、POPAX、POPCX后栈顶
指针变为多少?AX=?BX=?CX=?
答:目前栈顶指针=SS*10H+SP=13070H+8H=13078H,依此执行PUSHAX、PUSHBX、POPAX、POPCX后栈
顶指针仍为13078H。但AX-34DFH,BX-34DFH,CX_2875Ho
1.假定(BX)=637DH,(SI)=2A9BH,位移量D=3237H,试确定在如下多种寻址方式下的有效地址是
什么?
(1)立即寻址
(2)直接寻址
(3)使用BX的寄存器寻址
(4)使用BX的间接寻址
(5)使用BX的寄存器相对寻址
(6)基址变址寻址
(7)相对基址变址寻址
答:(1)立即数寻址的有效地址是目前IP的内容;
(2)直接寻址,若使用位移量D=3237H进行,则有效地址为3237H;
(3)使用BX的寄存器寻址时,操作数在BX寄存器中,因此无有效地址;
(4)使用BX的间接寻址时,有效地址在BX寄存器中,即有效地址=637DH;
(5)使用BX的寄存器相对寻址的有效地址=(BX)+D=637DE+3237H=95B4H;
(6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BE=8E18H;
(7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H;
2.写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。规定使用如下几种寻址方式:
(1)寄存器间接寻址
(2)寄存器相对寻址
(3)基址变址寻址
答:(1)使用寄存器间接寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为:
MOVBX,BLOCK
ADDBX,12
MOVDX,[BX]
(2)使用寄存器相对寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为:
MOVBX,BLOCK
MOVDX,[BX+12]
(3)使用基址变址寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为:
MOVBX,BLOCK
MOVST,12
MOVDX,[BX+SI]
3.既有(DS)=H,(BX)=0100H,(SI)=0002H,(0H)=12H,(1H)=34H,(2H)=56H,(3H)=78H,(21200H)=2AH
(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试阐明下列各条指令执行完后AX寄存器的内容。
(1)MOVAX,1200H
(2)MOVAX,BX
(3)MOVAX,[1200H]
(4)MOVAX,[BX]
(5)MOVAX,[BX+11OO]
(6)MOVAX,[BX+SI]
(7)MOVAX,[BX+SI+11OO]
答:(1)指令MOVAX,1200H执行完后AX寄存器的内容为1200H;
(2)指令MOVAX,BX执行完后AX寄存器的内容为0100H;
(3)指令MOVAX,[1200H]是将从物理地址二(DS)*10卜什12001仁21200H开始的两个单元内容送AX,
执行完后AX寄存器的内容为4C2AH;
(4)指令MOVAX,[BX]是将从物理地址=(DS)*10H+(EX)=OH开始的两个单元内容送AX,故执行
完后AX寄存器的内容为3412II;
(5)指令MOVAX,[BX+11OO]是将从物理地址=(DS)*10H+(BX)+H00H=21200H开始的两个单元
内容送AX,故执行完后AX寄存器的内容为4c2AH;
(6)指令MOVAX,[BX+SI]是将从物理地址二(DS)*10H+(BX)+(SI)=2H开始的两个单元内容送
AX,故执行完后AX寄存器的内容为7856H;
(7)指令MOVAX,[BX+SI+UD0]是将从物理地址二(DS)*10H+(BX)+(SI)+11ODH=21202H开始
的两个单元内容送AX,故执行完后AX寄存器的内容为65B7E;
4.假设已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=OOAOH,(BX)=0100H,(BP)=001OH,数据段中变
量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?
(1)MOVAX,OABH(2)MOVAX,BX
(3)MOVAX,[100H](4)MOVAX,VAL
(5)MOVAX,[BX](6)MOVAX,ES:[BX]
(7)MOVAX,[BP](8)MOVAX,[SI]
⑼MOVAX,[BX+10](10)MOVAX,VAL[BX]
(11)MOVAX,[BX][SI](12)MOVAX,[BP][SI]
答:(1)在指令MOVAX,OABH中,源操作数字段的寻址方式是立即数寻址,其物理地圮值=(CS)*10H+
(IP);
(2)在指令MOVAX,BX中,源操作数字段的寻址方式是寄存器寻址,操作数在BX中,无物理地址;
(3)在指令MOVAX,F100H1中,源操作数字段的寻址方式是直接寻址,其物理地址侑=(DS)*10H+100
=290001:+10011=29100;
(4)在指令MOVAX,VAL中,源操作数字段的寻址方式是直接寻址,其物理地址值二(DS)*10H+50H
=29000E+50H=29050H;
(5)在指令MOVAX,[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值二(DS)
*10H+(BX)=29000H+100H=29100H;
(6)在指令MOVAX,ES:[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值;(ES)
*10H+(BX)=21000H+100H=21100E;
(7)在指令MOVAX,[BP]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值二(SS)
*10H+(BP)=15000H+10H=15010E;
(8)在指令MOVAX,[SI]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值二(DS)
*10H+(SI)=29000H+0A0H=290AQH;
(9)在指令MOVAX,[BX+10]口,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值二(DS)
*10H+(BX)+0AH=29000H+100H+0AH=2910AH;
(10)在指令MOVAX,VAL[BX]中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值-(DS)
*10H+(BX)+50H=29000H+100H+50H=29150H;
(11)在指令MOVAX,[BX][S1]中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(DS)
*10H+(BX)+(ST)=29000H+10QH+0A0H=291A0H;
(12)在指令MOVAX,[BP][SI]中,源操作数字段的寻址方式是基址变址寻址,其物理地址值二(SS)
*10H+(BP)+(SI)=15000H+10H+0A0H=150B0H
5.分别指出下列指令中的源操作数和目的操作数的寻址方式。
(1)MOVSI,200
(2)MOVCX,DATA[SI]
(3)ADDAX,[BX+DI]
(4)ANDAX,BX
(5)MOV[SI],AX
(6)PUSHF
答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻址;
(2)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址;
(3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;
(4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;
(5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;
(6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;
6.试述指令MOVAX,H和MOVAX,DS:[H]的区别。
答:指令MOVAX,H是将立即数H送AX寄存器,而指令MOVAX,DS:[H]是将DS段有效地址为H的两个
单元的内容送AXo
7.写出如下指令中内存操作数的所在地址。
(1)MOVAL,[BX+5]
(2)MOV[BP+5],AX
(3)INCBYTEPTR[SI+31
(4)MOVDL,ES:[BX+DI]
(5)MOVBX,[BX+SI+2]
答:(1)指令MOVAL,[BX+5]中内存操作数的所在地址=(DS)*10H+(BX)+5;
(2)指令MOV[BP+5],AX中内存操作数的所在地址二(SS)*10H+(BP)+5和(SS)*10H+(BP)+6:
(3)指令INCBYTEPTR[SI+3]中内存操作数的所在地址=(DS)+(ST)+3;
(4)指令MOVDL,ES:[BX+DI]中内存操作数的所在地址二(ES)*1011+(BX)+(DI);
(5)指令MOVBX,[BX+SI+2]中内存操作数的所在地址二(DS)*10H+(BX)+(SI)+2和(DS)*10H+
(BX)+(SI)+3;
8.判断下列指令书写与否对的,如有错误,指出错在何处并用对的的程序段(一条或多条指令)实现原
错误指令((8)、(13)除外)期望实现的操作。
(1)MOVAL,BX(9)MOVES,3278H
(2)MOVAL,SL(10)PUSHAL
(3)INC[BX](11)POP[BX]
(4)MOV5,AL(12)MOV[1A8H],23DH
(5)MOV[BX],[SI](13)PUSHIP
(6)MOVBL,F5H(14)MOV[AX],23DH
(7)MOVDX,H(15)SHLAX,5
(8)POPCS(16)MULAX,BX
答:(1)MOVAL,BX错,源操作数为字类型,目的操作数为字节类型,两者不一致。应改为:MOVAX,BX
或MOV/\L,BL;
(2)MOVAL,SL借,SI寄存器不能分为高8位和低8位使用,即没有SL寄存器。应改为:MOVAX,SI
(3)INC[BX]错,未指定操作数的类型。应改为:INCBYTEPTR[BX]
(4)MOV5,AL错,目的操作数使用了立即数,在指令中一般不容许。应改为:MOVDS:[5],AL
(5)MOV[BX],[SI]错,源操作数和目的操作数均为内存单元,不容许。
应改为:MOVAX,[SI]
MOV[BX],AX
(6)MOVBL,F5H错,源操作数错,以A〜F开头的数字前应加0。应改为:MOVBL,0F5H
(7)MOVDX,H对的。
(8)POPCS错,不能将栈顶数据弹至CS中。
(9)MOVES,327811错,立即数不能直接送ES寄存器。
应改为:MOVAX,3278H
MOVES,AX
(10)PUSHAL错,栈操作不能按字节进行。应改为:PUSHAX
(11)POP[BX]对的。
(12)MOV[1A811],23D11错,源操作数是立即数,目的操作数必须使用寄存器指出。应改为:
MOVBX,1A8H
MOV[BX],23DH
(13)PUSHIP错,不能用IP寄存器做源操作数。
(14)MOVFAXL23DH错,不能用AX寄存器间接寻址。应改为:MOVBX,AX
MOV[BX],23DH
(15)SHLAX,5错,不能用不小于己于1的立即数指出移位位数。应改为:
MOVCL,5
SHLAX,CL
(16)MULAX,BX错,目的操作数AX是隐含的,不能在指令中写出。应改为:MULBX
9.设堆栈指针SP的初值为H,AX=3000H,BX=5000H,试问:
(1)执行指令PUSHAX后(SP)=?
(2)再执行PUSHBX及POPAX后(SP)=?(AX)=?(BX)=?
答:(1)执行指令PUSHAX后(SP)=H-2=1FFEH;
(2)再执行PUSHBX及POPAX后(SP)=1FFEH,(AX)=5000H,(BX)=5000H
10.要想完毕把[H]送[1000H]中,用指令:MOV[1000H],[H]与否对的?假如不对的,应用什么措施?
答:把[H]送[1000H]中,用指令MOV[1000HL[H]不对的,应改为:MOVAX,[H]MOV[1000H],AX
11.假如想从200中减去AL中的内容,用SUB200,AL与否对的?假如不对的,应用什么措施?
答;想从200中减去AL中的内容,用SUB200,AL不对的,应改为;MOVBL,200SUBBL,AL
12分别写出实现如下功能的程序段
(5)将数据段中以BX为偏移地址的持续四个单元的内容颠倒过来
答:
(5)将数据段中以BX为偏移地址的持续四个单元的内容颠倒过来的程序段是:
MOVAL,[BX]:数据段中BX为偏移地址的字单元内容送AX
XCHGAL,[BX+3];数据段中BX+3为偏移地址的字单元内容与AX的内容互换
MOV[BX],AL;数据段中BX+3为偏移地址的字单元内容送BX为偏移地址的字单元
MOVAL,[BX+1];数据段中BXH为偏移地址的字单元内容送AX
XCHGAL,[BX+2];数据段中BX+2为偏移地址的字单元内容与AX的内容互换
MOV[BX+1],AL;数据段中BX+2为偏移地址的字单元内容送BX+1为偏移地址的字单元
1.假设OPL0P2是已经用DB定义的变量,W_OP3和W_0P4是已经用DW定义的变量,判断下列指令
书写与否对的?如有错误,指出错在何处?并写出对的的指令(或程序段)实现原错误指令期望实
现的操作((19)、(20)不改)。
(l)PUSH0P1
(2)POP[W_0P4]
(3)MOVAX,WORDPTR[SI][DI]
(4)MOVAX,WORDPTRES:BX
(5)MOVBYTEPTR[BX],1000
(6)NOVBX,OFFSET[SI+200H]
(7)NOV0P2,[BX]
(8)CMPHIGHW_OP3,25
(9)CMP0P1,0P2
(10)CMPAX,0P2
(ll)MOVW_0P3[BX+4*3][DI],SP
(12)ADDW_OP3,W_0P4
(13)MOVAX,W_OP3[DX]
(14)M0V0P1,LOWDS
(15)MOVSP,0P2[BX][SI]
(16)M0VAX,W_0P3+W_0P4
(17)MOVAX,W_0P3-W_0P4+100
(18)SUBAL,W_0P3+7
(19)MOVAX,BXSHL2
(20)MOVBX,W_OP3AND8FD7H
答:1.(l)Pl-SH0P1错,0P1为字节类型,栈操作不能按字节进行,应改为:PUSHWORDPTR0P1
(2)POP[W_OP4]对的。
(3)MOVAX,WORDPTR[SI][DI]错,源操作数寻址方式有问题。
应改为:MOVBX,SI
MOVAX,WORDPTR[BX][DI]
(4)MOVAX,WORDPTRES:BX错,若源操作数为寄存器寻址是不能加段阐明及属性修改的。显然,原意应为寄存器间
接寻址,故应改为:MOVAX,WORDPTRES:[BX]
(5)MOVBYTEPTR[BX],1000错,源操作数为字类型,目的操作数为字节类型,两者不一致。应改为:MOVWORD
PTF[BX],1000
(6)MOVBX,OFFSET[SI+200H]错,OFFSET运算应在汇编时完毕,但[SI+200H]在执行指令时才可获得。应改为:LEA
BX,[SI+200H]
(7)MOVOP2,[BX]错,源操作数和目的操作数均为内存单元,不容许。
应改为:MOVAL,[BX]
MOVOP2,AL
(8)CMPHIGHW_0P3,25错,目的操作数中使用HIGH来分离存储器操作数,这是不容许的。应改为:CMPBYTEPTR
W_OP3+1,25
(9)CMPOP1,OP2错,源操作数和目的操作数均为内存单元,不容许。
应改为:MOVAL,OP2
CMPAL,OP1
(10)CMPAX,OP2错,源操作数为字节类型,目的操作数为字类型,两者不一致。
应改为:CMPAX,WORDPTR0P2
(11)MOVW_OP3[BX+4*3][DI],SP对的。
(12)ADDW_OP3,W_OP4错,源操作数和目的操作数均为内存单元,不容许。
应改为:MOVAX,W_OP4
ADDW_OP3,AX
(13)MOVAX,W_OP3[DX]错,不能用DX寄存器间接寻址。
应改为:MOVBX,DXMOVAX,
W_OP3[BX]
(14)MOVOP1,LOWDS错,源操作数中使用LOW来分离寄存器操作数,这是不容许的。
应改为:MOVWORDPTROP1,DS
(15)MOVSP,OP2[BX][SI]错,源操作数为字节类型,目的操作数为字类型,两者不一致。应改为:MOVSP,WORDPTR
OP2[BX][SI]
(16)MOVAX,WJDP3+WJ3P4错,两个标识符相加无意义。应改为:MOVAX,WOP1
ADDAX,忆0P2
(17)MOVAX,WOP3-WOP4+100对的,源操作数为两个标识符(地址)相减再加一数,汇编时得到一种数。
(18)SUBAL,W_OP3+7错,两个操作数类型不一致。应改为:SUBAL,BYTEPTRWJDP3+7
(19)MOVAX,BXSHL2错,SHL只能对常量进行运算,左边不能使用寄存器
(20)MOVBX,W_OP3AND8FD7H错,AND只能对常软进行运算,左边不能使用变最
4.设已定义数据段
DATASEGMENT
VAR2DW10H,7889H
VAR5DB20H,0
ADRRDWVAR2,VAR5
DATAENDS
为使ADRR字存储单元中寄存内容为“0010H”,ADRR+2字存储单元中寄存内容为“0020H”,
上述省略号位置应分别填写一条什么语句?阐明理由。
答:为使ADRR字存储单元中寄存内容为“0010H”,ADRR+2字存储单元中寄存内容为“0020H”,
上述省略号位置应分别填写ORG10H和ORG20H,或者分别填写语句
VARIDB10HDUP(?)和VAR36DUP(?)
5.下面的数据段中,有数据为'4100H,的字存储单元有几种?它们的偏移量分别是多少?
DATASEGMENT
DAIDB0
ORG41H
DA2DB0,'A',41H,0,41H
ADRDWDAI,DA2
DATAENDS
答:给出的数据段中,有数据'4100H'的字存储单元有3个,它们的偏移量分别是41H、44H、
47IIo
7.试用数据定义语句DB或DW改写下述两语句中的某一种,使它们在存储器中有完全相似的存储
状况。
VARIDB'abcdefghij'
VAR2DW6162H,6364H,6566H,6768H,696AH
答:将第一种伪指令语句改写为VARIDW'ab',,cd',%f','gh',‘ij',第二个伪指
令语句不变。或第一种伪指令语句不变,而将第二个伪指令语句改写为:
VAR2DB61H,62H,6311,64E,65H,66H,6711,68H,69H,6All
9.按下面的规定写出程序的框架
(1)数据段的位置从OEOOOH开始,数据段中定义一种100字节的数组,其类型属性既是字又是字
节;
(2)堆栈段从小段开始,段组名(类别名)为STACK;
(3)代码段中指定段寄存器,指定主程序从1000H开始,给有关段寄存器赋值;
(4)程序结束。
答:所求程序框架为:
DataSEGMENTATOEOOOH
Arr_wLABELWORD
Arr_bDB100DUP(?)
DataENDS
Sta_segSEGMENTPARA'STACK'
DB80DUP(?)
TOPLABELWORD
Sta_segENDS
CodeSEGMENT
ASSUMECS:Code,DS:data,SS:sta_seg
ORG1000H
Start:MOVAX,data
MOVDS,AX
MOVAX,Sta_seg
MOVSS,AX
MOVSP,OFFSETTop
MOVAH,4cH
INT21H
CodeENDS
ENDStart
10.编写一种程序,规定运行时屏幕显示"BELL',同步响铃一次(响铃的ASCII码为07)。
答:所求程序为:
CodeSEGMENT
ASSUMECS:code
Start:MOVDL,42H
MOVAH,2
INT21H
MOVDL,45H
MOVAH,2
INT21H
MOVDL,4cH
MOVAH,2
INT21H
MOVDL,4C11
MOVAH,2
INT21H
MOVDL,7
MOVAH,2
INT2111
MOVAH,4CH
INT21H
CoceENDS
ENDStart
11.假设在数据段X_SEG、附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X、Y和Z,试编制
一完整的程序计算X+Y+Z,并将成果送X。
答:所求程序为:
X_SEGSEGMENT
XDW12eH
X_SEGENDS
YSEGSEGMENT
YDW4d2H
Y_SEGENDS
ZSEGSEGMENTSTACK'STACK'
ZDW2CAH
Z_SEGENDS
CodeSEGMENT
ASSUMECS:Code,DS:XSEG,ES:YSEG,SS:ZSEG
Start:MOVAX,X_SEG
MOVDS,AX
MOVAX,Y_SEG
MOVES,AX
MOVAX,ES:Y
ADDX,AX
MOVBP,0
MOVAX,[BP+Z]
ADDX,AX
MOVAH,4CH
INT21H
CodeENDS
ENDStart
12.写一种完整的程序放在代码段C_SEG中,规定把数据段D_SEG中的DADD1和附加段E_SEG中
的DADD2相加,并把成果寄存在D-SEG段中的SUM中。其中DADD1、DADD2和SUM均为双字类型,
DADD1赋值为98765,DADD2赋值为-15893。
答:所求程序为:
DSEGSEGMENT
DADD1DD98765
SUMDD?
D_SEGENDS
E_SEGSEGMENT
DADD2DD-15893
E_SEGENDS
CSEGSEGMENT
ASSUMECS:C_SEG,DS:D_SEG,ES:E_SEG
Start:MOVAX,DSEG
MOVDS,AX
MOVAX,E_SEC
MOVES,AX
MOVAX,WORDPTRDADD1
MOVBX,WORDPTRDADD1+2
ADDAX,WORDPTRES:DADD2
ADCBX,WORDPTRES:DADD2+2
MOVWORDPTRSIM,AX
MOVWORDPTRSLM+2,BX
MOVAH,4CH
INT21H
CSEGENDS
ENDStart
一、填空题
1、执行部件EU的组织有:—4个通用寄存器,4个专用寄存器和_1个标志寄存器和算术
逻辑部件o
2、8086CPU从偶地址访问内存1个字时需占用—1个总线一周期,而从奇地址访问内存1个字操作需占用2
个总线周期。
3、IBM-PC机中的内存是按段寄存信息的,一种段最大存贮空间为―64K字节。
4、8086微处理机在最小模式下,用M/而来控制输出地址是访问内存还是访问I/O。
5、一台计算机能执行多少种指令,是在—设计时确定的。
二、单项选择题
1、微型计算机的性能重要由.B来决定。
A、价钱B、CPUC、控制器D、其他
2、对微处理器而言,它的每条指令均有一定的时序,其时序关系是C
A、一种时钟周期包括儿种机器周期,一种机器周期包括几种指令周期。
E、一种机器周期包括几种指令周期,一种指令周期包括几种时钟周期。
C、一种指令周期包括几种机器周期,一种机器周期包括几种时钟周期。
D、一种指令周期包括几种时钟周期,一种时钟周期包括几种机器周期。
3、属于数据寄存器组的寄存器是C
A、AX,BX,CX,DSB、SP,DX,BP,IPC、AX,BX,CX,DXD、AL,DI,SI,AH
4、微型计算机的ALU部件是包括在D之中。
A、存贮器B、I/O接口C、I/O设备【)、CPU
5、在8086和8088汇编语言中,一种字能表达的不符号数的范围是B
A、-32768WnW32768B、-32768«2767C、-65535WnW65535D、-65536WNW65535
6、80386微型计算机是32位机,艰据是它的D。
A、地址线是32位B、数据线为32位C、寄存器是32位的D、地址线和数据线都是32位
7、某数存于内存数据段中,已知该数据段的段地址为H,而数据所在单元的偏移地址为0120H,该数的在内存的
物理地址为(B)
A.02120HB.OHC.21200HD.03200H
8、在存贮器读周期时,根据程序计数器PC提供的有效地址,使用从内存中取出(1))
A.操作数B.操作数地址C.转移地址D.操作码
9、8086/8088系统中,对存贮器进行写操作时,CPU输出控制信号有效的是(A)
A.W/70=1,而=0B.WR=1C.M/而=0,而=0D.而=0
10、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是(D)
A.INAL,端口地址B.MOVAL,端口地址C.OUTAL,端口地址D.OUT端口地址,AL
三、简答题
1.微处理器内部构造由哪些部件构成?
2.论述8086CPU的最小方式和最大方式的区别。
3.论述指令周期、机器周期和时钟周期间的关系。
4.8086CPU从功能上分为几部分。各部分由什么构成?各部分的功能是什么?
5.8086系统中的物理地址是怎样得到的?假如CS=2500H,IP=2100H,其物理地址是多少?
6.什么是最大模式?什么是最小模式?用什么措施将8086/8088置为最大模式和最小模式?
7.存储器分段组织有何优越性?
8.试述BHE与人组合怎样选择数据字?
9.CPU响应中断时,为何要执行两个持续的中断响应周期?
答案:
一、填空题
1、4个通用寄存器、4个专用寄存器、1个标志寄存器和算术逻辑部件
2、I个总线、2个总线
3、64K
4、M/ZO
5、设计
二、单项选择题
1、B2、C3、C4、D5、B6、D7、B8、D9、A10、D
三、简答题
1、答案:微处理器由两部分构成,总线接II单元和执行单元
2、8086CPU的最小方式和最大方式的区别是:最小方式,MN/MX接+5V(MX为低电平),用于构成小型单处理机系统,
支持系统工作的器件:(1)时钟发生器,8284A,(2)总线锁存器,74LS373,(3)总线收发器,74LS245,控制信号由CPU
提供。最大方式,MN/MX接地(MX为低电平),用于构成多处理机和协处理机系统,支持系统工作的需件:(1)时钟发生
器,8284A,(2)总线锁存器,74LS373,(3)总线收发器,74LS245,⑷总线控制芯片,8288,控制信号由8288提供。
3、答:(1).执行一条指令所需要的时间称为指令周期:(2).一种CPU同外部设备和内存储器之间进行信息互换过
程所需要的时间称为总线周期;(3).时钟脉冲的反复周期称为时钟周期;(4).一种指令周期由若干个总线周期构成,
一种总线周期又由若干个时钟周期构成;(5).8O86CPU的总线周期至少由4个时钟周期构成;(6).总线周期完毕
一次数据传播包括:传送地址,传送数据;(7)等待周期----在等荷周期期间,总线上的状态一直保持不变;(8)
空闲周期――总线上无数据传播操作
4、8086从功能上可分为执行单元和总线接口单元。执行单元的功能是负责指令的执行,将指令译码并运用内部寄存
器和ALU对数据进行处理。它由4个通用寄存器(AX、BX、CX、DX),4个专用寄存器(BP、SP、SI和DI),标
志寄存器和算术逻辑部件构成。总线接口单元的功能是存储器、I/O端口传送数据。它由4个段寄存器(CS、DS、
ES、SS),指令指针寄存器IP,20位地址加法器和6个字节的指令队列构成。
5、在8。86系统中,用16位的段地址和16位的偏移地址来表达20位的物理地址,物理地址二段地址*16+偏移址得到
物理地址。
该题CS=2500H,IP=2100H,则物理地址二CS*16+IP=2500H*16+2100H=27100H
6、最大模式是相对最小模式而言,系统中包括两个或多种处理品,其中一种主处理器就是8088/8086,其他处理
器是协处理器,它是协助主处理器工作的。将MN/MX*置0即为最大模式。
最小模式又是相对于最大模式,就是在系统中只有一种处理器,所有的总线控制信号均有由8C88/8086产生,系
统中总线控制逻辑电路少,将MN/MX*置1即为最大模式。
7、减少了指令的长度,提高了执行速度。内存分段为程序浮动加载发明了条件。使程序保持完整的相对性,具有
了浮动性。
8、痂的作用是高8位数据容许,Ao=O是低8位数据容许,在「状态时,丽和A()组合起来表达连接在数
据总线上的存储器和I/O端口目前的数据在总线上出既有格式。
9、CPU响应中断时,执行两个持续的中断响应周期,每个响应周期都给出中断响应信号而X。这是由于第一
种总线周期告知中断请示设备,微处理器准备响应中断,应当准备好中断类型码,第二个总线周期中,微处理器接受
中断类型码,以便得到中断向量,即中断服务程序的入口地址。
2.根据下列规定编写一种汇编语言程序::
(1)代码段的段名为COD_SG
(2)数据段的段名为DAT_SG
(3)堆栈段的段名为STK_SG
(4)变量HIGH_DAT所包括的数据为95
(5)将变量HIGH_DAT装入寄存器AH,BH和DL
(6)程序运行的入口地址为START
2、答案:
DAT_SGSEGEMNT
HIGH_DATDB95
DAT_SGENDS
STK_SGSEGMENT
DW64DUP(?)
STK_SGENDS
COD_SGSEGMENT
MAINPROCFAR
ASSUMECS:COD_SG,DS:DAT_SGSS:STK_SG
START:MOVAX,DAT-SG
MOVDS,AX
MOVAH,HIGH_DAT
MOVBH,AH
MOVDL,AH
MOVAH,4CH
INT21H
MAINENDP
COD_SGENDS
ENDSTART
3、定义一种数据段的字符变量和数据变量。
(1)TRING为字符串变量:'Personalcomputer,
(2)VALD为十进制数字节变量12,99
(3)VALH为十六进制数字变量32H,0FAH
(4)VALZ为10个零的字节变量
(5)VALW为20个字单元
3、答案:
DATASEGMENT
TRINGDB*PersonalcomputerJ
VALDDB12,99
VALHDB32H,OFAH
VALZDBIODUP('O')
VALWDW20DUP(?)
5、下列标号为何是非法的?
(I)GET.DATA(2)1_NUM(3)TEST-DATA(4)RET(5)NEWITEM
答:非法标号:(1)由于只容许是标号的第一种字符
(2)第一种字符不能为数字
(3)不容许出现
(4)不能是保留字,如助记符
(5)不能有空格
6、下面的数据项设置了多少个字节?
(1)ASC_DATADB'1234'(2)HEX.DATADB1234H
答案:(1)设置了4个字节(2)设置了2个字节
7、DATASEGMENT
TABLE_ADDRDW1234H
DATAENDS
MOVBX,TABLE_ADDR
LEABX,TABLE_ADDR
请写出上述两条指令执行后,BX寄存器中的内容。
答案:MOVBX,TABLE_ADDR;执行后(BX)=1234H
LEABX,TABLE_ADDR;执行后(BX)=OFFSETTABLE_ADDR
8、写出分派给下列中断类型号在中断向量表中的物理地址。
(1)INT12H(2)INT8
答案:⑴00048h(2)0(K)20h
9、AR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。
(1)ADDVAR1,VAR2(2)SUBAL,VARI
(3)JMPLABfSI](4)JNZVARI
9、答案:
(1)源和目的不能同为内存变量
(2)两个类型不匹配
(3)LAB为标号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校各项规范管理制度
- 大型床位宿舍管理制度
- 宝安西乡培训管理制度
- 客户渠道授权管理制度
- 2025天津市粮食轮作休耕补偿合同样本
- 学生体验中心管理制度
- 安溪公司财务管理制度
- 审计公司帐目管理制度
- 2025网签版全国租赁合同样本
- 农村初中自主育人校本实践创新
- 2023年小学音乐期末综合评价方案
- 海南省三亚市(2024年)小学语文部编版小升初真题(知识梳理)完整试卷(含答案)
- 400字作文稿纸方格A4打印模板
- 物理八年级下册《第3节 摩擦力》课件
- (高清版)DZT 0073-2016 电阻率剖面法技术规程
- 中医养生祛湿
- 金属废料加工的废料分类与分拣技术
- 贷款贷款信用证授信协议书
- 人工智能伦理导论- 课件 3-人工智能伦理
- JY-T 0467-2015 初中体育器材设施配备标准
- 3D扫描与模型重建
评论
0/150
提交评论