工业用微型计算机自考复习资料讲解.doc

上传人:1595****071 文档编号:86473920 上传时间:2023-04-14 格式:DOC 页数:48 大小:469.50KB
返回 下载 相关 举报
工业用微型计算机自考复习资料讲解.doc_第1页
第1页 / 共48页
工业用微型计算机自考复习资料讲解.doc_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《工业用微型计算机自考复习资料讲解.doc》由会员分享,可在线阅读,更多相关《工业用微型计算机自考复习资料讲解.doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Good is good, but better carries it.精益求精,善益求善。工业用微型计算机自考复习-第一章知识点微处理器是微型机的核心芯片,通常简称为MP(MicroProcessor),它是将计算机中的运算器和控制器集成在一个硅片上制作的集成电路。这样的芯片也被称为中央处理单元,一般简称为CPU(CentralProcessingUnit).第一代4位和低档8位微处理器(1971年1973年)第二代中高档8位微处理器(1974年1978年)第三代16位微处理器(1978年1981年)第四代32位高档微处理器(1985年1993年)第五代64位高档微处理器以后Intel又推出

2、Pentium-II微处理器。AdvancedMicroDevice公司(简称ADM)的K6是与Pentium-II性能相当的CPU。一、无符号数的表示和运算(一)进位计数制人们在日常生活中,采用多种进制的数字系统。最常用的是十进制。例如199811039109108100后缀B表示二进制;后缀H表示十进制;后缀D表示十进制(也可不加后缀)例如:10011011B是二进制数;9BH是十六进制数;155D是十进制数;这些数都表示同一数值,即十进制的155,只是使用的进制不同而已。1二进制和十六进制间的相互转换(1)十六进制转换为二进制数,不论是十六进制的整数还是小数,只要把每一位十六进制的数用相

3、应的二进制数来代替,就可以转换为二进制。例如9BA61001101110100110即9BA6H100110111010011B(2)二进制转换为十六进制这种转换,可分两步进行:对整部分,从小数点向左数每4位二进制为一组,最后不足的前面补零。对小数部分,从小数点向右数,每4位一组,最后不足4位的后面补0,然后把每4位二进制数用相应的十六进制数代替,即可转换为十六进制数。例如1011011101010100B754即10110111010101BB754H(2)二进制数转换为十进制数,对所给的二进制数,只要按前述的式(22)展开,即可得到对应的十进制数。例如10111010B1231211201

4、201111625(3)十进制整数转换为二进制数,把十进制整数转换为二进制数,一般采用除2取余法。例如只要决定的值,就可写出二进制数,因为201,所以(21520)一定是2的整数倍,2152所得的余数即为X0。其转换过程为2152107(商),余数1x0;107253(商),余数1x1;53226(商),余数1x2;26213(商),余数1x3;1326(商),余数1x4;623(商),余数1x5;321(商),余数1x6;120(商),余数1,商为0,转换结束。故215D11010111B。(4)十进制整数转换为十六进制数,同转换为二进制数的道理一样,也可采用除16取余例如215D转换为十六

5、进制的过程为2151613(商),余数7x0;1316=0(商),余数13x1;商为0,转换结束。故215DD7H;通常写成0D7H,D前面的0字说明D不是英文字符D而是数字13。又如何2345D的转换过程为1234516771(商),余数9x0;7711648(商),余数3x1;48163(商),余数0x2;3160(商),余数3x3,商为0,结束。故12345D3039H,然后可化成二进制数0011000000111001B。(二)原码如上所示,正数的符号位用零表示,负数的符号位用1表示,符号位之后表示数值的大小这种表示方法称为原码。例如:x=+114,x原=01110010Bx=+114

6、,x原=11110010B(三)反码正数的反码与原码相同。最高位一定为0,代表符号,其余位为数值位。负数的反码其符号位为1,与原码相同,数值位是将其负数的原码的数值位按位取反。例如:x=4,x反11111011Bx=0,x反11111111Bx=127,x反10000000B显然,反码的0也有2个,X0,x反0000000B(四)补码正数的补码表示与原码相同,即最高位为符号位,用“0”表示,其余位为数值位。而负数的补码为其反码加1即在反码的最低位加1形成补码。例如:x=4,x补x反111111011B111111100BFCH三、8位与16位二进制数的表示范围(一)8位二进制的范围1)无符号数

