微机原理与接口技术试题库

更新时间:2023-09-10 18:54:01 阅读量: 教育文库 文档下载

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

一、问答题

1、下列字符表示成相应的ASCII码是多少?

(1)换行 0AH (2)字母“Q” 51H (3)空格 20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数;0~255 (2)8位二进制无符号定点小数;0.996094

(3)16位二进制无符号定点整数;0~65535

(4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16

4、有一个二进制小数X=0.X1X2X3X4X5X6

(1) 若使X≥1/2,则X1??X6应满足什么条件? X1=1

若使X>1/8,则X1??X6应满足什么条件? X1∨ X2 ∨ X3=1

5、 有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数; X>Y

(2)X和Y两个数均为有符号的补码数。 X

二、填空题

1、对于R进制数来说,其基数(能使用的数字符号个数)是 R个 ,能使用的最小数字符号是 0 。1、 2、十进制数72转换成八进制数是 110Q 。

3、与十进制数67等值的十六进制数是 43H 。 1、 4、二进制数101.011转换成十进制数是 5.375 。

2、 5、十六进制数0E12转换成二进制数是 110000010010B 。

三、选择题

1、在计算机内部,一切信息的存取、处理和传送都是以 D 形式进行的。 A)EBCDIC码 B)ASCII码 C)十六进制编码 D)二进制编码 2、与十进制数56等值的二进制数是 A 。

A)111000 B)111001 C)101111 D)110110 3、十进制数59转换成八进制数是 A 。

A)73Q B)37Q C)59Q D)112Q 4、与十进制数58.75等值的十六进制数是 B 。 A)A3.CH B)3A.CH C)3A.23H D)C.3AH 5、二进制数1101.01转换成十进制数是 C 。

A)17.256 B)13.5 C)13.25 D)17.5 6、二进制数111010.11转换成十六进制数是 B 。 A)3ACH B)3A.CH C)3A3H D)3A.3H 7、十六进制数1CB.D8转换成二进制数是 D 。 A)110001011.11001 B)111101011.11101 C)111101011.11101 D)111001011.11011

8、将十六进制数FF.1转换成十进制数是 C 。 A)255.625 B)2501625 C)255.0625 D)250.0625 9、十进制正数43的八位二进制原码 B 。

A)00110101 B)00101011 C)10110101 D)10101011 10、十进制正数38的八位二进制补码是 D 。

A)00011001 B)10100110 C)10011001 D)00100110 四、是非判断题

1、在第三代计算机期间出现了操作系统。 ( √ ) 2、对于种类不同的计算机,其机器指令系统都是相同的。(× ) 3、在计算机中,数据单位bit的意思是字节。 ( × )

4、八进制数的基数为8,因此在八进制数中可以使用的数字符号是0、1、2、3、4、5、6、 5、在汉字国标码GB2312-80的字符集中,共收集了6763个常用汉字。(√ ) 答案:

1. 微处理器,微型计算机和微型计算机系统三者之间有何区别?

答:微处理器即CPU,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功能,是微型计算机的核心;一台微型计算机由微处理器、内存储器、I/O接口电路以及总线构成;微型计算机系统则包括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部分,而微型计算机系统又主要由微型计算机作为其硬件构成。

2. CPU在内部结构上由哪几部分构成?CPU应具备哪些主要功能?

答:CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。 3. 累加器和其它通用寄存器相比有何不同?

答:累加器是通用寄存器之一,但累加器和其它通用寄存器相比又有其独特之处。累加器除了可用做通用寄存器存放数据外,对某些操作,一般操作前累加器用于存放一个操作数,操作后,累加器用于存放结果。

4. 微型计算机的总线有哪几类?总线结构的特点是什么?

答:微型计算机的总线包括地址总线、数据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。

6. 计算机I/O接口有何用途?试列出8个I/O接口。

答:计算机I/O接口是连接计算机和外部设备的纽带和桥梁,它主要用于协调和控制计算机与外设之间的信息流通和交换。例如:串行通讯口(COM口)、并行打印机口、软盘驱动器接口、硬盘驱动器接口、光驱接口、显示器接口、音响设备接口、其它通用设备接口(USB、SCSI等)。

7. 现在,计算机主板上一般都包括哪些I/O接口?I/O接口卡如何与主板相连?

答:现在,计算机主板上一般包括串行通讯口、并行打印口、软盘驱动器接口、硬盘驱动器接口、光驱接口、USB接口等。象显示器适配器、网卡、modem卡等I/O接口卡一般通过总线插槽与主板相连。 8. 简述系统总线,AGP总线,PCI总线及ISA总线的作用。

