工业用微型计算机自考复习.docx

上传人:b****7 文档编号:10466209 上传时间:2023-02-13 格式:DOCX 页数:28 大小:55.47KB
下载 相关 举报
工业用微型计算机自考复习.docx_第1页
第1页 / 共28页
工业用微型计算机自考复习.docx_第2页
第2页 / 共28页
工业用微型计算机自考复习.docx_第3页
第3页 / 共28页
工业用微型计算机自考复习.docx_第4页
第4页 / 共28页
工业用微型计算机自考复习.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

工业用微型计算机自考复习.docx

《工业用微型计算机自考复习.docx》由会员分享,可在线阅读,更多相关《工业用微型计算机自考复习.docx(28页珍藏版)》请在冰豆网上搜索。

工业用微型计算机自考复习.docx

工业用微型计算机自考复习

第一章知识点

微处理器是微型机的核心芯片,通常简称为MP(MicroProcessor),它是将计算机中的运算器和控制器集成在一个硅片上制作的集成电路。

这样的芯片也被称为中央处理单元,一般简称为CPU(CentralProcessingUnit).

第一代4位和低档8位微处理器(1971年-1973年)

第二代中高档8位微处理器(1974年-1978年)

第三代16位微处理器(1978年-1981年)

第四代32位高档微处理器(1985年-1993年)

第五代64位高档微处理器

以后Intel又推出Pentium-II微处理器。

AdvancedMicroDevice公司(简称ADM)的K6是与Pentium-II性能相当的CPU。

一、无符号数的表示和运算

(一)进位计数制

人们在日常生活中,采用多种进制的数字系统。

最常用的是十进制。

例如

1998=1×103+9×10+9×10+8×100

后缀B表示二进制;后缀H表示十进制;后缀D表示十进制(也可不加后缀)

例如:

10011011B—是二进制数;9BH—是十六进制数;155D—是十进制数;这些数都表示同一数值,即十进制的155,只是使用的进制不同而已。

1.二进制和十六进制间的相互转换

(1)十六进制转换为二进制数,不论是十六进制的整数还是小数,只要把每一位十六进制的数用相应的二进制数来代替,就可以转换为二进制。

例如

9BA6

1001101110100110

即9B.A6H=10011011.1010011B

(2)二进制转换为十六进制这种转换,可分两步进行:

对整部分,从小数点向左数每4位二进制为一组,最后不足的前面补零。

对小数部分,从小数点向右数,每4位一组,最后不足4位的后面补0,然后把每4位二进制数用相应的十六进制数代替,即可转换为十六进制数。

例如

10110111.01010100

B754

即10110111.010101B=B7.54H

(2)二进制数转换为十进制数,对所给的二进制数,只要按前述的式(2-2)展开,即可得到对应的十进制数。

例如

1011.1010B=1×23+1×21+1×20+1×20+1×

+1×

=11.625

(3)十进制整数转换为二进制数,把十进制整数转换为二进制数,一般采用除2取余法。

例如

只要决定

的值,就可写出二进制数,因为20=1,所以(215-20)一定是2的整数倍,215÷2所得的余数即为X0。

其转换过程为

215÷2=107(商),余数=1=x0;

107÷2=53(商),余数=1=x1;

53÷2=26(商),余数=1=x2;

26÷2=13(商),余数=1=x3;

13÷2=6(商),余数=1=x4;

6÷2=3(商),余数=1=x5;

3÷2=1(商),余数=1=x6;

1÷2=0(商),余数=1,商为0,转换结束。

故215D=11010111B。

(4)十进制整数转换为十六进制数,同转换为二进制数的道理一样,也可采用除16取余例如215D转换为十六进制的过程为

215÷16=13(商),余数=7=x0;

13÷16=0(商),余数=13=x1;商为0,转换结束。

故215D=D7H;通常写成0D7H,D前面的0字说明D不是英文字符D而是数字13。

又如何2345D的转换过程为

12345÷16=771(商),余数=9=x0;

771÷16=48(商),余数=3=x1;

48÷16=3(商),余数=0=x2;

3÷16=0(商),余数=3=x3,商为0,结束。

故12345D=3039H,然后可化成二进制数0011000000111001B。

(二)原码

如上所示,正数的符号位用零表示,负数的符号位用1表示,符号位之后表示数值的大小这种表示方法称为原码。

例如:

x=+114,〔x〕原=01110010B

x=+114,〔x〕原=11110010B

(三)反码

正数的反码与原码相同。

最高位一定为0,代表符号,其余位为数值位。

负数的反码其符号位为1,与原码相同,数值位是将其负数的原码的数值位按位取反。