7、0255(或用0FFH表示)第三节微型计算机系统的组成一、微型计算机系统的构成微型计算机系统是由硬件和软件两部分组成的,它的层次结构如图所示。运算器CPU控制器主机存储器寄存器微型机硬件输入输出接口外围设备微型机系统系统软件微型机软件应用软件图1微型计算机系统的组成示意图(一)微型机硬件(1)微处理器,是微机系统的核心部件,简称为CPU,它包括运算器、控制器和寄存器几部分,运算器也叫算逻单元ALU(ArithmeticandLogicUnit)。(2)存储器(Memory)又叫主存或内存,是微机的存储和记忆部件,用以存放程序代码和运算需要的数据。内存通常使用半导体存储器。1)内存容量,以808

8、68088CPU为例,其地址总线为20根,寻址内存的范围为2201MB。这里B是字节(Byte),即每个内存单元内部存放的是一个字节(8位二进制)程序代码或数据,其形式均为二进制数(机器数)。因为8086的地址总线是20根,其寻址范围为1024KB,写成十六进制时就是5位,其地址范围为00000HFFFFFH。2)内存的操作对内存的操作是读(取)和写(存储)。3)内存的分类按存储器的工作性质可将内存分为只读存储器(ROM)和随机读写存储器(RAM)两大类。(3)输入输出接口(IOInterface)和外部设备CPU要与很多外部设备进行数据传送,必须通过“IO接口”,所以输入输出接口是CPU与外

9、设之间的桥梁。(4)总线由上面叙述可以看到微型计算机主要是由微处理器、存储器、IO接口和IO设备所组成,这些部件是用系统总线连接起来的。(二)微型计算机软件微型机的软件是为运行、管理和测试维护而编制的各种程序的总和,没有软件的计算机只是裸机,计算机就无法工作。计算机软件分为系统软件和应用软件,系统软件包括操作系统(DOS及WINDOWS、UNIX、LINUX等)和系统应用程序。三、微型计算机的外围设备一般的计算机,配备有多种外围设备。其输入的外围设备有:键盘、鼠标、扫描仪、输出的外部设备有:显示器、打印机、绘图仪。而软盘和硬盘驱动器既可作为输入又可作为输出设备,而大多数的光盘驱动器(CDROM

10、)是作为输入设备使用的,它可以把CD或VCD光盘中的音乐送入声卡放大,也可以把VCD光盘的图像通过解压缩后的彩色图像在CRT是显示出来。目前,都采用全双工的声卡(AudioPCI混声器)完成声音的接收(有话简接口)、录音、声音合成和声音的播放(有一定功率的放大)。这样,配上较大功率的有源单箱,就可以放送出美丽动听的音乐和歌声。配置上网卡(一种是电话上网的调制解调器,例如56K的MODEM,一种是高速网卡),连接上INTERNET网络,就可以通过IDTNET2PHONE等软件打网络电话,发传真(FAX),收发ENALL,通过WWW进行网上浏览。第四节微处理器一、Intel8086/8088微处理

11、器(一)80868088的功能结构微处理器80868088微处理器结构类似,都由算术逻辑单元ALU、累加器、专用和通用寄存器、指令寄存器、指令译码器、定时器控制器等组成,后四部分相当于控制器。不过按功能可以分为两大部分总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit)。(二)80868088的内部寄存器80868088内部有14个16位寄存器,编程时都要用到,所以必须识记。按其功能,可分为三大类:第一类是通过寄存器(8个),第二类是段寄存器(4个),第三类是控制寄存器(2个)。通用寄存器包括数据寄存器、地址寄存器和变址寄存器。1数据寄存器AX、B

