微机题,编制完成EAX*5/8的程序段。要求:1.用乘法指令实现。2.用移位和加法指令。

作者&投稿:郗强 (若有异议请与网页底部的电邮联系)
什么是操作系统~

操作系统的英文翻译是Operating System,简称OS,是指电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石,如下图就是windows xp 操作系统的界面。

一、操作系统可以简单的分为六类,分别是:
1、简单操作系统。
简单操作系统是计算机初期所配置的操作系统,它的功能主要是操作命令的执行,文件服务,支持高级程序设计语言编译程序和控制外部设备等。

2、分时系统。
分时系统支持位于不同终端的多个用户同时使用一台计算机,彼此独立互不干扰,用户感到好像一台计算机全为他所用一样。

3、实时操作系统。
实时操作系统是为实时计算机系统配置的操作系统。它的主要特点是资源的分配和调度首先要考虑实时性然后才是效率。

4、网络操作系统。
网络操作系统是为计算机网络配置的操作系统,在其支持下,网络中的各台计算机能互相通信和共享资源。其主要特点是与网络的硬件相结合来完成网络的通信任务。

5、分布操作系统。
分布操作系统是为分布计算系统配置的操作系统。

二、操作系统的功能是:
1、进程管理,其主要任务是对处理器的时间进行合理分配、对处理器的运行实施有效的管理。
2、存储器管理,主要任务是对存储器进行分配、保护和扩充。
3、设备管理,根据确定的设备分配原则对设备进行分配,使设备与主机能够并行工作,为用户提供良好的设备使用界面。
4、文件管理,有效地管理文件的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提供更有效的方法及手段。
5、用户接口,通过用户接口,用户只需进行简单操作,就能实现复杂的应用处理。

几个常用的操作系统:
1、 DOS操作系统
DOS是英文Disk Operation System的简称,中文为磁盘操作系统,自1981年推出1.0版发展至今已升级到6.22版,DOS的界面用字符命令方式操作,只能运行单个任务。
2、 Windows 9x
Windows 9x是一个窗口式图形界面的多任务操作系统,弥补了DOS的种种不足。此后推出的Windows ME(2000年)、Windows XP(2001年)与Windows 9x相比,着重增加和增强了网络互联、数字媒体、娱乐组件、硬件即插即用、系统还原等方面的功能。
3、Windows 98
是面向大众用户的版本,由于是从DOS发展过来的,在安装和运行了大型软件以后,系统会变得不太稳定,经常会死机。
4、windows xp
实在windows nt的技术上发展过来的,由于最初windows nt是为服务器设计的因此稳定性要比windows 98系列操作系统好很多。

5、 Windows NT/ Windows 2000
Windows NT是一个网络型操作系统,它在应用、管理、性能、内联网/互联网服务、通讯及网络集成服务等方面拥有多项其他操作系统无可比拟的优势。因此,它常用于要求严格的商用台式机、工作站和网络服务器。
Windows 2000是在Windows NT内核基础上构建起来的,同时吸收了Windows 9x的优点,因此,Windows 2000更易于使用和管理,可靠性更强,执行更迅速,更稳定和更安全,网络功能更齐全,娱乐效果更佳。
windows服务器最常用的是 windows 2003和windows 2008两种,这两款都被很多大小型企业所用。
6、 UNIX
UNIX操作系统设计是从小型机开始的,从一开始就是一种多用户、多任务的通用操作系统,它为用户提供了一个交互、灵活的操作界面,支持用户之间共享数据,并提供众多的集成的工具以提高用户的工作效率,同时能够移植到不同的硬件平台。
UNIX操作系统的可靠性和稳定性是其他系统所无法比拟的,是公认的最好的Internet服务器操作系统。从某种意义上讲,整个因特网的主干几乎都是建立在运行UNIX的众多机器和网络设备之上的。
7、 Linux
准确的说,Linux应该是符合UNIX规范的一个操作系统,Linix是基于源代码的方式进行开发的。Linux是一套免费使用和自由传播的类似UNIX的操作系统,这个系统是由全世界各地的成千上万的程序员设计和实现的。
用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。
Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的UNIX特性,具有多任务、多用户的能力。而且还包括了文本编辑器、高级语言编译器等应用软件。
它还包括带有多个窗口管理器的X—Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。它是一个功能强大、性能出众、稳定可靠的操作系统。
8、 其他操作系统
如:Mac OS是苹果电脑Macintosh机器的专用操作系统,从本质上将,Mac OS 也是UNIX的一个变体。