例如:

x=-4,〔x〕反=11111011B

x=-0,〔x〕反=11111111B

x=-127,〔x〕反=10000000B

显然,反码的0也有2个,X=+0,〔x〕反=0000000B

(四)补码

正数的补码表示与原码相同,即最高位为符号位,用“0”表示,其余位为数值位。

而负数的补码为其反码加1即在反码的最低位加1形成补码。

例如:

x=-4,〔x〕补=〔x〕反+1=11111011B+1=11111100B=FCH

三、8位与16位二进制数的表示范围

(一)8位二进制的范围

1)无符号数0~255(或用0~FFH表示)

第三节微型计算机系统的组成

一、微型计算机系统的构成

微型计算机系统是由硬件和软件两部分组成的,它的层次结构如图所示。

运算器

CPU控制器

主机存储器寄存器

微型机硬件输入/输出接口

外围设备

微型机系统

系统软件

微型机软件

应用软件

图1微型计算机系统的组成示意图

(一)微型机硬件

(1)微处理器,是微机系统的核心部件,简称为CPU,它包括运算器、控制器和寄存器几部分,运算器也叫算逻单元ALU(ArithmeticandLogicUnit)。

(2)存储器(Memory)又叫主存或内存,是微机的存储和记忆部件,用以存放程序代码和运算需要的数据。

内存通常使用半导体存储器。

1)内存容量,以8086/8088CPU为例,其地址总线为20根,寻址内存的范围为220=1MB。

这里B是字节(Byte),即每个内存单元内部存放的是一个字节(8位二进制)程序代码或数据,其形式均为二进制数(机器数)。

因为8086的地址总线是20根,其寻址范围为1024KB,写成十六进制时就是5位,其地址范围为00000H~FFFFFH。

2)内存的操作对内存的操作是读(取)和写(存储)。

3)内存的分类按存储器的工作性质可将内存分为只读存储器(ROM)和随机读写存储器(RAM)两大类。

(3)输入输出接口(I/OInterface)和外部设备CPU要与很多外部设备进行数据传送,必须通过“I/O接口”,所以输入输出接口是CPU与外设之间的桥梁。

(4)总线由上面叙述可以看到微型计算机主要是由微处理器、存储器、I/O接口和I/O设备所组成,这些部件是用系统总线连接起来的。

(二)微型计算机软件

微型机的软件是为运行、管理和测试维护而编制的各种程序的总和,没有软件的计算机只是裸机,计算机就无法工作。

计算机软件分为系统软件和应用软件,系统软件包括操作系统(DOS及WINDOWS、UNIX、LINUX等)和系统应用程序。

三、微型计算机的外围设备

一般的计算机,配备有多种外围设备。

其输入的外围设备有:

键盘、鼠标、扫描仪、输出的外部设备有:

显示器、打印机、绘图仪。

而软盘和硬盘驱动器既可作为输入又可作为输出设备,而大多数的光盘驱动器(CD-ROM)是作为输入设备使用的,它可以把CD或VCD光盘中的音乐送入声卡放大,也可以把VCD光盘的图像通过解压缩后的彩色图像在CRT是显示出来。

目前,都采用全双工的声卡(AudioPCI混声器)完成声音的接收(有话简接口)、录音、声音合成和声音的播放(有一定功率的放大)。

这样,配上较大功率的有源单箱,就可以放送出美丽动听的音乐和歌声。

配置上网卡(一种是电话上网的调制解调器,例如56K的MODEM,一种是高速网卡),连接上INTERNET网络,就可以通过IDTNET2PHONE等软件打网络电话,发传真(FAX),收发ENALL,通过WWW进行网上浏览。

第四节微处理器

一、Intel8086/8088微处理器

(一)8086/8088的功能结构

微处理器8086/8088微处理器结构类似,都由算术逻辑单元ALU、累加器、专用和通用寄存器、指令寄存器、指令译码器、定时器控制器等组成,后四部分相当于控制器。

不过按功能可以分为两大部分—总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit)。

(二)8086/8088的内部寄存器

8086/8088内部有14个16位寄存器,编程时都要用到,所以必须识记。

按其功能,可分为三大类:

第一类是通过寄存器(8个),第二类是段寄存器(4个),第三类是控制寄存器(2个)。

通用寄存器包括数据寄存器、地址寄存器和变址寄存器。

1.数据寄存器AX、BX、CX、DX

2.地址指针寄存器SP、BP

3.变址寄存器SI、DI

4.段寄存器CS、SS、DS、ES

5.控制寄存器IP、FLAGS

CF进位标志位。

当进行加法或减法运算时。