12、X、CX、DX2地址指针寄存器SP、BP3变址寄存器SI、DI4段寄存器CS、SS、DS、ES5控制寄存器IP、FLAGSCF进位标志位。当进行加法或减法运算时。若最高位发生进位或错位,则CF1,否则CF0;PF奇偶标志位。当逻辑运算结果中“1”的个数为偶数时,PF1;为奇数时,PF0。AF辅助进位位。在8(16)位加法操作中,低4(8)位有进位、借位发生时,AF1,否则AF0;ZF零标志位。当运算结果为零时,ZF1。否则ZF0;SF符号标志位。当运算结果的最高位为1(即为负数)时,SF1,否则SF0;OF溢出标志位。当算术运算的结果超出了带符号数的范围,即溢出时,OF1,否则OF0。8位带符

13、号数范围是128127,16位带符号数的范围是3276832767。下面三个是控制标志位。控制标志位被设置后便对其后的操作产生控制作用。TF跟踪标志位。TF1使CPU处于单步执行指令的工作方式。这种方式便于进行程序的调试。每执行一条指令后,便自动产生一次内部中断,从而使用户能逐条地检查程序。IF中断允许标志位。IF1使CPU可以响应可屏蔽中断请求。IF0使CPU禁止响应可屏蔽中断请求。IF的状态对不可屏蔽中断及内部中断没有影响。DF方向标志位。DF1使串操作按减地址方向进行,也就是说,从高位地址开始,每操作一次地址减小一次。DF0使串操作按增地址方向进行。(四)80868088的工作方式808

14、68088有两种工作方式:最小和最大模式,最小模式是单处理器模式,最大模式是多处理器模式,一般接入8087协调处理器。现在,用户使用的大部分都是486以上微处理器,均为最大模式。第二章知识点第一节指令系统计算机的指令系统。可以分为六大类:数据传送指令;算术传送指令;逻辑运算和移位指令;串操作指令;控制转移指令;处理器控制指令。一、指令格式指令是以二进制代码形式表示的操作命令,这种二进制代码称为机器码。寻址方式,通常是指CPU指令中规定的寻找操作数所在地址的方式,80868088CPU内部设置了多个有关地址的寄存器,如各种地址指针寄存器以及变址寄存器等,因而使80868088的基本寻址方式有以下

15、七种。二、立即寻址(ImmediateAddrssing)例如:MOVCL,28HMOVAX,3189H三、寄存器寻址(RegisterAddrssing)指令中指定某些CPU寄存器存放操作数。上述寄存器可能是通用寄存器(8位或16位)、地址指针或变址寄存器,以及段寄存器。例如:MOVSS,AX四、直接寻址(DirectAddrssing)直接寻址指令在指令的操作码后面直接给出操作数的16位偏移地址。这个偏移地址也称为有效地址EA(EffectiveAddress),它与指令的操作码一起,存放在内存的代码段,也是低8位在前,高8位在后。但是,操作数本身一般存放在内存的数据段。例如:MOVAX,

16、3100H五、寄存器间接寻址六、变址寻址(IndexedAddressing)变址寻址指令将规定的变址寄存器的内容加上指令中给出的位移量,得到操作数的有效地址。80868088CPU中变址寄存器有两个:源变址寄存器SI和目的变址寄存器DI。位移可以是8位或16位二进制数,一般情况下操作数在内存的数据段,但也允许段超越。下面是一条变址寻址指令的例子。MOVBX,SI1003H七、基址寻址(BasedAddrssing)基址与变址相类似,不同之处在于指令中使用基址寄存器BX或基址指针寄存器BP,而不是变址寄存器SI和DI。需要指出一点,当使用BX寄存器实现基址时,一般情况下操作数是在数据段,即段地