答:系统总线是CPU与存储器及桥接器之间传递信息的通道,AGP总线专门用与连接CPU与显示器适配器,PCI总线一般用于连接一些高速外设接口作为高速外设与CPU或内存交换信息的通道,而ISA总线一般用于连接一些非高速外设接口作为非高速外设与CPU或内存交换信息的通道。

9. 试说明计算机用户,计算机软件,计算机硬件三者的相互关系。

答:计算机用户,计算机软件系统,计算机硬件系统共同构成一个计算机应用系统,三者在该系统中处于三个不同的层次。计算机用户处于最高层,计算机软件处于中间层,计算机硬件系统处于最下层。在这里计算机用户是系统的主宰,他们通过软件系统与硬件系统发生关系,指挥计算机硬件完成指定的任务。即,计算机用户使用程序设计语言编制应用程序,在系统软件的干预下使用硬件系统进行工作。

10. 简述DOS操作系统各部分的作用及相互关系。

答:DOS操作系统包括3个模块:DOS-Shell(COMMAND.COM)、DOS-Kernel(IBMDOS.COM)、DOS-BIOS(IBMBIO.COM). DOS-Shell模块对用户输入的DOS命令行或应用程序行作出响应。即负责DOS命令的解释和任务的分配,具体工作则要靠DOS-Kernel模块所提供的系统功能完成。

DOS-Kernel模块尽管提供了许多的系统功能,但由于执行每一个系统功能过程中,完全依赖各种设备实现指定的功能,因此,它还要进一步调用DOS-BIOS模块中的设备驱动程序才能工作。

DOS-BIOS模块对DOS-Kernel传送的\请求\进行解释,最终转换为对固化在ROM-BIOS中的设备控制程序的请求并由它们去控制硬件,完成指定的操作。

11. 存储单元的选择由什么信号控制?读、写靠什么信号区分?

答:存储单元的选择由地址信号控制,而对存储单元进行读操作还是写操作则要靠读、写信号区分。 12. 以一个可执行文件的运行为例,简述程序执行过程。

答:当在DOS提示符下键入一个可执行文件名称(或在其它操作系统环境下执行有关操作)后,操作系统自动将该文件从外存装入内存并使指令指针指向其第一条指令,从而启动文件执行过程。首先将第一条指令从内存取入CPU中译码执行,同时指令指针自动加1或按指令的要求作出相应改变,指向下一条要执行的指令,接着将下一条指令从内存取入CPU译码执行,这样不断重复取指令和执行指令的过程,逐条执行指令,直至程序结束。

1.把下列各数化成二进制数和八进制数(二进制取3位小数,八进制取一位小数): 7+3/4,±3/64,73.5, 725.9375,25.34 答:7+3/4=111.110B; 7+3/4=7.6O; ±3/64=±0.000B; ±3/64=±0.0O; 73.5=1001001.100B; 73.5=111.4O; 725.9375=1011010101.111B; 725.9375=1325.7O; 25.34=11001.011B; 25.34=31.3O 2.把下列各数化成十进制数:101.10011B ,22.2O, AD.4H 答:101.10011B=5.59375; 22.2O=18.25; AD.4H=173.25

3.完成下列二进制数运算:101.111+11.011,1001.10-110.01,101.11*11.01, 101110111/1101 答:101.111+11.011=1001.01; 1001.10-110.01=11.01;

101.11*11.01=10010.1011; 101110111/1101=11100.11

4.完成下列各十六进制数的运算: A39E+28DC,D5AB-7CE5,2BF*4C,C16E/3A 答:A39E+28DC=CC7A; D5AB-7CE5=58C6; 2BF*4C=D0B4; C16E/3A=355.C2

5.先将15B*8E/2A中的十六进制数化成十进制数,再进行计算,最后再将结果化为十六进制数。 答:15BH*8EH/2AH=347*142/42=49274/42=1173.19=495.30AH

6.试分别判断下列各组数据中哪个数据最大?哪个数据最小?

(1) A=0.1001B,B=0.1001D,C=0.1001H (2) A=10111101B,B=1001D,C=111H 答:(1) A最大, C最小; (2) B最大, A最小;

1.写出下列各数的二进制原码和补码(最后两个用双字节): 0,96,-128,-38H,127,105,879H,-32768

答:上述各数的原码依次为:00000000(10000000), 01100000, 无, 10111000, 01111111, 01101001, 0000100001111001, 无;