第1章 作 业 答 案
1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?

解:
把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微
处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了
微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形
成了微型计算机系统。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?
解:
CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指
令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算
术和逻辑运算以及控制计算机按照程序的规定自动运行。

1.3 微型计算机采用总线结构有什么优点?
解:
采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准
化,易于兼容和工业化生产。

1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用
一套总线或者合用部分总线,那么要靠什么来区分地址和数据?
解:
数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为
地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址
(指定要读或写数据的单元),过一段时间再读或写数据。

1.8在给定的模型中,写出用累加器的办法实现15×15的程序。

解:
LD A, 0
LD H, 15
LOOP:ADD A, 15
DEC H
JP NZ, LOOP
HALT

第 2 章 作 业 答 案

2.1 IA-32结构微处理器直至Pentillm4,有哪几种?
解:
80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。

2.6 IA-32结构微处理器有哪几种操作模式?
解:
IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操
作模式确定哪些指令和结构特性是可以访问的。

2.8 IA-32结构微处理器的地址空间如何形成?
解:
由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。

2.15 8086微处理器的总线接口部件由哪几部分组成?
解:
8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传
送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队
(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执
行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。

2.16 段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为
多少?
解:

指令的物理地址=12000H FFOOH=21FOOH

第 3 章 作 业 答 案
3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。
(1)MOV SI, 30O
(2)MOV CX, DATA[DI]
(3)ADD AX, [BX][SI]
(4)AND AX, CX
(5)MOV [BP], AX
(6)PUSHF
解:
(l)源操作数为立即寻址,目的操作数为寄存器寻址。
(2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。
(3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。
(4)源操作数和目的操作数都为寄存器寻址。
(5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。
(6)为堆栈操作。

3.2 试述指令MOV AX,2000H和MOV AX,DSz[2000H]的区别。
解:前一条指令是立即寻址,即把立即数2000H传送至寄存器AX。后一条指令
是直接寻址,是把数据(DS)段中的地址为200OH单元的内容传送至寄存器AX。

3.3 写出以下指令中内存操作数的所在地址。
(1)MOV AL, [BX 10]
(2)MOV [BP 10], AX
(3)INC BYTE PTR[SI十5]
(4)MOV DL, ES:[BX SI]
(5)MOV BX , [BP DI 2]
解:
(1)数据段BX 10单元。
(2)堆栈段BP 10单元。
(3)数据段SI 5字节单元。
(4)附加段(ES段)BX SI单元。
(5)堆栈段BP 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)正确。
(8)不正确,CS不能作为:pop指令的操作数。
(9)不正确,CS不能作为PUSH指令的操作数。

3.5 设堆钱指针SP的初值为1000H,AX=2000H, BX=3000H,试问:
(1)执行指令PUSH AX后SP的值是多少?
(2)再执行PUSH BX及POP AX后,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中的内容,用SUB 200,AL是否正确?如果不正确,应该
用什么方法?

解:不正确。
正确的方法是:
MOV BL, 200
SUB BL, AL

3.8 试用两种方法写出从8OH端口读入信息的指令。再用两种方法写出从4OH口输
出10OH的指令。
解:
(1)IN AL, 80H
(2)MOV DX, 8OH
IN AL, DX
(3)MOV, AL, lOOH
OUT 40H, AL
4)MOV AL, 10OH
MOV DX,4OH
OUT DX, AL

3.9假如:AL=20H,BL=1OH,当执行CMP AL,BL后,问:
(1)AL、BL中的内容是两个无符号数,比较结果如何?影响哪儿个标志位?
(2)AL、BL中的内容是两个有符号数,结果又如何,影响哪几个标志位?
解:
(l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0,P=0,C=0。
(2)因为两个都是符号正数,其结果与(l)相同。

3.10 若要使AL×10,有哪几种方法,试编写出各自的程序段?

解:
(1)使用乘法指令:
MOV BL,10
MUL BI,

(2)使用移位指令:
SHL AL,1
MOV BL,AL
SHL AL, 2
ADD AL,BL

(3)使用加法指令:
ADD AL,AL
MOV BL, AL
ADD AL, AL
ADD AL, AL
ADD AL, BL

3.11 8086汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快?

解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻
址方式。其中,寄存器操作数寻址方式的指令执行速度最快。

3.12 在直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段寄存器指出段地址,指令中应该如何表示?

解:
默认的数据访问,操作数在DS段;堆栈操作在SS段;串操作源操作数(SI)在DS段,目的操作数(DI)在ES段;用BP作为指针在SS段。如果要显式地指定段地址,则在操作数中规定段寄存器。例如:

MOV AX, ES:(BX 10H)

3.13 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定段地址?
解:
在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,段地址是
隐含约定的,也就是隐含地选择段寄存器。如操作类型为指令,则指定代码段寄
存器CS,如操作类型为堆栈操作,则指定堆找段寄存器SS,…,如表3-1中所示。
当需要超越约定时,通常用段替代前缀加冒号":"来表示段超越,它允许程序设计者偏离任何约定的段。
例如:
MOV ES:〔BX],AX
这时数据将从寄存器EAX传送至附加段中由EBX寻址的存储单元,而不是传送
到数据段中。

3.14 采用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么情况来使用?这4个寄存器组合间接寻址时,地址是怎样计算的?请举例说明。
解: 在寄存器间接寻址方式下,BX和BP作为间址寄存器使用,而SI、DI作为
变址寄存器使用。除BP间址默认的段为堆栈段,其他的都默认为数据段。它们
都可以单独使用,或加上偏移量或组合使用。如:
[BX n]
LBP n]
[SI n]
[DI n]
[BX SI n]
[BX DI n]
[BP SI n]
[BP DI n]

3.15 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行
的具体操作:
MOV BYTE PTR[BP],200
MOV WORD PTR[BX],2000
解:前一条指令是把立即数(应是字节)200,传送至堆栈段(BP的默认段〉偏移
量由BP规定的字节单元,地址为:52000H 620OH=58200H
第二条指令是把立即数.2000,传送至数据段(BX的默认段)偏移量由BX规定的
字单元,地址为:21000H 1400H = 22400H。
3.16 使用堆钱操作指令时要注意什么问题?传送指令和交换指令在涉及内存操作数时应该分别要注意什么问题?

解:使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。但堆栈固定在堆栈段且只能由SP指向。且堆栈操作要修改堆核指针。MOV指令不能实现内存单元间的数据传送。XCHG指令是交换,有一个操作数必须是寄存器。

3.17下面这些指令中哪些是正确的?哪些是错误的?若是错误的,请说明原因。
(1)XCHG CS, AX
(2)MOV [BX], [1000]
(3)XCHG BX, IP
(4)PUSH CS
(5)POP CS
(6)IN BX, DX
(7)MOV BYTE[BX], 100O
(8)MOV CS, [1000]
解:
(l)错误,CS不能交换。
(2)错误,MOV指令不能在内存间传送。
(3)错误,IP不能交换。
(4)错误,CS可以作为PUSH指令的操作数。
(5)错误,CS可以作为POP指令的操作数。
(6)错误,IN指令的目的操作数是累加器。
(7)错误,目的操作数是字节单元。
(8〉错误,CS不能作为MOV指令的目的操作数。

3.18 以下是格雷码的编码表,
O 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
请用换码指令和其他指令设计一个程序段,以实现由格雷码向ASCII码的转换。
解:
MOV BX,TABLE
MOV SI,ASCII_TAB
MOV AL,0
MOV CX,10
TRAN: XLAT TABLE
MOV DL,AL
ADD DL,30H
MOV [SI],DL
INC AL
LOOP TRAN
3.19 使用乘法指令时,特别要注意先判断是用有符号数乘法指令还是用无符号数乘法指令,这是为什么?

解:因为有符号数和无符号数,其数的乘法是一样的。但结果的符号取决于两
个操作数的符号。

3.20 字节扩展指令和字扩展指令一般用在什么场合?举例说明。

解:主要用于字节相除和字相除之前,把被除数扩展为两倍宽度的操作数。

3.21 什么叫BCD码?什么叫组合的BCD码?什么叫非组合的BCD码?8086汇编语言在对BCD码进行加、减、乘、除运算时,采用什么方法?

解:BCD码为十进制编码的二进制数。组合的BCD数是把两位BCD加在一个字节中,高位的在高4位。非组合的BCD码是把一位BCD数放在一个字节的低4位,高4位为0。8086在BCD加、减和乘法运算以后用BCD调整指令把结果调整为正确的BCD数。在BCD除法之前先用BCD调整指令再做除法.

3.22 用普通运算指令执行BCD码运算时,为什么要进行十进制调整?具体地讲,在进行BCD码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令?

解:因为8086指令把操作数作为二进制数进行二进制运算,要得到正确的BCD结果,需要进行调整。在加、减、乘法指令之后加上BCD调整指令,而在除法指令之前先用BCD调整指令再用除法指令。

第4章 作业答案
4.1 在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:
MOV AL, 1OH
MOV CX, 100OH
MOV BX , 2000H
MOV [CX],AL
XCHG CX, BX
MOV DH, [BX]
MOV DL, 01H
XCHG CX, BX
MOV [BX],DL
HLT
解:寄存器及存储单元的内容如下:
AL = 1OH
BL = OOH
BH = 2OH
CL = OOH
CH = 1OH
DH = 1OH
(10O0H) = lOH
(200OH) = 0lH
2.要求同题4.1,程序如下:
MOV AL, 50H
MOV BP, 100OH
MOV BX, 200OH
MOV [BP], AL
MOV DH, 20H
MOV [BX], DH
MOV DL, OlH
MOV DL, [BX]
MOV CX, 300OH
HLT
解:寄存器及存储单元的内容如下:
AL = 5OH
BL = OOH
BH = 20H
CL = OOH
CH = 30H
DL = 20H
DH = 2OH
BP = 100OH
(10OOH) = 5OH
(20OOH) = 20H
4.3 自1000H单元开始有一个100个数的数据块,若要把它传送到自200OH开始的存
储区中去,可以采用以下3种方法实现,试分别编制程序以实现数据块的传送。
(l)不用数据块传送指令
(2)用单个传送的数据块传送指令
(3)用数据块成组传送指令。
解:
(1) LEA SI, 1OOOH
LEA DI, 200OH
MOV CX, 100
L1: MOV AX, [SI]
MOV [DI], AX
LOOP Ll
HLT

(2) LEA SI, 100OH
LEA DI, 2000H
MOV CX, 100
CLD
L1: MOVSB
LOOP L1
HLT

(3) LEA SI, 100OH
LEA DI, 200OH
MOV CX, 100
CLD
REP MOVSB
HLT
4.4 利用变址寄存器,编写一个程序,把自1000H单元开始的100个数传送到自1070H
开始的存储区中去。
解:
LEA SI, 100OH
LEA DI, 1070H
MOV CX, 100
CLD
REP MOVSB
HLT
4.5 要求同题4.4,源地址为2050H,目的地址为2000H,数据块长度为50.
解:
LEA SI, 205OH
LEA DI, 200OH
MOV CX, 50
CLD
REP MOVSB
HLT
4.6 编写一个程序,把自100OH单元开始的100个数传送'至105OH开始的存储区中
(注意:数据区有重叠)。
解:
LEA SI, 100OH
LEA DI , 1050H
ADD SI, 63H
ADD DI, 63H
MOV CX, 100
STD
REP MOVSB
HLT
4.7 在自0500H单元开始,存有100个数。要求把它传送到1000H开始的存储区中,
但在传送过程中要检查数的值,遇到第一个零就停止传送。
解:
LEA SI, 050OH
LEA DI, 10OOH
MOV CX, 100
N1: MOV AL, [SI]
CMP AL, 0
JZ N2
MOV [DI], AL
INC SI
INC DI
LOOP N1
N2: HLT

4.14若在0500H单元中有一个数
(1)利用加法指令把它乘2,且送回原存储单元(假定X×2后仍为一个字节);
(2)X×4;
(3)X×10(假定X×l0≤255).
解:
(1) LEA BX, 050OH
MOV AL, [BX]
ADD AL, AL
MOV [BX], AL

(2) LEA BX, 0500H
MOV AL, [BX]
ADD AL, AL
ADD AL, AL
MOV [BX], AL

(3) LEA BX, 050OH
MOV AL, [BX]
ADD AL, AL
MOV DL, AL
ADD AL, AL
ADD AL, AL
ADD AL, DL
MOV [BX], AL

第 5 章 作业答案
5.1 总线周期的含义是什么?8086/8088CPU的基本总线周期由几个时钟组成?如果一个CPU的时钟频率为8MHz,那么,它的一个时钟周期是多少?一个基本总线周期是多少?如果主频为5MHz呢?

解: CPLI访问总线(从内存储器或I/0端口读/写字节或字)所需的时间称为总线周期。8086/8088CPU的基本总线周期由4个时钟组成。若CPU的时钟频率为8(5)MHz,时钟周期为1/8MHz=125(1/5MHz=2O)ns,基本总线周期为4×125(200)ns=500(800)ns

5.2 在总线周期的TI、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入
等待状态Tw? Tw在哪儿插入? 怎样插入?

解: 下面以存储器读为例进行说明。
在Tl周期:输出地址信号、地址锁存允许信号、内存或I/O端口访问控制信号;
在T2周期:CPIJ开始执行数据传送操作,此时,8086CPU内部的多路开关进行切换,将地址/数据线AD15~AD0上的地址撤销,切换为数据总线,为读写数据作准备。8288总线控制器发出数据总线允许信号和数据发送/接收控制信号DT/R允许数据收发器工作,使数据总线与8086CPU的数据线接通,并控制数据传送的方向。同样,把地址/状态线A19/S6~A16/S3切换成与总线周期有关的状态信息,指示若干与周期有关的情况。
在T3周期:开始的时钟下降沿上,8086CPU采样READY线。如果READY信号有效(高电平),则在T3状态结束后进人TA状态。在T4状态开始的时钟下降沿,把数据总线上的数据读入CPU或写到地址选中的单元。
在T4状态:结束总线周期。如果访问的是慢速存储器或是外设接口,则应该在Tl状态输出的地址,经过译码选中某个单元或设备后,立即驱动READY信号到低电平。8086CPU在T3状态采样到READY信号无效,就会插入等待周期Tw,在Tw状态CPU继续采样READY信号;直至其变为有效后再进人T4状态,完成数据传送,结束总线周期。在T4状态,8086CPU完成数据传送,状态信号 。变为无操作的过渡状态。在此期间,8086CPU结束总线周期,恢复各信号线的初态,准备执行下一个总线周期。

第 6 章 作 业 答 案
6.1 若有一单板机,具有用8片2114构成的4KBRAM,连线如图创所示。

若以每1KB RAM作为一组,则此4组RAM的基本地址是什么?地址有没有重叠区?每一组的地址范围为多少?

解:RAM的基本地址为:
第一组 OOOOH ~ 03FFH
第二组 4000H ~ 43FFH
第三组 8000H ~ 83FFH
第四组 COOOH ~ C3FFH
地址有重叠区。每一组的地址范围为OOOH ~ 3FFH(1024个字节)。

6.4 若要扩充1KB RAM(用2114片子),规定地址为8000H~83FFH,地址线应该如何
连接?
解: 扩充lKB RAM至规定地址8000H ~ 83FFH,其地址线的低10位接芯片,高6位地址(Al5 ~A10 = 100000)产生组选择信号。

第 7 章 作 业 答 案
7.1 外部设备为什么要通过接口电路和主机系统相连?

解: 因为外部设备种类繁多,输入信息可能是数字量、模拟量或开关量,而且输入速度、电平、功率与CPU差距很大。所以,通常要通过接口电路与主机系统相连。

7.4 CPU和输入输出设备之间传送的信息有哪几类?
解:CPU和输入输出设备之间传送的信息主要有3类。
(l)数据
在微型计算机中,数据通常为8位、16位或32位。
(2)状态信息
在输入时,有输入设备的信息是否准备好;在输出时有输出设备是否有空,若输出设备正在输出信息,则以忙指示等。
(3)控制信息
例如,控制输入输出设备启动或停止等。

7.9 设一个接口的输入端口地址为0100H,状态端口地址为0104H,状态端口中第5位为1表示输入缓冲区中有一个字节准备好,可以输入。设计具体程序以实现查询式
输入。
解: 查询输入的程序段为:
POLl : IN AL, 0104H
AND AL, 20H
JZ POLl
IN AL, 0100H

第 8 章作 业 答 案
8.1 在中断响应过程中,8086CPU向8259A发出的两个RT互信号分别起什么作用?
解: CPU发出的第一个 脉冲告诉外部电路,其提出的中断请求已被响应,
应准备将类型号发给CPU,8259A接到了这个 脉冲时,把中断的最高优先级
请求置入中断状态寄存器(ISR)中,同时把IRR(中断请求寄存器)中的相应位复
位。CPU发出的第二个 脉冲告诉外部电路将中断的类型号放在数据总线上。

8.2 8086CPU最多可以有多少个中断类型?按照产生中断的方法分为哪两大类?
解:8086CPU最多可以有256个中断类型。按照产生中断的方法,可以分为内
部中断(软件中断)和外部(硬件中断)中断两大类。

8.9 在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?
解: 因为在用户程序运行时,会在寄存器中有中间结果,当在中断服务程序中要
使用这些寄存器前要把这些寄存器的内容推至堆栈保存(称为保护现场)。在从中断服务程序返回至用户程序时把这些内容从堆找恢复至寄存器中(称为恢复现场)。

8.12 若在一个系统中有5个中断源,其优先权排列为:1、2、3、4、5,它们的中断服务程序的入口地址分别为:3000H、302OH、3050H、3080H、30AOH。编写一个程序,当有中断请求CPU响应时,能用查询方式转至申请中断的优先权最高的源的中断服
务程序。
解: 若5个中断源的中断请求放在一中断状态寄存器中,按优先权分别放在状态的7位(优先权最高)至位3中。查询方法的程序段为:
IN AL, STATUS
CMP AL, 80H
JNE N1
JMP 3000H
N1: IN AL, STATUS
CMP AL, 40H
JNE N2
JMP 3020H
N2: IN AL, STATUS
CMP AL, 20H
JNE N3
JMP 3050H
N3: IN AL, STATUS
CMP AL, 10H
JNE N4
JMP 3080H
N4: IN AL, STATUS
CMP AL, 08H
JNE N5
JMP 30A0H
N5: RET

第9章 作 业 答 案
9.3 在某一应用系统中,计数器/定时器8253地址为340H~343H,定时用作分频器(N为分频系数),定时器2用作外部事件计数器,如何编制初始化程序?
解:
定时器0用作分频器,工作方式2,其初始化程序为:
MOV AL, 34H
OUT 343H, AL
MOV AL, N1
OUT 342H, AL
MOV AL, N2
OUT 342H, AL
定时器2用作外部事件计数器,工作在方式0,其初始程序:
MOV AL, 0B0H
OUT 343H,AL
MOV AL, N1
OUT 342H,AL
MOV AL, N2
OUT 342H,AL

9.4 若已有一频率发生器,其频率为1MHZ,若要示求通过计数器/定时器8253,着重产生每秒一次的信号,8253应如何连接?编写出初始化程序。
解:
1MHZ的信号要变为每秒一次,则需经过106分频。一个通道的计数为16 位最大为65536。故需要需两个通道级连,则每个通道计数为1000。用通道0和通道1级连,都工作在方式2,初始化程序为:
MOV AL, 34H
OUT 343H, AL
MOV AL, 0E8H
OUT 342H, AL
MOV AL, 03
OUT 342H, AL
MOV AL, 74H
OUT 343H, AL
MOV AL, 0E8H
OUT 342H, AL
MOV AL, 03
OUT 342H, AL

9.9 编程将计数器/定时器8253计数器0设置为模式1,计数初值3000H;计数器1设置为模式2初值为2010H;计数器2设置为模式4初值为4030H;

解: 若端口地址为:0F8H~0FBH,初始化程序为:
MOV AL, 32H
OUT 0FBH, AL
MOV AL, 00H
OUT 0F8H, AL
MOV AL, 30H
OUT 0F8H, AL
MOV AL, 74H
OUT 0FBH, AL
MOV AL, 10H
OUT 0F9H, AL
MOV AL, 20H
OUT 0F9H, AL
MOV AL, 0B8H
OUT 0FBH, AL
MOV AL, 30H
OUT 0FAH, AL
MOV AL, 40H
OUT 0FAH, AL

第 10 章 作 业 答 案
10.4 可编程并行接口芯片8255A的3个端口在使用时有什么差别?

解:通常端口A或B作为输入输出的数据端口(端口A还可以作为双向数据端口),而端口C作为控制或状态信息的端口,它在"方式"字的控制下,可以分成两个4位的端口。每个端口包含一个4位锁存器。它们分别与端口A和B配合使用,可用以作为控制信号输出,或作为状态信号输入。

10.7 8255A有哪几种基本工作方式?对这些工作方式有什么规定?
解:8255A有3种基本的工作方式:
方式0-----基本输入输出:
方式1-----选通输入输出;
方式2-----双向传送。

10.8 设置8255A工作方式,8255A的控制口地址为OOC6H。要求端口A工作在方式1,输
入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。
解:按要求的方式控制字为:10111001B。编程语句为:
MOV AL, 0B9H
OUT OOC6H, AL ;

10.9 设可编程并行接口芯片8255A的4个端口地址为OOCOH、00C2H、00C4H、OOC6H,要求用置0/置1方式对PC6置1,对PC4置0。
解:对端口C的PC6置1的控制字为: 00001101B,
对PC4置O的控制字为: 0000100OB。
程序段为:
MOV AL, DH
OUT OOC6H, AL
MOV AL, 08H.
OUT 00C6H, AL


全自动洗衣机屏幕上出现了ea1是怎么了
全自动洗衣机屏幕上出现了ea1是因为您洗衣机的水位频率异常。处理方法:接通电源,耳朵接近进水阀有无“嗡嗡”的叫声,如果有,检查是否自来水断水,关闭水龙头,旋出进水管接头检查进水阀的过滤网是否有异物堵塞,如果有拔出过滤网进行清洁,如果问题还未解决应更换进水阀,可能进水阀阀芯卡死无法打开; ...

微机原理 学的是什么
2.理解指令的构成,指令操作数有效地址(EA)的形成3.理解立即寻址,直接寻址,寄存器寻址,寄存器间接寻址,...5.掌握程序设计的步骤,能根据问题要求分析画出程序框图,正确编制完成程序设计6.掌握分支程序,循环程序,...4.了解DMA 8237在PC\/XT机中的功能及工作过程。(七)中断1.理解中断的功能,中断源,中断优先权,中断...

请问,EA211与EA888发动机那个好?
一、EA211 我们熟知的EA211发动机,它其实包括了1.4L和1.6L自然吸气,以及1.2T\/1.4T涡轮增压共四种发动机,见下图 它的主要特点如下:1.轻量化 EA211上一代发动机EA111的缸体采用的是高强度蠕墨铸铁,非常耐用,但是质量很重,影响车辆的燃油经济性,随着时代的发展,人们对车辆燃油经济性提出了更...

三代ea888烧机油原因
三代ea888烧机油原因依旧是活塞环的油环卡滞导致的 卡滞活塞环的原因是这样的 长期不做有效的油路清洁;长期不更换防冻液;机油更换周期过长;经常短途行驶。活塞环卡滞的解决办法大修发动机 无损修复不拆解发动机释放恢复活塞环的弹性 大修发动机的弊端大修,维修多人操作技术不统一也组装不好,常温组装...

不去4S店!大众EA888发动机该如何选择机油?
品牌之间的差异、地域不同的差异、内部特性的差异、机型之间的差异,只有一一摆出这些差异才能找到一个平衡点做出最后的选择,选择出适合你的油品。目前品牌机油很多,权威的讲出对机油的判断,本人还没有到那个境界,只是在这里讲讲一些平衡过程的心得,方便大家参考。当然这篇贴子里我先讲讲大众EA888...

请教:EA888发动机烧机油问题
1.燃烧室积碳 2.活塞环被积碳卡滞导致挂机油下降3.气门油封出现腐蚀老化4.活塞与钢壁出现缝隙5.废气阀损坏6.进气阀出现故障引起汽车烧机油一个最重要的原因是积碳导致的,积碳会导致汽油燃烧不充分,形成大量积炭卡滞活塞环,导致烧机油更严重,而且还会导致钢壁出现划痕,从而混合气窜到机油箱破环机油...

第三代ea888发动机还烧机油么
发动机烧机油的主要表现是排气管冒蓝烟。如果车辆怠速状态发动机出现抖动、发动机机油在一个例行保养(换机油)周期中(无滴漏现象)严重缺少,那么车辆已出现烧机油情况。烧机油是指机油通过一定的途径进入了发动机的燃烧室,与混合气一起参与燃烧。主要是由于活塞环损坏导致汽缸漏气,机油窜入燃烧室。建议尽快...

大众的发动机真的爱烧机油么?比如EA211,EA111,EA888等?
大修后2000公里换一次全合成机油要连续两次,加上找一个好路况要单独磨合,3000-5000公里完成磨合,机油+汽油的成本很高,普通车大修磨合成本2000元。而且一旦报警马上叫拖车,比较麻烦。无损修复 二是这种车烧机油非常好办,先检查废气阀看看有没有问题,再看看缸壁磨损严重不严重,都没有问题就一定是活塞...

MT4自定义指标如何转化成EA
到此,源码保存完成。当然,我们也还有另的办法:可以打开一个原已存在的mq4文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上的源贴到文件中保存即可 也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后缀必须输入...

大众到底是EA113烧机油还是EA888烧机油?2.0升发动机。还有斯柯达明锐买...
首先EA111以及EA888都是铸铁机器,铸铁机器本身就有升温慢,冷车启动磨损大的缺点,您看的1.6、2.0和1.8T都是铸铁机器,只有新配置在捷达上边的EA211才是全铝发动机,所以大众机器烧机油是普遍现象,而不是某一款机器烧机油,只是相对而言,烧机油情况由轻到重的是1.6、1.8T和2.0,2.0那个...

叙永县17721336251: 【微机原理及应用】编写下列各题的指令序列?在线等,谢谢 -
蔡试安坤: 1、MOV AX,1234H MOV DS,AX2、(1)MOV AX,[3000H] MOV BX,[4000H] MOV [3000H],BX MOV [4000H],AX (2)MOV AX,[3000H] MOV BX,[4000H] CHANG [4000H],AX MOV [3000H],BX 3,PUSH AX MOV AX,BX POP BX

叙永县17721336251: 微机原理接口技术,汇编语言,内存中有一组五符号字节数据,要求编程按从小到大的顺序排列 -
蔡试安坤: .model flat.stack 4096.data array BYTE array_size DUP(?).code Sort PROC USES eax ecx esi, pArray:PTR DWORD, Count:DWORD mov pArray,OFFSET array mov ecx,Count dec ecx L1: push ecx mov esi,pArray L2: mov eax,[esi] cmp [esi+1],eax...

叙永县17721336251: 用C语言编程实现一个简单的四则运算计算器 -
蔡试安坤: #include <stdio.h> //函数,读数操作数 int getNextNum() { int ret; scanf("%d",&ret); return ret; } //函数,读运算符 char getOpt() { return getchar(); } //函数,计算 int caculate(int op1 , int op2 ,char opt) { if(opt=='+')return op1+op2; if(opt=='-')...

叙永县17721336251: 微机原理及其应用 试编制一程序,找出DA数据区中带符号数的最大数和最小数 -
蔡试安坤: DATAS SEGMENT ORG 3000H DATA DB 23H,22H,43H,4H,90H,22H,1H,0EAH MAX DB 0 MIN DB 0 DATAS ENDS STACKS SEGMENT DB 100 DUP(0) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS ...

叙永县17721336251: 微机原理编程题 10个数大小排序 -
蔡试安坤: 以前做的实验 可以参考下有一个10个字节的有符号数组,编程实验使该数组的元素按照从小到大的次序排列. data segment ;定义数据段 data1 db 32h,02h,01h,04h,0f1h,0f2h,0ffh,0fdh,0fah,79h count equ $-data1 data endscode segment...

叙永县17721336251: 铁路里面微机联锁图表里面的信号机:L/LUULU道岔1&?
蔡试安坤: 你这个联锁表里的也没提供全的,给你解释不明白的话,可以追问.L/L:进出站均为绿灯,这个是通过进路中信号显示中的;UU:双黄灯呗,侧线进站的意思;L:绿灯;U:黄灯.如果有LU,就是绿黄灯同时点亮.道岔(1/3):指进路中1/3号道岔在反位,(7/9)一个概念;5:指进路中5号道岔在定位,13和这是一个概念.如果有敌对信号之类的,比较难,建议你还是不要看了,以免糊涂.

叙永县17721336251: 微机原理及应用里的题,编写一段程序,实现从1加到100, -
蔡试安坤: ; ; ; ; ; ; 1加至抄100 ASSUME CS:CODE CODE SEGMENT ORG 100H START: MOV AX, 0 ;; AX的和值清零袭 MOV CX, 0 ;; CX的加数清零 LP: INC CX ;; CX←CX +1 ADD AX, CX ;; AX←AX +CX CMP CX, 100 ;; 将CX值与100比较bai JB LP ;; 若CX < 100,转LP循环du INT 3 ;;若CX=100, 程序zhi暂停,以便dao可看AX的和值 CODE ENDS END START

叙永县17721336251: 微机题怎么做? -
蔡试安坤: 交换位置用剪切,粘帖,看准位置.字体设置大小选中要改的字,选格式~字体(格式菜单栏在上面),页边距是选文件~页面设置~出来对话框,你就看吧,页面设置的大小,格式等都有一条,自己找吧,保存就是文件~保存(或另存为,看题目要求),插入就是把光标放在要插入的地方~选插入下拉菜单选文件(不是文件夹)选择要插入的文件

叙永县17721336251: 用C语言完成此题!北大计算机课的题,谢谢! -
蔡试安坤: #include int main() { int n,i,tmp; double walk,bike; FILE * fp, *wfp; fp = fopen("input.txt","rt"); wfp = fopen("output.txt","wt+"); if(fp == NULL) return -1; n = 0; fscanf(fp,"%d",&n); for(i=0; i { fscanf(fp,"%d",&tmp); walk = (double)tmp / 1.2; ...

叙永县17721336251: 急,关于微机原理的一些题目!谁能帮我做一下!这是老师发的题目!回答好的我可以追加30分题目如下: -
蔡试安坤: 考试?我喜欢,我来回答“1. 计算机硬件的组成部分?”:计算机硬件是计算机系统中所有实物的总称,(逻辑上)包...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网