17、址在DS寄存器;而当使用BP时操作数通常在堆栈段,即段地址在SS寄存器中。但是,同样允许段超越。下面两条指令是基址寻址的例子。MOVSI,DATABXMOVBLOCKBP,AX八基址变址寻址(BasedIndexedAddre88ing)这种寻址方式是前面已经介绍的两种寻址方式的结合。指令中规定一个基址寄存器(BX和BP二者之一)和一个变址寄存器(SI和DI二者之一),同时还给出一个8位或16位的位移量,将三者的内容相加就得到操作的有效地址。至于段地址,通常由所用的基址寄存器决定。当使用BX存放基址时,段地址一般在DS寄存器;当使用BP时,段地址一般在堆栈段SS中,但当指令中标明是段超越时例外

18、。以下是一条基址加变址寻址指令的例子:MOVAX,COUNTBXSI第二节80868088的指令系统一、数据传送指令(Datatransfer)数据传送指令是程序中使用最多的指令,这是因为无论程序针对何种具体的实际问题,往往都需要将原始数据、中间结果、最终结果以及其他各种信息,在CPU的寄存器和存储器之间传送。数据传送指令按其功能的不同,可以分为以下四组:通用数据传送指令;输入输出指令;目标地址传送指令;标志传送指令。以下是MOV指令的几个例子:MOVAX,CS;段寄存器至通用寄存器MOVAL,125;立即数至寄存器MOVMEM,15;立即数至存储器,直接寻址MOVSI,BX;寄存器至寄存器M

19、OVDS,AX;通用寄存器至段寄存器MOVBX,50H;立即数至存储器,寄存器间址MOVMEM,AX;寄存器至存储器,直接寻址MOVMEM,DS;段寄存器至存储器,直接寻址MOVDISPBX,CX;寄存器至存储器,基址寻址MOVAX,DISPSI;存储器至寄存器,变址寻址MOVDS,MEM;存储器至段寄存器,直接寻址MOVAX,DISPBXSI;存储器至寄存器,基址变址寻址PUSH(Pushwordontostack)推入操作POP(Popwordoffstacks)弹出操作指令格式及操作:PUSHsrc;(SP)(SP)2,首先,堆栈指针2送给堆栈指针(SP)1:(SP)(src),再把源操

20、作数(字)推入堆栈中POPdest;(dest)(SP)+1:(SP),首先,堆栈的内容弹出到目的操作数(SP)(SP)+2,再使堆栈指针加2这是两条堆栈操作指令,PUSH指令将寄存器或存储器的内容推入堆栈;POP指令将堆栈中的内容弹出到寄存器或存储器,但都是字操作。PUSH和POP指令的操作数可能有三种情况:1)寄存器2)段寄存器3)存储器无论那种操作数,其类型必须是字操作数(16位),如果推入或弹出堆栈的寄存器操作数,则应是一个16位寄存器。如果是存储器操作数,是两个地址连续的存储单元。如:PUSHAX;通用寄存器椎入堆栈PUSHBP;基址指针寄存器推入堆栈PUSHDATASI;两个连续的

21、存储单元推入堆栈POPDI;从堆栈弹出到变址寄存器POPES;从堆栈弹出至段寄存器POPALPHEBX;从堆栈弹出到两个连续的存储单元堆栈的用途很多,例如调用子程序(或过程),发生中断时都用推入堆栈的办法来保护断点的地址,而当子程序返回时再将断点地址从堆栈中弹出到IP,以便继续执行主程序。输入输出指令共两条。输入指令IN用于从外设端口接收数据,输出指令OUT向端口发送数据。指令格式及操作:INacc,port;(acc)(port)OUTport,acc;(port)(acc)目标地址传送指令(Addressobjecttransfer)80868088CPU提供了三条把地址指针写入寄存器或寄

22、存器对的指令,它们可以用来写入近地址指针和远地址指针。这三条指令是LDS、LES、LEA。LEAreg16mem16LEA指令将一个近地址指针写入到指定的寄存器。指令中的目标寄存器必须是一个16位通用寄存器,源操作数必须是一个存储器,指令的执行结果是把源操作数的有效地址即16位偏移地址传送到目标寄存器。例如LEABX,BUFFERLEAAX,BPDI二、算术运算指令(Arithmetic)算术运算指令共有以下五组:加法运算指令减法运算指令乘法运算指令除法运算指令转换指令(一)加法指令(Addition)加法指令包括普通加法(ADD)指令、带进位加法(ADC)指令和加1(INC)指令,另外还有两

