第1xx作业答案
1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同? 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微 处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3微型计算机采用总线结构有什么优点?
采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准化,易于兼容和工业化生产。
1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?
数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。 8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址
(指定要读或写数据的单元),过一段时间再读或写数据。 第2xx作业答案
2.1 IA-32结构微处理器直至Pentillm4,有哪几种?
80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。
1 / 27
2.6IA-32结构微处理器有哪几种操作模式? IA一32结构支持3种操作模式:
保护模式、实地址模式和系统管理模式。操作模式确定哪些指令和结构特性是可以访问的。
2.8IA-32结构微处理器的地址空间如何形成?
由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。
2.15 8086微处理器的总线接口部件由哪几部分组成?
8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传 送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队 (8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执
行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。 2.16段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为 多少?
指令的物理地址=12000H+FFOOH=21FOOH 第3xx作业答案
3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI, 30O (2)MOV CX, DATA[DI] (3)ADD AX, [BX][SI]
2 / 27
(4)AND AX,CX (5)MOV[BP], AX (6)PUSHF
(l)源操作数为立即寻址,目的操作数为寄存器寻址。
(2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。 (3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。 (4)源操作数和目的操作数都为寄存器寻址。
(5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。 (6)为堆栈操作。
3.2试述指令MOVAX,2000H和MOV AX,DSz[2000H]的区别。 解:
前一条指令是立即寻址,即把立即数2000H传送至寄存器AX。后一条指令是直接寻址,是把数据(DS)段中的地址为200OH单元的内容传送至寄存器AX。
3.3写出以下指令中内存操作数的所在地址。 (1)MOV AL, [BX+10] (2)MOV [BP+10], AX (3)INC BYTEPTR[SI十5] (4)MOV DL, ES: [BX+SI]
(5)MOV BX,[BP+DI+2] (1)数据xxBX+10单元。
3 / 27
(2)堆栈xxBP+10单元。 (3)数据xxSI+5字节单元。 (4)附加xx(ESxx)BX+SI单元。 (5)堆栈xxBP+DI+2单元。 3.4判断下列指令书写是否正确。 (1)MOV AL, BX (2)MOV AL, CL (3)INC [BX] (4)MOV 5,AL (5)MOV [BX],[SI] (6)M0V BL, OF5H (7)MOV DX, 2000H (8)POP CS (9)PUSH CS
(l)不正确,AL与BX数据宽度不同。 (2)正确。
(3)不正确,因为不明确是增量字节还是字。 (4)不正确,立即数不能作为目的操作数。 (5)不正确,因为不明确要传送的是字节还是字。 (6)正确。 (7)正确。
4 / 27
(8)不正确,CS不能作为: pop指令的操作数。
(9)不正确,CS不能作为PUSH指令的操作数。
3.5设堆钱指针SP的初值为1000H,AX=2000H,BX=3000H,试问: (1)执行指令PUSHAX后SP的值是多少?
(2)再执行PUSHBX及POPAX后,SP、AX和BX的值各是多少? (1)SP=OFFEH。
(2)SP=OFFEH;AX=3000H,BX=3000H。 3.6要想完成把[3000H]送[2000H]中,用指令:
MOM[200OH],[300OH]是否正确?如果不正确,应该用什么方法实现? 解:
不正确。正确的方法是: MOV AL,[300OH] MOV [2000H],AL
3.7假如想从200中减去AL中的内容,用SUB200,AL是否正确?如果不正确,应该用什么方法?
解:
不正确。正确的方法是: MOV BL, 200 SUB BL,AL
5 / 27