上述各数的补码依次为:00000000, 01100000, 10000000, 11001000, 01111111, 01101001, 0000100001111001, 1000000000000000;

2.分别列出下述10进制数的16进制数、非压缩的BCD数、压缩的BCD数、ASCII数字串(用16进制形式写出):10, 64, 78, 81, 92,100, 125, 255

答:上述各数的16进制数依次为:AH,40H,4EH,51H,5CH,64H,7DH,FFH;

上述各数的非压缩的BCD数依次为:0100H,0604H,0708H,0801H,0902H,010000H, 010205H,020505H; 上述各数的压缩的BCD数依次为:10H,64H,78H,81H,92H,0100H,0125H,0255H;

上述各数的ASCII数字串依次为:3130H,3634H,3738H,3831H,3932H,313030H,313235H, 323535H;

3.用10进制数写出下列补码表示的机器数的真值:71H,1BH,80H,F8H,397DH,CF42H,9350H 答:上述补码表示的各机器数的真值用10进制数分别表示为: +113,+27,-128,-8,+14717,-20670,-27828 4.若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。 A. 5BH+32H; B. -08H-15HC. -51H+(-3DH); D. 2DH+3CH

答:A. 产生溢出, 5BH=01011011B其补码表示的机器数为:01011011 32H=00110010B其补码表示的机器数为:00110010 相加的结果为:10001101

数值最高位向符号位进位,但符号位向前无进位,故产生溢出。 B. 不产生溢出, -08H=-00001000B其补码表示的机器数为:11111000 -15H=-00010101B其补码表示的机器数为:11101011 相加的结果为:111100011 数值最高位向符号位进位,符号位同时也向前进位,故不产生溢出. C.产生溢出,-51H=-01010001B其补码表示的机器数为:10101111 -3DH=-00111101B其补码表示的机器数为:11000011 相加的结果为:101110010 数值最高位向符号位无进位,但符号位向前进位,故产生溢出. D.不产生溢出,2DH=00101101B其补码表示的机器数为:00101101 3CH=00111100B其补码表示的机器数为:00111100 相加的结果为:01101001 数值最高位向符号位无进位,符号位向前也无进位,故不产生溢出。

5.从键盘敲入一个大写字母,如何转换为与其相对应的小写字母?从键盘敲入16进制数字符0~F,如何转换为其相对应的二进制数(00000000~00001111)?

答:从键盘敲入一大写字母后,将其ASCII码加上20H,就转换成了与其相对应的小写字母。

从键盘敲入16进制数字符0~9后,将其ASCII码值减去30H,就转换成了与其相对应的二进制数. 从键盘敲入16进制数字符A~F后,将其ASCII码值减去37H,就转换成了与其相对应的二进制数. 6.详细叙述总线缓冲器的作用。

答:总线缓冲器的作用主要是控制各路数据在总线上的交叉传送避免相互冲突,当几路数据都要向总线上传送时,就通过各路的缓冲器来解决,当一路传送时,缓冲器使其它各路数据与总线断开。 7.锁存器和寄存器有什么不同?

答:锁存器与寄存器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。 1.8086从功能上分成了EU和BIU两部分。这样设计的优点是什么? 答:传统计算机在执行程序时,CPU总是相继地完成取指令和执行指令的动作,即,指令的提取和执行是串行进行的。而8086CPU 在功能上分成了EU和BIU两部分,BIU负责取指令,EU负责指令的执行,它们之间既互相独立又互相配合,使得8086可以在执行指令的同时进行取指令的操作,即实现了取指令和执行指令的并行工作,大大提高了CPU和总线的利用率,从而提高了指令的处理速度。

2.8086 CPU中地址加法器的重要性体现在哪里?

答:地址加法器是8086 CPU的总线接口单元中的一个器件,在8086存储器分段组织方式中它是实现存储器寻址的一个关键器件,地址加法器将两个16位寄存器中的逻辑地址移位相加,得到一个20位的实际地址,把存储器寻址空间从64K扩大到1M,极大地扩大了微型计算机的程序存储空间,从而大大提高了程序运行效率。

3.8086 CPU中有哪些寄存器?分组说明用途。哪些寄存器用来指示存储器单元的偏移地址?

答:8086 CPU中有8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI;两个控制寄存器IP、FL;四个段寄存器CS、DS、SS、ES。8个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有各自的专门用途。例如,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、SI或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:IP=DC54:2F39H,物理地址=DC54H*10H+2F39H=DF479H;当前栈顶的逻辑地址=SS:SP=0A8B:1200H,物理地址=0A8BH*10H+1200H=0BAB0H。