23、条加法调整指令,即ASCII调整(AAA)和十进制调整(DAA)指令。1ADD(Addition)指令格式及操作:ADDdest,src;(dest)(dest)+(src)ADD指令将目标操作数与源操作数相加,并将结果存回目标操作数。加法指令将影响大多数标志位。3INC(Incrementby1),加1指令指令格式及操作:INCdest(dest)(dest)1INC指令将目标操作数加1,指令将影响大多数标志位,如SF、ZF、AF、PF和OF但对进位标志CF没有影响。(二)减法相令(Subtraction)8086/8088CPU共有七条减法指令,它们是普通减法(SUB)、带借位减(SBB)

24、、减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,

25、VAR1;寄存器减存储器DEC(Decrementby1)减指令指令格式及操作:DECdest;(dest)(dest)1DEC指令将目标操作数减1,指令对标志位SF、ZF、AF、PF和OF有影响,但不影响进位标志CF。操作数的类型与INC指令一样,可以是寄存器或存储器(段寄存器不可)。字节操作或字操作均可。例如,DECBL8位寄存器减:DECCX;16位寄存器减1DECBYTEPTRBX;存储器减1,字节操作DECWORDPTRBPDI;存储器减1,字操作CMP(Compare)比较指令指令格式及操作:CMPdest,src;(dest)(src)不把差值回送给目的的操作数,影响标志,这条比

26、较指令经常使用,并不把结果送给目的操作数,两个操作数不变,比较后影响标志,使程序根据比较后的标志转移。(三)乘法指令(Multiplication)80868088CPU可以通过执行一条指令完成乘法或除法运算。乘法指令共有三条:无符号数乘法指令(MUL)、带符号数乘法指令(IMUL)以及乘法的ASCII调整指令(AAM)。1MUL(Multiplicationunsigned)无符号数乘法指令格式:MULsrc指令操作为,字节乘法(AX)(src)(AL)字乘法(DX:AX)(src)(AX)MUL指令对标志位CF和OF有影响,但SF、ZF、AF和PF不确定。80868088CPU有三条除法指

27、令,它们是无符号数除法指令(DIV)、带符号数除法指令(IDIV)以及除法的ASCII调整指令(AAD)。DIA(Divisionunsigned),无符号数除法指令指令格式:DIVsrcDIA指令使大部分标志位如SF、ZF、AF、PF、CF和OF的值不确定。例比较两个字符串,找出其中第一个不相等字符的地址。如果两字符串全部相同。则转到ALLMATCH进行处理。这两个字符串长度均为20,首地址分别为STRING1和STRING2。LEASI,STRING1;(SI)字符串1首地址LEADI,STRING2;(DI)字符串2首地址MOVCX,20;(CX)字符串长度CLD;清方向标志DFREPE

28、CMPSB;如相等,重复进行比较JCXZALLMATCH;若(cx)=0,跳至ALLMATCHDECSI;否则(SI)1DECDI;(DI)1INT3;返回DEBUGALLMATCH:MOVSI,0MOVDI,0INT3;返回DEBUG控制转移指令(Controltransfer)8086/8088CPU提供了很多指令用于控制程序的转移。这类指令是以下四种:转移指令、循环控制指令、过程调用指令和中断指令,下面分别进行讨论。(一)转移指令转移是一种将程序从一处改换到另一处的最方便的方法。在CPU内部,转移是通过将目标地址传送给指令指针寄存器IP来实现的。转移指令包括无条件转移指令和条件转移指令。