若最高位发生进位或错位,则CF=1,否则CF=0;

PF奇偶标志位。

当逻辑运算结果中“1”的个数为偶数时,PF=1;为奇数时,PF=0。

AF辅助进位位。

在8(16)位加法操作中,低4(8)位有进位、借位发生时,AF=1,否则AF=0;

ZF零标志位。

当运算结果为零时,ZF=1。

否则ZF=0;

SF符号标志位。

当运算结果的最高位为1(即为负数)时,SF=1,否则SF=0;

OF溢出标志位。

当算术运算的结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0。

8位带符号数范围是-128~+127,16位带符号数的范围是-32768~+32767。

下面三个是控制标志位。

控制标志位被设置后便对其后的操作产生控制作用。

TF跟踪标志位。

TF=1使CPU处于单步执行指令的工作方式。

这种方式便于进行程序的调试。

每执行一条指令后,便自动产生一次内部中断,从而使用户能逐条地检查程序。

IF中断允许标志位。

IF=1使CPU可以响应可屏蔽中断请求。

IF=0使CPU禁止响应可屏蔽中断请求。

IF的状态对不可屏蔽中断及内部中断没有影响。

DF方向标志位。

DF=1使串操作按减地址方向进行,也就是说,从高位地址开始,每操作一次地址减小一次。

DF=0使串操作按增地址方向进行。

(四)8086/8088的工作方式

8086/8088有两种工作方式:

最小和最大模式,最小模式是单处理器模式,最大模式是多处理器模式,一般接入8087协调处理器。

现在,用户使用的大部分都是486以上微处理器,均为最大模式。

第二章知识点

第一节指令系统

计算机的指令系统。

可以分为六大类:

数据传送指令;

算术传送指令;

逻辑运算和移位指令;

串操作指令;

控制转移指令;

处理器控制指令。

一、指令格式

指令是以二进制代码形式表示的操作命令,这种二进制代码称为机器码。

寻址方式,通常是指CPU指令中规定的寻找操作数所在地址的方式,8086/8088CPU内部设置了多个有关地址的寄存器,如各种地址指针寄存器以及变址寄存器等,因而使8086/8088的基本寻址方式有以下七种。

二、立即寻址(ImmediateAddrssing)

例如:

MOVCL,28H

MOVAX,3189H

三、寄存器寻址(RegisterAddrssing)

指令中指定某些CPU寄存器存放操作数。

上述寄存器可能是通用寄存器(8位或16位)、地址指针或变址寄存器,以及段寄存器。

例如:

MOVSS,AX

四、直接寻址(DirectAddrssing)

直接寻址指令在指令的操作码后面直接给出操作数的16位偏移地址。

这个偏移地址也称为有效地址EA(EffectiveAddress),它与指令的操作码一起,存放在内存的代码段,也是低8位在前,高8位在后。

但是,操作数本身一般存放在内存的数据段。

例如:

MOVAX,〔3100H〕

五、寄存器间接寻址

六、变址寻址(IndexedAddressing)

变址寻址指令将规定的变址寄存器的内容加上指令中给出的位移量,得到操作数的有效地址。

8086/8088CPU中变址寄存器有两个:

源变址寄存器SI和目的变址寄存器DI。

位移可以是8位或16位二进制数,一般情况下操作数在内存的数据段,但也允许段超越。

下面是一条变址寻址指令的例子。

MOVBX,〔SI+1003H〕

七、基址寻址(BasedAddrssing)

基址与变址相类似,不同之处在于指令中使用基址寄存器BX或基址指针寄存器BP,而不是变址寄存器SI和DI。

需要指出一点,当使用BX寄存器实现基址时,一般情况下操作数是在数据段,即段地址在DS寄存器;而当使用BP时操作数通常在堆栈段,即段地址在SS寄存器中。

但是,同样允许段超越。

下面两条指令是基址寻址的例子。

MOVSI,DATA〔BX〕

MOVBLOCK〔BP〕,AX

八.基址-变址寻址(BasedIndexedAddre88ing)

这种寻址方式是前面已经介绍的两种寻址方式的结合。

指令中规定一个基址寄存器(BX和BP二者之一)和一个变址寄存器(SI和DI二者之一),同时还给出一个8位或16位的位移量,将三者的内容相加就得到操作的有效地址。

至于段地址,通常由所用的基址寄存器决定。

当使用BX存放基址时,段地址一般在DS寄存器;当使用BP时,段地址一般在堆栈段SS中,但当指令中标明是段超越时例外。

以下是一条基址加变址寻址指令的例子:

MOVAX,COUNT〔BX〕〔SI〕

第二节8086/8088的指令系统