6.若DS=157DH时,某操作数的物理地址是215FAH,当DS=18DEH时,该操作数的物理地址是多少?

答:该操作数的段内偏移地址=该操作数的物理地址-DS=215FAH-157D0H=BE2AH, 故当DS=18DEH时,该操作数的物理地址=DS*10H+BE2AH=18DE0H+BE2AH=24C0AH

7.设 AX=2875H、BX=34DFH、SS=1307H、SP=8H,依此执行 PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针变为多少?AX=? BX=?CX=? 答:当前栈顶指针=SS*10H+SP=13070H+8H=13078H,依此执行PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针仍为13078H。但AX=34DFH,BX=34DFH,CX=2875H。

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=637DH+3237H=95B4H; (6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BH=8E18H; (7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H;

2. 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式: (1)寄存器间接寻址(2)寄存器相对寻址(3)基址变址寻址

答:(1)使用寄存器间接寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为: MOV BX,BLOCK ADD BX,12 MOV DX,[BX]

(2)使用寄存器相对寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为: MOV BX,BLOCK MOV DX,[BX+12]

(3)使用基址变址寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为: MOV BX,BLOCK MOV SI,12

MOV DX,[BX+SI]

3. 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。 (1)MOV AX,1200H(2)MOV AX,BX(3)MOV AX,[1200H](4)MOV AX,[BX] (5)MOV AX,[BX+1100](6)MOV AX,[BX+SI](7)MOV AX,[BX+SI+1100] 答:(1)指令MOV AX,1200H执行完后AX寄存器的内容为1200H; (2)指令MOV AX,BX执行完后AX寄存器的内容为0100H;

(3)指令MOV AX,[1200H]是将从物理地址=(DS)*10H+1200H=21200H开始的两个单元内容送AX,执行完后AX寄存器的内容为4C2AH;

(4)指令MOV AX,[BX]是将从物理地址=(DS)*10H+(BX)=20100H开始的两个单元内容送AX,故执行完后AX寄存器的内容为3412H;

(5)指令MOV AX,[BX+1100]是将从物理地址=(DS)*10H+(BX)+1100H=21200H开始的两个单元内容送AX,故执行完后AX寄存器的内容为4C2AH;

(6)指令MOV AX,[BX+SI]是将从物理地址=(DS)*10H+(BX)+(SI)=20102H开始的两个单元内容送AX,故执行完后AX寄存器的内容为7856H;

(7)指令MOV AX,[BX+SI+1100]是将从物理地址=(DS)*10H+(BX)+(SI)+1100H=21202H开始的两个单元内容送AX,故执行完后AX寄存器的内容为65B7H;

4.假设已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)= 0100H,(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少? (1) MOV AX,0ABH (2)MOV AX,BX (3) MOV AX,[100H](4) MOV AX,VAL (5) MOV AX,[BX] (6) MOV AX,ES:[BX] (7) MOVAX,[BP] (8) MOV AX,[SI](9) MOV AX,[BX+10] (10) MOV AX,VAL[BX](11) MOV AX,[BX][SI](12) MOVAX,[BP][SI]

答:(1)在指令 MOV AX,0ABH 中,源操作数字段的寻址方式是立即数寻址,其物理地址值=(CS)*10H+(IP); (2)在指令 MOV AX,BX 中,源操作数字段的寻址方式是寄存器寻址,操作数在BX中,无物理地址;

(3)在指令 MOV AX,[100H] 中,源操作数字段的寻址方式是直接寻址,其物理地址值=(DS)*10H+100 =29000H+100H=29100; (4)在指令 MOV AX,VAL 中,源操作数字段的寻址方式是直接寻址,其物理地址值=(DS)*10H+50H =29000H+50H=29050H; (5)在指令 MOV AX,[BX] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS)*10H +(BX)=29000H+100H=29100H; (6)在指令 MOV AX,ES:[BX] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ES)*10H+(BX)=21000H+100H=21100H; (7)在指令 MOV AX,[BP] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(SS)*10H +(BP)=15000H+10H=15010H; (8)在指令 MOV AX,[SI] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS)*10H +(SI)=29000H+0A0H=290A0H; (9)在指令 MOV AX,[BX+10] 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS)*10H+(BX)+0AH= 29000H+100H+0AH =2910AH;