29、1、无条件转移指令JMP(JumP)JUMP指令的操作是无条件地将控制转移到指令中规定的目的地址。另外,目标地址可以用直接的方式给出,也可以用间接的方式给出,JMP指令对标志位没有影响。(1)段内直接转移指令格式及操作:JMPnear_label;转移到近标号,(IP)(IP)disp(16位)例:在内存的数据段中存放了若干个8位带符号数,数据块的长度为COUNT(不超过255),首地址为TABLE,试统计其中正元素、负元素及零元素的个数,并分别将个数存入PLUS、MINUS和ZERO单元。为了统计正元素。负元素和零元素的个数,可先将PLUS、MINUS和ZERO三个单元清零,然后将数据表中带

30、符号数逐个取入AL寄存器并使其影响标志位,再利用前面介绍的JS、JZ等条件转移指令测试该数是一个负数、零还是正数,然后分别在相应的单元中进行计数。程序如下:XORAL,AL;(AL)0MOVPLUS,AL;清PLUS单元MOVMINUS,AL;清MINUS单元MOVZERO,AL;清ZERO单元LEASI,TABLE;(SI)数据表首址MOVCX,COUNT;(CX)数据表长度CLD;清标志位DFCHECK:LODSB;取一个数据到AL中ORAL,AL;使数据影响标志位JSXI;如为负,转X1JZX2;如为零,转X2INCPLUS;否则为正,PLUS单元加1JMPNEXTX1:INCMINUS

31、;MINUS单元加1JMPNEXTX2:INCZERO;ZERO单元加1NEXT:LOOPCHECK;CX减1,不为零,转CHECKINT3上面的程序中LOOP指令是一条循环控制指令,它的操作是先将1(CX)1,然后判断是否CX的内容为0?如果不等于0,则转移到所指的标号CHECK,如果(CX)0,则执行下一条指令。DEBUG调试程序的简单应用DEBUG调试程序的功能DEBUGCOM或DEBUGEXE是随DOS操作系统提供的。键入该程序(DEBUG)后,出现提示符,它具有如下命令:A为汇编命令;U为反汇编命令;T为跟踪命令;D为显示内存命令;E为修改内存命令;F为填充命令;R为检查和修改寄存器

32、命令;G为执行程序命令;L为装入内存命令;N为给程序命名的命令;I为输入,O为输出命令;M为传送内存命令;W为存盘命令,Q为结束DEBUG,回到DOS命令。第三章知识点第一节程序设计语言概述目前,有三种不同层次的计算机语言,这就是机器语言、汇编语言和高级语言。一、机器语言在机器语言(MachineLanguage)中,用二进制数表示指令和数据,它的缺点是不直观,很难理解和记忆。因此不用它编程。但是,机器语言程序是唯一能够被计算机直接理解和执行的程序,具有执行速度快,占用内存少等优点。二、汇编语言一般来说,有两种汇编程序,一种通常称为汇编(ASM),另一种称为宏汇编(MASM)。后者的功能更强。

33、三高级语言高级语言(HighlevelLanguage)这针对某个具体的计算机,所以通用性强。第二节汇编语言源程序的格式一、分段结构汇编语言源程序的结构是分段结构形式。一个汇编语言源程序由几个段(Segment)组成,每个段都以SEGMENT语句开始,以ENDS结束,而整个源程序是以END语句结尾。汇编语言源程序中的语句主要有以下两种类型:指令性语句;指示性语句。指令性语句主要由CPU指令组成,编译时能够生成二进制机器代码;指示性语句又称伪操作语句,主要由伪操作组成,编译时并不生成二进制机器代码。那么,为什么还需要伪指令呢?这是因为伪操作语句是给汇编使用的。一般情况下,汇编语言的语句可以有14

34、个组成部分,如下所示:名字操作码伪操作操作数;注释第三节常用伪操作宏汇编程序MASM提供了大约几十种伪操作,根据伪操作的功能,大致可以分以下几类:处理器方式伪操作数据定义伪操作符号定义伪操作段定义伪操作过程定义白伪操作模块定义白与连接伪操作宏处理伪操作条件伪操作列表伪操作其它伪操作一、段定义伪劣商品操作汇编语言程序的结构是分段的形式,一个汇编语言源程序若干个逻辑段组成,所有的指令、变量等都分别存放在各个逻辑段内。段定义伪操作的用途是在汇编语言源程序中定义逻辑段。常用的段定义伪操作有SEGMENT、ENDS和ASSUME等。(一个)SEGMENTENDS格式:段名SEGMENT定位类型组合类型类