一、数据传送指令(Datatransfer)

数据传送指令是程序中使用最多的指令,这是因为无论程序针对何种具体的实际问题,往往都需要将原始数据、中间结果、最终结果以及其他各种信息,在CPU的寄存器和存储器之间传送。

数据传送指令按其功能的不同,可以分为以下四组:

通用数据传送指令;

输入/输出指令;

目标地址传送指令;

标志传送指令。

以下是MOV指令的几个例子:

MOVAX,CS;段寄存器至通用寄存器

MOVAL,125;立即数至寄存器

MOVMEM,15;立即数至存储器,直接寻址

MOVSI,BX;寄存器至寄存器

MOVDS,AX;通用寄存器至段寄存器

MOV〔BX〕,50H;立即数至存储器,寄存器间址

MOVMEM,AX;寄存器至存储器,直接寻址

MOVMEM,DS;段寄存器至存储器,直接寻址

MOVDISP〔BX〕,CX;寄存器至存储器,基址寻址

MOVAX,DISP〔SI〕;存储器至寄存器,变址寻址

MOVDS,MEM;存储器至段寄存器,直接寻址

MOVAX,DISPBX〕〔SI;存储器至寄存器,基址-变址寻址

PUSH(Pushwordontostack)推入操作

POP(Popwordoffstacks)弹出操作

指令格式及操作:

PUSHsrc;(SP)←(SP)-2,首先,堆栈指针-2送给堆栈指针

((SP)+1:

(SP))←(src),再把源操作数(字)推入堆栈中

POPdest;(dest)←((SP)+1:

(SP)),首先,堆栈的内容弹出到目的操作数

(SP)←(SP)+2,再使堆栈指针加2

这是两条堆栈操作指令,PUSH指令将寄存器或存储器的内容推入堆栈;POP指令将堆栈中的内容弹出到寄存器或存储器,但都是字操作。

PUSH和POP指令的操作数可能有三种情况:

1)寄存器

2)段寄存器

3)存储器

无论那种操作数,其类型必须是字操作数(16位),如果推入或弹出堆栈的寄存器操作数,则应是一个16位寄存器。

如果是存储器操作数,是两个地址连续的存储单元。

如:

PUSHAX;通用寄存器椎入堆栈

PUSHBP;基址指针寄存器推入堆栈

PUSHDATA〔SI〕;两个连续的存储单元推入堆栈

POPDI;从堆栈弹出到变址寄存器

POPES;从堆栈弹出至段寄存器

POPALPHE〔BX〕;从堆栈弹出到两个连续的存储单元

堆栈的用途很多,例如调用子程序(或过程),发生中断时都用推入堆栈的办法来保护断点的地址,而当子程序返回时再将断点地址从堆栈中弹出到IP,以便继续执行主程序。

输入输出指令共两条。

输入指令IN用于从外设端口接收数据,输出指令OUT向端口发送数据。

指令格式及操作:

INacc,port;(acc)←(port)

OUTport,acc;(port)←(acc)

目标地址传送指令(Address—objecttransfer)

8086-8088CPU提供了三条把地址指针写入寄存器或寄存器对的指令,它们可以用来写入近地址指针和远地址指针。

这三条指令是LDS、LES、LEA。

LEAreg16mem16

LEA指令将一个近地址指针写入到指定的寄存器。

指令中的目标寄存器必须是一个16位通用寄存器,源操作数必须是一个存储器,指令的执行结果是把源操作数的有效地址即16位偏移地址传送到目标寄存器。

例如

LEABX,BUFFER

LEAAX,〔BP〕〔DI〕

二、算术运算指令(Arithmetic)

算术运算指令共有以下五组:

加法运算指令

减法运算指令

乘法运算指令

除法运算指令

转换指令

(一)加法指令(Addition)

加法指令包括普通加法(ADD)指令、带进位加法(ADC)指令和加1(INC)指令,另外还有两条加法调整指令,即ASCII调整(AAA)和十进制调整(DAA)指令。

1.ADD(Addition)

指令格式及操作:

ADDdest,src;(dest)←(dest)+(src)

ADD指令将目标操作数与源操作数相加,并将结果存回目标操作数。

加法指令将影响大多数标志位。

3.INC(Incrementby1),加1指令

指令格式及操作:

INCdest(dest)←(dest)+1

INC指令将目标操作数加1,指令将影响大多数标志位,如SF、ZF、AF、PF和OF但对进位标志CF没有影响。

(二)减法相令(Subtraction)