(10)在指令 MOV AX,VAL[BX] 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS)*10H+(BX)+50H= 29000H+100H+50H= 29150H;

(11)在指令 MOV AX,[BX][SI] 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(DS)*10H+(BX)+(SI) =29000H+100H+0A0H =291A0H;

(12)在指令 MOV AX,[BP][SI] 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(SS)*10H+(BP)+(SI)=15000H+10H+0A0H =150B0H

5.分别指出下列指令中的源操作数和目的操作数的寻址方式。

(1)MOV SI,200(2)MOV CX,DATA[SI](3)ADD AX,[BX+DI] (4)AND AX,BX(5)MOV [SI],AX(6)PUSHF

答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻址; (2目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址; (3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址; (4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址; (5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址; (6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址; 6.试述指令MOV AX,2010H和MOV AX,DS:[2010H] 的区别。

答:指令MOV AX,2010H是将立即数2010H送AX寄存器,而指令MOV AX,DS:[2010H]是将DS段有效地址为2010H的两个单元的内容送AX。

7.写出以下指令中内存操作数的所在地址。

(1)MOV AL,[BX+5](2)MOV [BP+5],AX(3)INC BYTE PTR [SI+3] (4)MOV DL,ES:[BX+DI](5)MOV BX,[BX+SI+2]

答:(1)指令MOV AL,[BX+5]中内存操作数的所在地址=(DS)*10H+(BX)+5;

(2)指令MOV [BP+5],AX中内存操作数的所在地址=(SS)*10H+(BP)+5和(SS)*10H+(BP)+6; (3)指令INC BYTE PTR[SI+3]中内存操作数的所在地址=(DS)+(SI)+3;

(4)指令MOV DL,ES:[BX+DI]中内存操作数的所在地址=(ES)*10H+(BX)+(DI);

(5)指令MOV BX,[BX+SI+2]中内存操作数的所在地址=(DS)*10H+(BX)+(SI)+2和(DS)*10H+(BX)+(SI)+3;

8.判断下列指令书写是否正确,如有错误,指出错在何处并用正确的程序段(一条或多条指令)实现原错误指令((8)、(13)除外)期望实现的操作。

(1)MOV AL,BX (2)MOV AL,SL (3)INC [BX] (4)MOV 5,AL (5)MOV [BX],[SI] (6)MOV BL,F5H (7)MOV DX,2000H (8)POP CS (9)MOV ES,3278H

(10)PUSH AL (11)POP [BX] (12)MOV [1A8H],23DH (13)PUSH IP (14)MOV [AX],23DH (15)SHL AX,5 (16)MUL AX,BX

答:(1)MOV AL,BX 错,源操作数为字类型,目的操作数为字节类型,二者不一致。应改为:MOV AX,BX 或 MOV AL,BL ; (2)MOV AL,SL 错,SI寄存器不能分为高8位和低8位使用,即没有SL寄存器。应改为:MOV AX,SI

(3)INC [BX] 错,未指定操作数的类型。应改为:INC BYTE PTR [BX] (4)MOV 5,AL 错,目的操作数使用了立即数,在指令中一般不允许。应改为:MOV DS:[5],AL (5)MOV [BX],[SI] 错,源操作数和目的操作数均为内存单元,不允许。 应改为:MOV AX,[SI]

MOV [BX],AX

(6)MOV BL,F5H 错,源操作数错,以A~F开头的数字前应加0。应改为:MOV BL,0F5H (7)MOV DX,2000H 正确。

(8) POP CS 错,不能将栈顶数据弹至CS中。 (9)MOV ES,3278H 错,立即数不能直接送ES寄存器。

应改为:MOV AX,3278H MOV ES,AX

(10)PUSH AL 错,栈操作不能按字节进行。应改为:PUSH AX (11)POP [BX] 正确。

(12)MOV [1A8H],23DH 错,源操作数是立即数,目的操作数必须使用寄存器指出。应改为: MOV BX,1A8H MOV [BX],23DH

(13)PUSH IP 错,不能用IP寄存器做源操作数。

(14)MOV [AX],23DH 错,不能用AX寄存器间接寻址。应改为:MOV BX,AX MOV [BX],23DH (15)SHL AX,5 错,不能用大于己于1的立即数指出移位位数。应改为:

MOV CL,5 SHL AX,CL

(16)MUL AX,BX 错,目的操作数AX是隐含的,不能在指令中写出。应改为:MUL BX 9.设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1)执行指令PUSH AX后 (SP)=?

(2)再执行PUSH BX及POP AX后 (SP)=?(AX)=?(BX)=? 答:(1)执行指令PUSH AX后 (SP)=2000H-2=1FFEH;

1-7.(5487)10=(

0101010010000111)BCD= 101010110111

12.写一个完整的程序放在代码段C_SEG中,要求把数据段D_SEG中的DADD1和附加段E_SEG中的DADD2相加,并把结果存放在D_SEG段中的SUM中。其中DADD1、DADD2和SUM均为双字类型,DADD1赋值为98765,DADD2赋值为-15893。 答:所求程序为:

D_SEG SEGMENT

DADD1 DD 98765 SUM DD ? D_SEG ENDS E_SEG SEGMENT

DADD2 DD -15893 E_SEG ENDS C_SEG SEGMENT

ASSUME CS: C_SEG,DS:D_SEG,ES:E_SEG Start: MOV AX, D_SEG MOV DS, AX MOV AX, E_SEG MOV ES, AX

MOV AX,WORD PTR DADD1 MOV BX,WORD PTR DADD1+2 ADD AX, WORD PTR ES:DADD2 ADC BX, WORD PTR ES:DADD2+2 MOV WORD PTR SUM, AX MOV WORD PTR SUM+2, BX MOV AH, 4CH INT 21H

C_SEG ENDS

END Start

======================================================= 一、填空题

1、执行部件EU的组织有: 4个通用寄存器 , 4个专用寄存器 和 1个标志寄存器和算术逻辑部件 。

2、8086CPU从偶地址访问内存1个字时需占用 1个总线 周期,而从奇地址访问内存1个字操作需占用 2个总线周期。

3、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为 64K 字节。

4、8086微处理机在最小模式下,用 M/IO 来控制输出地址是访问内存还是访问I/O。 5、一台计算机能执行多少种指令,是在 设计 时确定的。 二、单项选择题

1、微型计算机的性能主要由 B 来决定。

A、价钱 B、CPU C、控制器 D、其它

2、对微处理器而言,它的每条指令都有一定的时序,其时序关系是 C A、一个时钟周期包括几个机器周期,一个机器周期包括几个指令周期。 B、一个机器周期包括几个指令周期,一个指令周期包括几个时钟周期。 C、一个指令周期包括几个机器周期,一个机器周期包括几个时钟周期。 D、一个指令周期包括几个时钟周期,一个时钟周期包括几个机器周期。 3、属于数据寄存器组的寄存器是 C A、AX,BX,CX,DS B、SP,DX,BP,IP C、AX,BX,CX,DX D、AL,DI,SI,AH 4、微型计算机的ALU部件是包含在 D 之中。

A、存贮器 B、I/O接口 C、I/O设备 D、CPU

5、在8086和8088汇编语言中,一个字能表示的有符号数的范围是 B A、-32768≤n≤32768 B、-32768≤n≤32767 C、-65535≤n≤65535 D、-65536≤N≤65535

6、80386微型计算机是32位机,根据是它的 D 。 A、地址线是32位 B、数据线为32位

C、寄存器是32位的 D、地址线和数据线都是32位

7、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为( B )

A.02120H B.20120H C.21200H D.03200H

8、在存贮器读周期时,根据程序计数器PC提供的有效地址,使用从内存中取出( D ) A.操作数 B.操作数地址 C.转移地址 D.操作码

9、8086/8088系统中,对存贮器进行写操作时,CPU输出控制信号有效的是( A )

A.W/IO=1, WR=0 B. WR=1

C.M/IO=0, RD=0 D.RD=0

10、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是( D ) A.IN AL,端口地址 B.MOV AL,端口地址 C.OUT AL,端口地址 D.OUT 端口地址,AL 三、简答题

1. 微处理器内部结构由哪些部件组成?

2. 论述8086 CPU的最小方式和最大方式的区别。 3. 论述指令周期、机器周期和时钟周期间的关系。 4. 试比较8086CPU与8086CPU的异同之处。

5. 8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?

6. 8086系统中的物理地址是如何得到的?假如CS=2500H,IP=2l00H,其物理地址是多少? 7. 什么是最大模式?什么是最小模式?用什么方法将8086/8088置为最大模式和最小模式? 8. 存储器分段组织有何优越性?

9. 试述BHE与A0组合如何选择数据字?

10. CPU响应中断时,为什么要执行两个连续的中断响应周期? 答案: 三、简答题

1、 答案:微处理器由两部分组成,总线接口单元和执行单元

2、8086CPU的最小方式和最大方式的区别是:最小方式,MN/MX接+5V(MX为低电平),用于构成小型单处理机系统,支持系统工作的器件:(1)时钟发生器,8284A,(2)总线锁存器,74LS373,(3)总线收发器,74LS245,控制信号由CPU提供。最大方式,MN/MX接地(MX为低电平),用于构成多处理机和协处理机系统,支持系统工作的器件:(1)时钟发生器,8284A,(2)总线锁存器,74LS373,(3)总线收发器,74LS245,(4)总线控制芯片,8288,控制信号由8288提供。 3、答:(1).执行一条指令所需要的时间称为指令周期;(2).一个CPU同外部设备和内存储器之间进行信息交换过程所需要的时间称为总线周期;(3).时钟脉冲的重复周期称为时钟周期;(4).一个指令周期由若干个总线周期组成,一个总线周期又由若干个时钟周期组成;(5). 8086CPU的总线周期至少由4个时钟周期组成;(6).总线周期完成一次数据传输包括:传送地址,传送数据;(7)等待周期----在等待周期期间,总线上的状态一直保持不变;(8)空闲周期----总线上无数据传输操作

4、 8088CPU和8086CPU内部寄存器都是16位,数据总线都有是16位,地址总线都有是20位,指令系统相同。主要不同点有:

(1) 8086指令队列是6个字节长,而8088指令队列是4个字节长。 (2) 外部数据总线位数不同,8086为16位AD0~AD15,8088为AD0~AD7

(3) 34脚和28脚功能不同,34脚8086中是数据总线允许BHE/S7,8088是SSO,28脚,8086是M/IO,8088是IO/M5、8086从功能上可分为执行单元和总线接口单元。执行单元的功能是负责指令的执行,将指令译码并利用内部寄存器和ALU对数据进行处理。它由4个通用寄存器(AX、BX、CX、DX),4个专用寄存器(BP、SP、SI和DI),标志寄存器和算术逻辑部件组成。总线接口单元的功能是存储器、I/O端口传送数据。它由4 个段寄存器(CS、DS、ES、SS),指令指针寄存器IP,20位地址加法器和6个字节的指令队列组成。

6、在8086系统中,用16位的段地址和16位的偏移地址来表示20位的物理地址,物理地址=段地址*16+偏移址得到物理地址。

该题CS=2500H,IP=2l00H,则物理地址=CS*16+IP=2500H*16+2100H=27100H

7、最大模式是相对最小模式而言,系统中包含两个或多个处理品,其中一个主处理器就是8088/8086,其它处理器是协处理器,它是协助主处理器工作的。将MN/MX*置0即为最大模式。

最小模式又是相对于最大模式,就是在系统中只有一个处理器,所有的总线控制信号都有由8088/8086产生,系统中总线控制逻辑电路少,将MN/MX*置1即为最大模式。

8、减少了指令的长度,提高了执行速度。内存分段为程序浮动加载创造了条件。使程序保持完整的相对性,具备了浮动性。

9、BHE的作用是高8位数据允许,A0=0是低8位数据允许,在T1状态时,BHE和A0组合起来表示连接在数据总线上的存储器和I/O端口当前的数据在总线上出现有格式。

10、CPU响应中断时,执行两个连续的中断响应周期,每个响应周期都给出中断响应信号INTA。这是因为第一个总线周期通知中断请示设备,微处理器准备响应中断,应该准备好中断类型码,第二个总线周期中,微处理器接收中断类型码,以便得到中断向量,即中断服务程序的入口地址。 一、问答题:

1、 微型计算机是由五部分组成,包括控制器,运算器,存储器、输入设备,输出设备;控制器控制计算机运转,计算器主要

是算术运臬和逻辑运算,存储器主要是存储信息,输入设备主要是输入信息给计算机,输出设备主要是计算机输出信息。2、 IBM PC机的主存主要有只读存储器和随机存储器。只读存储器只能读出,不能写入,随机存储器可以写入也可以读出。 3、 8086微处理器的字长为16位,能直接访问的存储单元可以是2个字节。

4、 8088微处理器的逻辑地址两部分组成,包括段地址和偏移地址;物理地址=段地址*16+偏移地址。 5、 如果一个程序在执行前(CS)=0A7F0H,(IP)=2B40H,该程序的起始地址=0A7F0H*16+2B40H=0AAA40H。 6、

78H 02003H 56H 02002H 34H 02001H 12H 02000H

7、寻址方式就是指:寻找操作数或者操作地址的各种方法,寻址方式主要有7种

(1).立即数寻址(2).寄存器寻址(3).直接寻址(4).寄存器间接寻址(5).寄存器相对寻址方式(6).基址变址寻

址方式(7).相对基址变址寻址方式

五、根据以下要求选用相应的指令或指令序列

=======================================================

一、 回答下列问题

1、 设VALA EQU 200 VALB EQU 30 VALC EQU 1BH 下列表达式的值各为多少? (1)(VALA*VALC+VALB)/VALC (2)(VALB AND 0FH)OR (VALB XOR 0FH) (3)(VALA GE VALB )AND 0FH

2. 根据下列要求编写一个汇编语言程序:: (1)代码段的段名为COD_SG (2)数据段的段名为DAT_SG (3)堆栈段的段名为STK_SG

(4)变量HIGH_DAT所包含的数据为95

(5)将变量HIGH_DAT装入寄存器AH,BH和DL (6)程序运行的入口地址为START

3、定义一个数据段的字符变量和数据变量。

(1) TRING为字符串变量:‘Personal computer’ (2) VALD为十进制数字节变量12,99 (3) VALH为十六进制数字变量32H,0FAH (4) VALZ为10个零的字节变量 (5) VALW为20个字单元 4、定义一个数据段,要求如下:

(1) 段界起始于字边界

(2) 该段与同名逻辑段相邻连接成一个物理段 (3) 类别号为‘DATA’ (4) 定义数据12,30,‘ABCD’ (5) 保留20个字的存储区 5、下列标号为什么是非法的?

(1) GET.DATA (2) 1_NUM (3) TEST-DATA (4) RET (5) NEW ITEM

6、下面的数据项设置了多少个字节?

(1) ASC_DATA DB ‘1234’ (2) HEX_DATA DB 1234H

7、 DATA SEGMENT

TABLE_ADDR DW 1234H DATA ENDS . . .

MOV BX, TABLE_ADDR LEA BX, TABLE_ADDR

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

8、写出分配给下列中断类型号在中断向量表中的物理地址。 (1) INT 12H (2) INT 8

9、AR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。

(1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JMP LAB[SI] (4)JNZ VAR1

二、填空题

1、假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,(232F7H)=3280H,(264E5H)=2450H,则 执行指令JMP BX后,(IP)= ; 执行指令JMP TABLE[BX]后,(IP)= ; 执行指令JMP [BX][SI]后,(IP)= 。

2、在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为 ; ; ;

3、数据段中有以下定义: ARRAY1 EQU 16H ARRAY2 DW 16H

请指出下面两条指令的寻址方式:

MOV AX,ARRAY1; 寻址方式 。

MOV AX,ARRAY2; 寻址方式 。 4、下面两个语句的区别在于 、 。 X1 EQU 1000H X2 =1000H

5、指令“AND AX,STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是 、 。 6、指令LOOPZ/LOOPE是结果 或 发生转移的指令。而指令LOOPNZ/LOOPNE则是结果 或 发生转移的指令。

7、调用指令CALL可分为 、 、 和 等四种调用。

8、在汇编语言中,一个过程有NEAR和FAR两种属性。NEAR属性表明主程序和子程序 ,FAR属性表示主程序和子程序 。

9、串处理指令规定源寄存器使用 ,源串在 段中;目的寄存器使用 ,目的串必须在 段中。10、 是过程定义结束伪指令,与 配套使用。 是段定义结束伪指令,与 配套使用。 三、选择题

1、执行下列程序,选择正确的结果:

MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT

(1)SP= ;

A)2000H B)1FFFH C)2001H D)1FFEH (2)DH内容所在存储器的偏移地址为 ; A)1FFFH B)1FFEH C)1FFDH D)1FFCH (3)DL内容所在存储器的偏移地址为 ; A)1FFFH B)1FFEH C)2000H D)1FFCH (4)(AX)= ; A)0H B)78H C)0F0H D)56H (5)(DI)= 。 A)1234H B)5678H C)2000H D)00F0H (6)(DX)= ; A)5678H B)0ACF0H C)2B3CH D)0ABF0H (7)标志位ZF= 。

A)0 B)1 C)不定 D)无值

2、下面是多字节加法程序,第一个数和是8A0BH,第二个数是D705H。 DATA SEGMENT FIRST DB (1), (2),0H SECOND DB (3), (4) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX, (5) MOV SI,0 (6)

NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0

ADC AL, (7) MOV FIRST[SI],AL

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

Top