35、别段名ENDS二、数据定义伪操作数据定义伪操作的用途是定义一个变量的庞大,给存储器赋初值,或者仅仅给变量分别存储单元,而不赋予特定的值。下面介绍几种常用的、简单的数据定义伪操作。常用的数据定义伪操作有下列5种。BD定义字节DW定义字(2个字节)DD定义双字(4个字节)SQ定义四字(8字节)DT定义十字节(10个字节)上述5种数据定义伪操作的一般格式为变量名伪操作操作数,操作数三、符号定义伪操作符号定义伪操作的用途是给一个符号重新命名,或定义新的类型属性等。常用的符号伪操作有:EQU、(等号)和LABEL等。(一)EQU格式:名字EQU表达式四、过程定义伪操作PROCENDP格式过程名PROCN

36、EARFAAARRET过程名ENDP五、模块定义与连接伪操作在编写规模比较大的汇编语言程序时,可以将整个程序划分成为几个独立的源程序(或称为模块),然后将各个模块分别汇编,生成各自的目标程序,最后再连接成一个完整的可执行程序各个模块之间可进行符号访问,也就是说,在一个模块中定义的符号可被另一个模块引用。这类符号称为外部符号,而将那些在一个模块中定义,且只在同一模块中引用的符号称为局部符号。为了进行连接以及这些将要连接在一起的模块之间实现相互的符号访问,以便进行变量传送,常使用以下伪操作:NAME、END、PUBLIC、EXTRN。(一)NAME伪操作该伪操作用于给源文件汇编以后得到的目标程序指

37、定一个模块名,连接时要使用它。格式为NAME模块名第四节汇编语言程序设计程序设计步骤(一)程序设计的基本步骤对于给定的课题进行程序设计,一般应按如下步骤进行:分析课题分析课题就是对课题任务有明确认识,对复杂题目应进行抽象简化,建立数学模型。并弄清已知条件、原始数据和应得到的结果,以及课题任务对程序的功能、运算精度、执行速度等方面的要求。确定算法确定算法就是选择解决问题的途径和方法,对于一个具体问题,算法可能有多种,应该选取简单、高效,能在计算机上易于实现的算法。画流程图流程图是算法的一种图形描述,由逻辑框和流程线组成。关于流程图的画法已经在C语言部分讲述。对于复杂的问题可分解为若干个程序模块,

38、然后确定各模块的算法,画出程序流程图。对于大的程序可分别画出分模块流程图和总的流程图,这时总流程图可设计得粗略一些,能反映出总体结构即可。当然,对于简单的程序段,也可不画流程图,而直接按确定的算法编写程序。存储器资源分配诸如各程序段的存放地址、数据区地址、工作单元分配等。编制程序、调试和修改DOS和BIOS调用(2)用户如何使用一般说来,用户可通过四种方式控制PC机的硬件,表示如下:使用高级语言提供的功能进行控制,但提供的一些IO语句较少,执行速度慢。使用DOS提供的程序来控制硬件,其中DOS为用户提供的IO程序有近百种,而且都是在较高层次上提供的,不需要用户对硬件有太多的了解。使用DOS调用

39、的可移植性好,输入输出功能多,编程简单,调试方便,但运行效率低些。使用BIOS提供的程序控制硬件,这是一种底层控制方法,要求用户对微机的硬件有深入的了解,BIOS驻留在ROM中,不依赖于操作系统,这使得使用BIOS调用的汇编语言、C、PASCAL语言程序的可移植性差。因此,当BIOS和DOS提供的功能相同时,首先要先用DOS。但BIOS运行效率高,因此,在要求高速场合下,可选用BIOS调用。注意,BIOS的一部分功能,例如CRT显示功能,是DOS所不具备的。直接访问硬件,这就要求用户对计算机的外部设备很熟悉,通常用于获得高效率和DOS以及BIOS不支持的功能,但程序的可移植性更差。BIOS调用