8086/8088CPU共有七条减法指令,它们是普通减法(SUB)、带借位减(SBB)、减1(DEC)、求补(NEG)、比较(CMP)指令,以及减法的ASCII调整(AAS)和十进制调整(DAS)指令,重点是SUB、DEC、CMP指令。

SUB(Subtraction)

指令格式及操作:

SUBdest,src;(desd)←(desd)←(src)

SUB指令将目标操作数减源操作数,结果送回目标操作数。

指令对标志位SF、ZF、AF、PF、CF和OF有影响

操作数的类型与加法指令一样,即目标操作数可以是寄存器或存储器,源操作数可以是立即数、寄存器或存储器,但不允许两个存储器相减。

既可以字节相减,也可以字相减。

例如,SUBAL,98H;寄存器减立即数

SUBBX,CX;寄存器减寄存器

SUBDX,VAR1;寄存器减存储器

DEC(Decrementby1)减指令

指令格式及操作:

DECdest;(dest)←(dest)-1

DEC指令将目标操作数减1,指令对标志位SF、ZF、AF、PF和OF有影响,但不影响进位标志CF。

操作数的类型与INC指令一样,可以是寄存器或存储器(段寄存器不可)。

字节操作或字操作均可。

例如,

DECBL8位寄存器减:

DECCX;16位寄存器减1

DECBYTEPTR〔BX〕;存储器减1,字节操作

DECWORDPTR〔BP〕〔DI〕;存储器减1,字操作

CMP(Compare)比较指令

指令格式及操作:

CMPdest,src;(dest)-(src)

不把差值回送给目的的操作数,影响标志,这条比较指令经常使用,并不把结果送给目的操作数,两个操作数不变,比较后影响标志,使程序根据比较后的标志转移。

(三)乘法指令(Multiplication)

8086/8088CPU可以通过执行一条指令完成乘法或除法运算。

乘法指令共有三条:

无符号数乘法指令(MUL)、带符号数乘法指令(IMUL)以及乘法的ASCII调整指令(AAM)。

1.MUL(Multiplicationunsigned)无符号数乘法

指令格式:

MULsrc

指令操作为,字节乘法(AX)←(src)×(AL)

字乘法(DX:

AX)←(src)×(AX)

MUL指令对标志位CF和OF有影响,但SF、ZF、AF和PF不确定。

8086/8088CPU有三条除法指令,它们是无符号数除法指令(DIV)、带符号数除法指令(IDIV)以及除法的ASCII调整指令(AAD)。

DIA(Divisionunsigned),无符号数除法指令

指令格式:

DIVsrc

DIA指令使大部分标志位如SF、ZF、AF、PF、CF和OF的值不确定。

例比较两个字符串,找出其中第一个不相等字符的地址。

如果两字符串全部相同。

则转到ALL_MATCH进行处理。

这两个字符串长度均为20,首地址分别为STRING1和STRING2。

LEASI,STRING1;(SI)←字符串1首地址

LEADI,STRING2;(DI)←字符串2首地址

MOVCX,20;(CX)←字符串长度

CLD;清方向标志DF

REPECMPSB;如相等,重复进行比较

JCXZALL_MATCH;若(cx)=0,跳至ALL_MATCH

DECSI;否则(SI)-1

DECDI;(DI)-1

INT3;返回DEBUG

ALL_MATCH:

MOVSI,0

MOVDI,0

INT3;返回DEBUG

控制转移指令(Controltransfer)

8086/8088CPU提供了很多指令用于控制程序的转移。

这类指令是以下四种:

转移指令、循环控制指令、过程调用指令和中断指令,下面分别进行讨论。

(一)转移指令

转移是一种将程序从一处改换到另一处的最方便的方法。

在CPU内部,转移是通过将目标地址传送给指令指针寄存器IP来实现的。

转移指令包括无条件转移指令和条件转移指令。

1、无条件转移指令JMP(JumP)

JUMP指令的操作是无条件地将控制转移到指令中规定的目的地址。

另外,目标地址可以用直接的方式给出,也可以用间接的方式给出,JMP指令对标志位没有影响。

(1)段内直接转移指令格式及操作:

JMPnear_label;转移到近标号,(IP)←(IP)+disp(16位)

例:

在内存的数据段中存放了若干个8位带符号数,数据块的长度为COUNT(不超过255),首地址为TABLE,试统计其中正元素、负元素及零元素的个数,并分别将个数存入PLUS、MINUS和ZERO单元。

为了统计正元素。

负元素和零元素的个数,可先将PLUS、MINUS和ZERO三个单元清零,然后将数据表中带符号数逐个取入AL寄存器并使其影响标志位,再利用前面介绍的JS、JZ等条件转移指令测试该数是一个负数、零还是

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1