40、BIOS称为基本输入输出系统,是固化在ROM中的一组IO服务程序,除系统测试,初始化引导程序及部分中断向量装入程序外,还为用户提供了常用的设备驱动程序,如键盘输入打印机及显示输出等。BIOS的调用方法同DOS系统功能调用类似,如下所示。置功能号n送AH置入口参数执行INTn分析出口参数(!)键盘输入(2)打印机输出(3)时间中断(4)CRT显示BIOS的INT10H显示功能很强,主要包括设置显示方式,设置光标大小和位置,设置调色板号,显示字符和图形等。例下面的程序可显示256个字符,但由于程序小,编写成COM文件的形式。求多个同学年龄之和,但年龄和不超过9999岁。源程序如下:DATASEGM

41、NT;规范化形式NLINDB23H,3H,38H;年龄原始数据,为BCD码NUMEQUNLIN;人数SUMDW?;年龄和单元,定义为字,可能9876岁DATAENDS;规范化形式STACK;规范化形式START:MOVAX,DATA;规范化形式MOVDX,AXMOVCX,NUMXORAX,AX;清AXMOVSI,OFFSETNLIN;原始数据首址(偏移地址)LP2:ADDAL,SI;(AL)(AL)SI,累加用ADDDAA;十进制调整ADCAH,0(AH)(AH)0CYXCHGAH,AL;AH,AL交换ADDAL,0;对原AH十进制调整DAA;DAA只能跟在加法后XCHGAH,AL;调整后交换

42、,也可设法用PUSH,POP指令INCSI;指令下一个年龄LOOPLP2;循环累加MOVSUM,AX;存放在内存DS:SUM单元,字操作MOVAH,4CH;规范化形式INT21HCODEENDSENDSTART;规范化形式第五节汇编语言的上机过程一、工作环境目前,由于个人计算机的普及,在PC机上学习汇编语言是非常容易的了,应在磁盘上建立以下文件:MASMEXE;宏汇编程序,用50以上版本LINKEXE;为连接程序EXE2BINEXE;为转换成COM文件所需要的程序DEBUGCOM;调试程序NECOM、QEXE或EDITCOM等任何一种全屏幕编辑程序以上程序最好安装在硬盘。二、建立汇编语言源文件

43、三、MASM和LINK程序的应用(一)用MASM程序产生OBJ文件(二)用LINK程序进行链接(三)用DEBUC调试程序进行调试(四)COM文件的生成按照COM文件编写的源程序(五)批处理文件的应用为加快源程序的编辑、编译、链接和转换的速度,用户可设计一个批处理文件,将实现以上命令的组织在批目理文件中。第四章知识点一、存储的分类按存取速度和用途可把存储器分为两大类:把具有一定容量、存取速度快的存储器称为内部存储器,简称内存。把存储容量大而速度较慢的存储器称为外部存储器,简称外存。在微型计算机中常见的外存有软磁盘、硬磁盘、盒式磁盘等。二、半导体存储器的分类从制造工艺的角度可把半导体存储器分为双极

44、型、CMOS型、HMOS型等;从应用角度看将其分为两大类:随机读写存储器(RandomAccessmemory),又称随机存取存储器,简称RAM;只读存储器(ReadOnlyMemory)。两种存储器的特点(一)只读存储器(ROM)(二)随机读写存储器(RAM)三、半导体存储器的指标衡量半导体存储器的指标很多,诸如可靠性、功耗、价格、电源种类等,但从接口电路来看,最重要的指标是存储器芯片的容量和存取速度。第二节随机读写存储(RAM)一、静态RAM(一)静态RAM的结构静态RAM内部是由很多基本存储电路组成的。该电路是1位存储电路,由4个MOS管组成的双稳态触发器,加上读出写入的电路组成。RAM容量为单元数与数据线位数之乘积,为了选中某一个单元

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