




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、无符号数的表示和运算一进位计数制后缀B表示二进制;后缀H表示十进制;后缀D表示十进制也可不加后缀1二进制和十六进制间的相互转换1十六进制转换为二进制数,不管是十六进制的整数还是小数,只要把每一位十六进制的数用相应的二进制数来代替,就可以转换为二进制。即9BA6H100110111010011B2二进制转换为十六进制这种转换,可分两步进行:对整局部,从小数点向左数每4位二进制为一组,最后缺乏的前面补零。对小数局部,从小数点向右数,每4位一组,最后缺乏4位的后面补0,然后把每4位二进制数用相应的十六进制数代替,即可转换为十六进制数。例如即10110111010101BB754H2二进制数转换为
2、十进制数,对所给的二进制数,只要按前述的式22展开,即可得到对应的十进制数。例如10111010B12312112012011116253十进制整数转换为二进制数,把十进制整数转换为二进制数,一般采用除2取余法。4十进制整数转换为十六进制数,同转换为二进制数的道理一样,也可采用除16取余二原码 如上所示,正数的符号位用零表示,负数的符号位用1表示,符号位之后表示数值的大小这种表示方法称为原码。例如:x=+114,x原=01110010Bx=+114,x原=11110010B三反码正数的反码与原码相同。最高位一定为0,代表符号,其余位为数值位。负数的反码其符号位为1,与原码相同,数值位是将其负数
3、的原码的数值位按位取反。例如: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无符号数0255或用0FFH表示第三节 微型计算机系统的组成一、微型计算机系统的构成微型计算机系统是由硬件和软件两局部组成的,它的层次结构如下图。一微型机硬件1微处理器,是
4、微机系统的核心部件,简称为CPU,它包括运算器、控制器和存放器几局部,运算器也叫算逻单元ALUArithmetic and Logic Unit。2存储器Memory又叫主存或内存,是微机的存储和记忆部件,用以存放程序代码和运算需要的数据。内存通常使用半导体存储器。1内存容量,以80868088CPU为例,其地址总线为20根,寻址内存的范围为2201MB。这里B是字节Byte,即每个内存单元内部存放的是一个字节8位二进制程序代码或数据,其形式均为二进制数机器数。因为8086的地址总线是20根,其寻址范围为1024KB,写成十六进制时就是5位,其地址范围为00000HFFFFFH。2内存的操作
5、对内存的操作是读取和写存储。3内存的分类 按存储器的工作性质可将内存分为只读存储器ROM和随机读写存储器RAM两大类。3输入输出接口IO Interface和外部设备CPU要与很多外部设备进行数据传送,必须通过“IO接口,所以输入输出接口是CPU与外设之间的桥梁。4总线 由上面表达可以看到微型计算机主要是由微处理器、存储器、IO接口和IO设备所组成,这些部件是用系统总线连接起来的。二微型计算机软件微型机的软件是为运行、管理和测试维护而编制的各种程序的总和,没有软件的计算机只是裸机,计算机就无法工作。计算机软件分为系统软件和应用软件,系统软件包括操作系统DOS及WINDOWS、UNIX、LINU
6、X等和系统应用程序。三、微型计算机的外围设备一、Intel 8086/8088微处理器一80868088的功能结构微处理器80868088微处理器结构类似,都由算术逻辑单元ALU、累加器、专用和通用存放器、指令存放器、指令译码器、定时器控制器等组成,后四局部相当于控制器。不过按功能可以分为两大局部总线接口单元BIUBus Interface Unit和执行单元EUExecution Unit。二80868088的内部存放器80868088内部有14个16位存放器,编程时都要用到,所以必须识记。按其功能,可分为三大类:第一类是通过存放器8个,第二类是段存放器4个,第三类是控制存放器2个。通用存放
7、器包括数据存放器、地址存放器和变址存放器。1数据存放器AX、BX、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 溢出标志位。当算术运算的结果
8、超出了带符号数的范围,即溢出时,OF1,否那么OF0。8位带符号数范围是128127,16位带符号数的范围是3276832767。下面三个是控制标志位。控制标志位被设置后便对其后的操作产生控制作用。TF 跟踪标志位。TF1使CPU处于单步执行指令的工作方式。这种方式便于进行程序的调试。每执行一条指令后,便自动产生一次内部中断,从而使用户能逐条地检查程序。IF 中断允许标志位。IF1使CPU可以响应可屏蔽中断请求。IF0使CPU禁止响应可屏蔽中断请求。IF的状态对不可屏蔽中断及内部中断没有影响。DF 方向标志位。DF1使串操作按减地址方向进行,也就是说,从高位地址开始,每操作一次地址减小一次。D
9、F0使串操作按增地址方向进行。四80868088的工作方式80868088有两种工作方式:最小和最大模式,最小模式是单处理器模式,最大模式是多处理器模式,一般接入8087协调处理器。现在,用户使用的大局部都是486以上微处理器,均为最大模式。第二章知识点 第一节指令系统计算机的指令系统。可以分为六大类:数据传送指令;算术传送指令;逻辑运算和移位指令;串操作指令;控制转移指令;处理器控制指令。一、指令格式指令是以二进制代码形式表示的操作命令,这种二进制代码称为机器码。寻址方式,通常是指CPU指令中规定的寻找操作数所在地址的方式,80868088CPU内部设置了多个有关地址的存放器,如各种地址指针
10、存放器以及变址存放器等,因而使80868088的根本寻址方式有以下七种。二、立即寻址Immediate Addrssing例如: MOV CL,28H MOV AX,3189H三、存放器寻址Register Addrssing指令中指定某些CPU存放器存放操作数。上述存放器可能是通用存放器8位或16位、地址指针或变址存放器,以及段存放器。例如: MOV SS,AX四、直接寻址Direct Addrssing直接寻址指令在指令的操作码后面直接给出操作数的16位偏移地址。这个偏移地址也称为有效地址EAEffective Address,它与指令的操作码一起,存放在内存的代码段,也是低8位在前,高8
11、位在后。但是,操作数本身一般存放在内存的数据段。例如: MOV AX,3100H五、存放器间接寻址六、变址寻址Indexed Addressing变址寻址指令将规定的变址存放器的内容加上指令中给出的位移量,得到操作数的有效地址。80868088CPU中变址存放器有两个:源变址存放器SI和目的变址存放器DI。位移可以是8位或16位二进制数,一般情况下操作数在内存的数据段,但也允许段超越。下面是一条变址寻址指令的例子。 MOV BX,SI1003H七、基址寻址Based Addrssing基址与变址相类似,不同之处在于指令中使用基址存放器BX或基址指针存放器BP,而不是变址存放器SI和DI。需要指
12、出一点,当使用BX存放器实现基址时,一般情况下操作数是在数据段,即段地址在DS存放器;而当使用BP时操作数通常在堆栈段,即段地址在SS存放器中。但是,同样允许段超越。下面两条指令是基址寻址的例子。 MOV SI,DATABXMOV BLOCKBP,AX八基址变址寻址Based Indexed Addre88ingMOV AX,COUNTBXSI第二节 80868088的指令系统一、数据传送指令Data transfer数据传送指令是程序中使用最多的指令,这是因为无论程序针对何种具体的实际问题,往往都需要将原始数据、中间结果、最终结果以及其他各种信息,在CPU的存放器和存储器之间传送。数据传送指
13、令按其功能的不同,可以分为以下四组:通用数据传送指令;输入输出指令;目标地址传送指令;标志传送指令。PUSHPush word onto stack推入操作POPPop word off stacks弹出操作指令格式及操作:PUSH src;(SP) (SP)2,首先,堆栈指针2送给堆栈指针SP1:SPsrc,再把源操作数字推入堆栈中POP dest;(dest) (SP)+1:(SP),首先,堆栈的内容弹出到目的操作数(SP) (SP)+2,再使堆栈指针加2这是两条堆栈操作指令,PUSH指令将存放器或存储器的内容推入堆栈;POP指令将堆栈中的内容弹出到存放器或存储器,但都是字操作。PUSH和
14、POP指令的操作数可能有三种情况:1存放器2段存放器3存储器无论那种操作数,其类型必须是字操作数16位,如果推入或弹出堆栈的存放器操作数,那么应是一个16位存放器。如果是存储器操作数,是两个地址连续的存储单元。如:PUSH AX;通用存放器椎入堆栈PUSH BP;基址指针存放器推入堆栈PUSH DATASI;两个连续的存储单元推入堆栈POP DI;从堆栈弹出到变址存放器POP ES;从堆栈弹出至段存放器POP ALPHEBX;从堆栈弹出到两个连续的存储单元堆栈的用途很多,例如调用子程序或过程,发生中断时都用推入堆栈的方法来保护断点的地址,而当子程序返回时再将断点地址从堆栈中弹出到IP,以便继续
15、执行主程序。输入输出指令共两条。输入指令IN用于从外设端口接收数据,输出指令OUT向端口发送数据。指令格式及操作:IN acc, port;(acc) (port)OUT port ,acc;(port) (acc)目标地址传送指令Address object transfer80868088CPU提供了三条把地址指针写入存放器或存放器对的指令,它们可以用来写入近地址指针和远地址指针。这三条指令是LDS、LES、LEA。LEA reg16 mem16LEA指令将一个近地址指针写入到指定的存放器。指令中的目标存放器必须是一个16位通用存放器,源操作数必须是一个存储器,指令的执行结果是把源操作数的
16、有效地址即16位偏移地址传送到目标存放器。例如LEA BX,BUFFERLEA AX,BPDI二、算术运算指令算术运算指令共有以下五组:加法运算指令 减法运算指令 乘法运算指令 除法运算指令 转换指令一加法指令Addition加法指令包括普通加法ADD指令、带进位加法ADC指令和加1INC指令,另外还有两条加法调整指令,即ASCII调整AAA和十进制调整DAA指令。1ADD(Addition)指令格式及操作:ADD dest ,src ;(dest) (dest)+(src)ADD指令将目标操作数与源操作数相加,并将结果存回目标操作数。加法指令将影响大多数标志位。3INCIncrement b
17、y 1,加1指令指令格式及操作: INC dest (dest) (dest)1INC指令将目标操作数加1,指令将影响大多数标志位,如SF、ZF、AF、PF和OF但对进位标志CF没有影响。二减法相令Subtraction8086/8088CPU共有七条减法指令,它们是普通减法SUB、带借位减SBB、减1DEC、求补NEG、比拟CMP指令,以及减法的ASCII调整AAS和十进制调整DAS指令,重点是SUB、DEC、CMP指令。SUB(Subtraction)指令格式及操作: SUB dest,src ;(desd) (desd) (src)SUB指令将目标操作数减源操作数,结果送回目标操作数。指
18、令对标志位SF、ZF、AF、PF、CF和OF有影响操作数的类型与加法指令一样,即目标操作数可以是存放器或存储器,源操作数可以是立即数、存放器或存储器,但不允许两个存储器相减。既可以字节相减,也可以字相减。例如, SUB AL,98H;存放器减立即数SUB BX,CX ;存放器减存放器SUB DX,VAR1 ;存放器减存储器 DECDecrement by 1减指令指令格式及操作:DEC dest;(dest) (dest)1DEC指令将目标操作数减1,指令对标志位SF、ZF、AF、PF和OF有影响,但不影响进位标志CF。操作数的类型与INC指令一样,可以是存放器或存储器段存放器不可。字节操作或
19、字操作均可。例如,DEC BL8位存放器减:DEC CX;16位存放器减1DEC BYTE PTR BX;存储器减1,字节操作DEC WORD PTR BPDI ;存储器减1,字操作 CMP(Compare)比拟指令指令格式及操作:CMP dest,src;(dest)(src)不把差值回送给目的的操作数,影响标志,这条比拟指令经常使用,并不把结果送给目的操作数,两个操作数不变,比拟后影响标志,使程序根据比拟后的标志转移。三乘法指令Multiplication80868088CPU可以通过执行一条指令完成乘法或除法运算。乘法指令共有三条:无符号数乘法指令MUL、带符号数乘法指令IMUL以及乘法
20、的ASCII调整指令AAM。1MULMultiplication unsigned无符号数乘法指令格式:MUL src指令操作为,字节乘法AXsrc(AL)字乘法DX:AXsrc(AX)MUL指令对标志位CF和OF有影响,但SF、ZF、AF和PF不确定。80868088CPU有三条除法指令,它们是无符号数除法指令DIV、带符号数除法指令IDIV以及除法的ASCII调整指令AAD。 DIADivision unsigned,无符号数除法指令指令格式: DIV src DIA指令使大局部标志位如SF、ZF、AF、PF、CF和OF的值不确定。例比拟两个字符串,找出其中第一个不相等字符的地址。如果两字
21、符串全部相同。那么转到ALLMATCH进行处理。这两个字符串长度均为20,首地址分别为STRING1和STRING2。LEA SI,STRING1;SI字符串1首地址LEA DI,STRING2;DI字符串2首地址MOV CX,20;CX字符串长度CLD;清方向标志DFREPE CMPSB;如相等,重复进行比拟JCXZ ALLMATCH;假设cx=0,跳至ALLMATCHDEC SI;否那么SI1DEC DI ;DI1INT ;返回DEBUGALLMATCH:MOV SI,0MOV DI,0INT 3;返回DEBUG控制转移指令Control transfer8086/8088CPU提供了很多
22、指令用于控制程序的转移。这类指令是以下四种:转移指令、循环控制指令、过程调用指令和中断指令,下面分别进行讨论。一转移指令 转移是一种将程序从一处改换到另一处的最方便的方法。在CPU内部,转移是通过将目标地址传送给指令指针存放器IP来实现的。转移指令包括无条件转移指令和条件转移指令。1、无条件转移指令JMPJumPJUMP指令的操作是无条件地将控制转移到指令中规定的目的地址。另外,目标地址可以用直接的方式给出,也可以用间接的方式给出,JMP指令对标志位没有影响。1段内直接转移 指令格式及操作:JMP near_label;转移到近标号,IPIPdisp16位例:在内存的数据段中存放了假设干个8位
23、带符号数,数据块的长度为COUNT不超过255,首地址为TABLE,试统计其中正元素、负元素及零元素的个数,并分别将个数存入PLUS、MINUS和ZERO单元。为了统计正元素。负元素和零元素的个数,可先将PLUS、MINUS和ZERO三个单元清零,然后将数据表中带符号数逐个取入AL存放器并使其影响标志位,再利用前面介绍的JS、JZ等条件转移指令测试该数是一个负数、零还是正数,然后分别在相应的单元中进行计数。程序如下:XOR AL,AL ;AL0MOV PLUS,AL ;清PLUS单元MOV MINUS,AL ;清MINUS单元MOV ZERO,AL ;清ZERO单元LEA SI,TABLE;S
24、I数据表首址MOV CX,COUNT ;CX数据表长度CLD ;清标志位DFCHECK:LODSB ;取一个数据到AL中OR AL,AL ;使数据影响标志位JS XI ;如为负,转X1JZ X2 ;如为零,转X2INC PLUS ;否那么为正,PLUS单元加1JMP NEXTX1:INC MINUS ;MINUS单元加1JMP NEXTX2:INC ZERO ;ZERO单元加1NEXT:LOOP CHECK ;CX减1,不为零,转CHECKINT 3上面的程序中LOOP指令是一条循环控制指令,它的操作是先将1CX1,然后判断是否CX的内容为0?如果不等于0,那么转移到所指的标号CHECK,如果
25、CX0,那么执行下一条指令。 DEBUG调试程序的简单应用 DEBUG调试程序的功能DEBUGCOM或DEBUGEXE是随DOS操作系统提供的。键入该程序DEBUG后,出现提示符,它具有如下命令:A为汇编命令;U为反汇编命令;T为跟踪命令;D为显示内存命令;E为修改内存命令;F为填充命令;R为检查和修改存放器命令;G为执行程序命令;L为装入内存命令;N为给程序命名的命令;I为输入,O为输出命令;M为传送内存命令;W为存盘命令,Q为结束DEBUG,回到DOS命令。第三章知识点 第一节 程序设计语言概述目前,有三种不同层次的计算机语言,这就是机器语言、汇编语言和高级语言。一、机器语言 在机器语言M
26、achine Language中,用二进制数表示指令和数据,它的缺点是不直观,很难理解和记忆。因此不用它编程。但是,机器语言程序是唯一能够被计算机直接理解和执行的程序,具有执行速度快,占用内存少等优点。二、汇编语言 一般来说,有两种汇编程序,一种通常称为汇编ASM,另一种称为宏汇编MASM。后者的功能更强。三、高级语言 高级语言Highlevel Language这针对某个具体的计算机,所以通用性强。第二节 汇编语言源程序的格式一、分段结构汇编语言源程序的结构是分段结构形式。一个汇编语言源程序由几个段Segment组成,每个段都以SEGMENT语句开始,以ENDS结束,而整个源程序是以END语
27、句结尾。汇编语言源程序中的语句主要有以下两种类型:指令性语句;指示性语句。指令性语句主要由CPU指令组成,编译时能够生成二进制机器代码;指示性语句又称伪操作语句,主要由伪操作组成,编译时并不生成二进制机器代码。那么,为什么还需要伪指令呢?这是因为伪操作语句是给汇编使用的。一般情况下,汇编语言的语句可以有14个组成局部,如下所示:名字操作码伪操作操作数;注释 第三节 常用伪操作宏汇编程序MASM提供了大约几十种伪操作,根据伪操作的功能,大致可以分以下几类:处理器方式伪操作数据定义伪操作符号定义伪操作段定义伪操作过程定义白伪操作模块定义白与连接伪操作宏处理伪操作条件伪操作列表伪操作其它伪操作一、段
28、定义伪操作汇编语言程序的结构是分段的形式,一个汇编语言源程序假设干个逻辑段组成,所有的指令、变量等都分别存放在各个逻辑段内。段定义伪操作的用途是在汇编语言源程序中定义逻辑段。常用的段定义伪操作有SEGMENT、ENDS和ASSUME等。一个SEGMENTENDS格式:段名 S EGMENT 定位类型 组合类型 类别段名 ENDS二、数据定义伪操作数据定义伪操作的用途是定义一个变量的庞大, 给存储器赋初值,或者仅仅给变量分别存储单元,而不赋予特定的值。下面介绍几种常用的、简单的数据定义伪操作。常用的数据定义伪操作有以下5种。BD 定义字节DW 定义字2个字节DD 定义双字4个字节SQ 定义四字8
29、字节DT 定义十字节10个字节上述5种数据定义伪操作的一般格式为变量名 伪操作 操作数 ,操作数三、符号定义伪操作符号定义伪操作的用途是给一个符号重新命名,或定义新的类型属性等。常用的符号伪操作有:EQU、等号和LABEL等。一EQU格式:名字 EQU 表达式四、过程定义伪操作PROCENDP 格式过程名 PROC NEARFARRET过程名 ENDP五、模块定义与连接伪操作在编写规模比拟大的汇编语言程序时,可以将整个程序划分成为几个独立的源程序或称为模块,然后将各个模块分别汇编,生成各自的目标程序,最后再连接成一个完整的可执行程序各个模块之间可进行符号访问,也就是说,在一个模块中定义的符号可
30、被另一个模块引用。这类符号称为外部符号,而将那些在一个模块中定义,且只在同一模块中引用的符号称为局部符号。为了进行连接以及这些将要连接在一起的模块之间实现相互的符号访问,以便进行变量传送,常使用以下伪操作:NAME、END、PUBLIC、EXTRN。一NAME伪操作该伪操作用于给源文件汇编以后得到的目标程序指定一个模块名,连接时要使用它。格式为NAME 模块名第四节 汇编语言程序设计程序设计步骤一程序设计的根本步骤对于给定的课题进行程序设计,一般应按如下步骤进行:分析课题 分析课题就是对课题任务有明确认识,对复杂题目应进行抽象简化,建立数学模型。并弄清条件、原始数据和应得到的结果,以及课题任务
31、对程序的功能、运算精度、执行速度等方面的要求。确定算法 确定算法就是选择解决问题的途径和方法,对于一个具体问题,算法可能有多种,应该选取简单、高效,能在计算机上易于实现的算法。画流程图 流程图是算法的一种图形描述,由逻辑框和流程线组成。关于流程图的画法已经在C语言局部讲述。对于复杂的问题可分解为假设干个程序模块,然后确定各模块的算法,画出程序流程图。对于大的程序可分别画出分模块流程图和总的流程图,这时总流程图可设计得粗略一些,能反映出总体结构即可。当然,对于简单的程序段,也可不画流程图,而直接按确定的算法编写程序。存储器资源分配 诸如各程序段的存放地址、数据区地址、工作单元分配等。编制程序、调
32、试和修改DOS和BIOS 调用2用户如何使用一般说来,用户可通过四种方式控制PC机的硬件,表示如下:使用高级语言提供的功能进行控制,但提供的一些IO语句较少,执行速度慢。使用DOS提供的程序来控制硬件,其中DOS为用户提供的IO程序有近百种,而且都是在较高层次上提供的,不需要用户对硬件有太多的了解。使用DOS调用的可移植性好,输入输出功能多,编程简单,调试方便,但运行效率低些。使用BIOS提供的程序控制硬件,这是一种底层控制方法,要求用户对微机的硬件有深入的了解,BIOS驻留在ROM中,不依赖于操作系统,这使得使用BIOS调用的汇编语言、C、PASCAL语言程序的可移植性差。因此,当BIOS和
33、DOS提供的功能相同时,首先要先用DOS。但BIOS运行效率高,因此,在要求高速场合下,可选用BIOS调用。注意,BIOS的一局部功能,例如CRT显示功能,是DOS所不具备的。直接访问硬件,这就要求用户对计算机的外部设备很熟悉,通常用于获得高效率和DOS以及BIOS不支持的功能,但程序的可移植性更差。BIOS调用BIOS称为根本输入输出系统,是固化在ROM中的一组IO效劳程序,除系统测试,初始化引导程序及局部中断向量装入程序外,还为用户提供了常用的设备驱动程序,如键盘输入打印机及显示输出等。BIOS的调用方法同DOS系统功能调用类似,如下所示。置功能号n送AH 置入口参数 执行INTn 分析出
34、口参数1键盘输入2打印机输出3时间中断4CRT显示 BIOS的INT 10H显示功能很强,主要包括设置显示方式,设置光标大小和位置,设置调色板号,显示字符和图形等。例 下面的程序可显示256个字符,但由于程序小,编写成COM文件的形式。求多个同学年龄之和,但年龄和不超过9999岁。源程序如下:DATA SEGMNT;标准化形式NLIN DB 23H,3H,38H;年龄原始数据,为BCD码NUMEQUNLIN;人数SUMDW?;年龄和单元,定义为字,可能9876岁DATAENDS;标准化形式STACK;标准化形式START:MOV AX,DATA;标准化形式MOV DX,AXMOV CX,NUM
35、XOR AX,AX;清AXMOV SI,OFFSET NLIN;原始数据首址偏移地址LP2:ADD AL,SI;ALALSI,累加用ADDDAA;十进制调整ADCAH,0AHAH0CYXCHGAH,AL;AH,AL交换ADDAL,0;对原AH十进制调整DAA;DAA只能跟在加法后XCHGAH,AL;调整后交换,也可设法用PUSH,POP指令INC SI;指令下一个年龄LOOPLP2;循环累加MOVSUM,AX ;存放在内存DS:SUM单元,字操作MOVAH,4C;标准化形式INT21HCODEENDSENDSTART;标准化形式CPUCPU数据总线地总线寻址范围80888位20位1MB8086
36、8位20位18028616位24位168038632位32位40968048632位32位4096三、MASM和LINK程序的应用第四章知识点 一、存储的分类按存取速度和用途可把存储器分为两大类:把具有一定容量、存取速度快的存储器称为内部存储器,简称内存。把存储容量大而速度较慢的存储器称为外部存储器,简称外存。在微型计算机中常见的外存有软磁盘、硬磁盘、盒式磁盘等。二、半导体存储器的分类从制造工艺的角度可把半导体存储器分为双极型、CMOS型、HMOS型等;从应用角度看将其分为两大类:随机读写存储器Random Access memory,又称随机存取存储器,简称RAM;只读存储器Read Onl
37、y Memory。两种存储器的特点一只读存储器ROM 二随机读写存储器RAM三、半导体存储器的指标衡量半导体存储器的指标很多,诸如可靠性、功耗、价格、电源种类等,但从接口电路来看,最重要的指标是存储器芯片的容量和存取速度。第二节 随机读写存储RAM一、静态RAM一静态RAM的结构静态RAM内部是由很多根本存储电路组成的。该电路是1位存储电路,由4个MOS管组成的双稳态触发器,加上读出写入的电路组成。RAM容量为单元数与数据线位数之乘积,为了选中某一个单元,往往利用矩阵式排列的地址译码电路。例如1K1024单元的内存,需10根地址线,其中5根用于行码,5根用于译码,译码后在芯片内部排列成32条行
38、选择线和32条列选择线,这样可选中1024个单元中任何一个。而每一个单元的根本存储电路个数与数据线位数相同。常用的典型SRAM芯片有6116、6264、62256、628128等。第四节 CPU与存储器的连接一、连接时应注意的问题在微型计算机中,CPU对存储器进行读写操作,首先要由地址总线给出地址信号,然后发出读写控制信号,最后才能在数据总线上进行数据的读写。所以,CPU与存储器连接时,地址总线、数据总线和控制总线都要连接。在连接时应注意以下问题。一CPU总线的带负载能力二CPU时序与存储器存取速度之间的配合CPU的取指周期和对存储器读写都有固定的时序,由此决定了对存储器存取速度的要求。具体地
39、说,CPU对存储器进行读操作时,CPU发出地址和读写命令后,存储器必须在限定时间内给出有效数据。而当CPU对存储器进行写操作时,存储器必须在写脉冲规定的时间内将数据写入指定存储单元,否那么就无法保证迅速准确地传送数据,一般选快速的存储器。三存储器组织、地址分配第六节 扩展存储器及其管理一、寻址范围各档PC机因地址线数目的不同,其寻址能力也不同,如下表所示。不同CPU的寻址范围二、存储器管理80386、80486微处理器支持三种工作方式,即实地址方式、虚地址保护方式,V86方式,80286只有两种方式,80888086只工作在实地址方式。一实地址方式二虚地址保护方式三、高速缓存器80386804
40、86CPU可以有很高的工作频率,如果访问存储器插入等待周期,这实际上降低了CPU的工作速度。系统设计者追求的是在不插入等待周期零等待的条件下工作。在保证系统性能价格比的前提下,较好的方法是使用高性能的SRAM芯片组成高速小容量的缓存器,使用最低价格最小体积能提供更大的存储空间的DRAM芯片或内存条组成主存储器。由此看来,使用高速缓存器系统,使存储器系统的价格下降,又使总线访问接近零等待的性能。(拼凑)第五章 计算机存储器一、存储器的结构1.根本概念 位 (bit):信息量单位,每一个0或1就叫做1位信息。 字节 (byte):存储量单位,8位二进制代码作为一个字节。 字 (word):2个字节
41、组成一个字,标识16位数据的长度。 字长:计算机一次处理数据的位数存储器,存放器。字长是随计算机开展变化的8086型字长=16位。地址:每个单元的编号,各存储单元的地址与该地址中存放的内容完全不同。物理地址20位,220=1024K=1M=段地址*10H+偏移地址逻辑地址16位,216=64K=段地址16位:偏移地址16位 存储单元:每个单元存储8位二进制信息,即字长为8位。字地址:低地址单元的地址作为低地址,偶数。段:分段方法:段起始地址段基址,段长简化问题。2.8086存储器管理方式1存储器信息分类管理:程序信息,数据信息,保护堆栈信息。2存储器空间分段使用:将内存空间分成假设干个逻辑段使
42、用,每个逻辑段存放一种信息,每个段称逻辑段,当前正在使用的逻辑段称作当前段。逻辑信息按照存放信息的类别分为:代码程序段,堆栈段,数据段,附加段。逻辑段:逻辑段长度=后起始地址-前起始地址,一类信息可以使用1个至多个逻辑段。地址指针:程序指针:CS:IP,堆栈指针:SS:SP,数据指针:DS或ES:EA有效地址段地址来源于4个段存放器,偏移地址来源于IP、SP、EA由BP、SI、DI计算。段地址默认时,偏移地址称作逻辑地址。3.8086存储器堆栈技术1.堆栈的定义:在存储器设置专用区堆栈段,临时存放需要保护的信息。2.堆栈原那么:按字堆栈,后进先出;从底高地址向顶低地址堆放堆栈指针SS:SP栈顶
43、。3堆栈设置:SS赋值:定段位置;SP赋值:定段长度。SP-2内部自动,SP值不变。物理地址=段地址SS*10H+偏移地址SP4堆栈使用自动或用指令使用堆栈。SP-2,进栈;SP+2,出栈;自动实现,程序里不写。二、计算机存储系统概述1计算机的存储系统1主存和辅存2存储系统2.内存半导体存储器的概述1主存功能:存放当前运行的程序和数据,供CPU直接访问;存放多机共享的数据,兼顾实现多机通信。2主存连接:主存系统总线CPU系统总线:AB:地址来自CPU的AR存放器;CB:包括IO/M、WE/RD、Ready等引脚;DB:数据通过CPU的DR存放器中转。3主存分类RAM:易失性存储器,如U盘;RO
44、M:非易失性存储器;MOS RAM分静态Static和动态DynamicRAM两种。双极性RAM的特点:存取速度快。静态MOS RAM 的特点:价格廉价,功耗低。内存:MOS4内存半导体存储器组成和结构地址译码方式:单译码方式、双译码方式二、计算机的内存1.静态RAM简称SRAM,根本存储电路:RS触发器。Intel 6116:双列直插式,24引脚,存储容量2K*8位2.动态RAM简称DRAMIntel 2116:16K*1位,由于受封装引线的限制,只有7条地址输入线,1条数据线;采用地址线分时复用的技术;控制信号:CAS列,RAS行;工作方式:写操作:电容充电;读操作:破坏性读出,重写刷新;
45、定时刷新:保持电容电平。特点:定时刷新、分时复用。3. EPROM芯片Intel 2716容量为2K8位,采用NMOS工艺和双列直插式封装三、存储器的扩充和与CPU连接1、存储器的扩充位数的扩充:用固定容量、位数一定的芯片扩充成固定容量、位数较多的存储器。如:需要2KX8位的存储器:2KX1需8片; 需要2KX8 位的存储器:2KX4需2片; 需要2KX16位的存储器:2KX1需16片; 需要2KX16位的存储器:2KX4需4片。字扩展地址扩展:用一定容量、位数固定的存储芯片扩充成较大容量位数固定的存储器。如:需要64KX8位的存储器:16KX8需4片;需要64KX8位的存储器:2KX8需32
46、片。字、位扩展:用固定容量、固定位数的芯片扩展成较大容量、较大位数的存储器。如:用16KX4 的存储芯片扩展成64KX8的存储器: 位扩展:需2片; 字扩展:需4片; 共需芯片:2X4=8片。2、存储器芯片片选信号CS的处理芯片介绍:Intel 74LS138和61163-8译码器74LS138存储芯片Intel61162KX8)片选信号的处理方法全译码法:片内寻址未用的全部高位地址线都参加译码,译码输出作为片选信号。局部译码:用片内寻址外的高位地址的一局部译码产生片选信号。线选法:高位地址线不经过译码,直接或经反相器分别接各存储器芯片的片选端来区别各芯片的地址。例:用Intel 6116芯片
47、组成8KB RAM,设CPU为8086设地址线为20根,译码器采用74LS138,问题: 1、需要几片6116? 2、地址线和数据线各为多少根? 3、每一片的地址范围是多少?如何确定?是否有重叠区? 4、如何连线?包括地址线、数据线和状态线全译码分析:6116为2KX8芯片,需组成8KX8的存储器,只需进行字扩展,需4片。要求地址范围是00000H01FFFH,4片的地址范围分别为:第一片:00000H 007FFH;第二片:00800H 00FFFH;第三片:01000H 017FFH;第四片:01800H 01FFFH分析结果:A0A10作为芯片片内寻址;A11A13作为74LS的A、B、
48、C端;A14A19组合产生G1、G2A、G2B 局部译码线性译码第六章 计算机接口技术一、计算机的接口1.接口的根本结构2.接口的电路信号接口对外设连接的信号要求1数据信号(1)数字量:通常为8位二进制数或ASCII代码。(2)模拟量:计算机检测、数据采集或控制的大量的现场信息等(3) 开关量:一些“0或“1两个状态的量2状态信号状态信息是反映外设当前所处工作状态的信息,以作为CPU与外设间可靠交换数据的条件。3控制信号:用于控制外设的启动或停止。二、数据传输方式1.无条件的程序传送方式定义:用程序定时用IN或OUT指令进行信息的输入或输出。条件:外设随时都处于数据设备准备好状态,无须检测器状
49、态。2.程序查询传送方式1查询输入1接口电路2程序流程3程序编码POLL:IN AL,STATUS_PORT ;读状态端口的信息 TEST AL,80 ;设“准备就绪(READY)信息在D7位 JE POLL ;未“准备就绪,那么循环再查 IN AL,DATA_PORT ;已“准备就绪(READY=1),那么读入数据 说明:POLL:标号;IN:操作码;AL:累加器;STATUS_PORT:符号地址;TEST:检测;JE POLL:条件转移,结果是0那么返回;2查询输出1接口电路 2程序流程3程序编码POLL: IN AL,STATUS_PORT ;查状态端口中的状态信息D7 TEST AL,
50、80H JNE POLL; ;D71即忙线1,那么循环再查 MOV AL,STORE ;否那么,外设空闲,由内存读取3.中断传送方式所谓中断是外设或其他中断源中止CPU当前正在执行的程序,而转向为该外设效劳(如完成它与CPU之间传送一个数据的程序,一旦效劳结束,又返回原程序继续工作。中断传送方式的好处是:大大提高了CPU的工作效率。4、DMA传送方式Direct Memory Access方式三、中断技术1.中断的根本概念1中断:随机事件、暂停现行程序、处理执行中断程序、返回原程序继续执行。2中断的优点:节省CPU时间,实现实时处理。3中断过程描述4中断过程的根本概念1中断源:抽象随机事件;实
51、际设备发出的中断申请中断的信号2中断类型号中断源的名字编号,0255。3中断效劳子程序处理事件的程序每个中断源对应自己的4中断向量中断效劳子程序入口起始地址,逻辑地址=段地址:偏移地址5中断向量表集中存放中断向量的表。一张中断向量表包含256个中断向量,每个向量包含4个字节,2个低地址字节是IP偏移量,2个高地址字节是CS段地址,中断向量表需256*4K=1M存储空间,设置在存储器的最低端,即00000H003FFH。CPU对编号n中断类型码乘以4得到4n指向该中断向量的首字节,CPU将把有关的标志位和断点地址的CS和IP值入栈。四、8259A8259的工作状态和操作方式,由CPU的命令而定。
52、 命令有两种 ICW1ICW4是在计算机系统启动时由初始化程序设置的,一旦确定,在系统工作过程中,一般不再改变。OCW1OCW3是由应用程序设定的,用来对中断处理过程实现动态控制。1、8259的初始化命令字ICW1ICW4 ICW1ICW4在初始化程序中设定,且在整个工作过程中保持不变。 ICW1ICW4必须按顺序设定。 ICW1写入8259偶地址中A0=0。 ICW2ICW4写入8259奇地址中A0=1。ICW1的格式及含义D7D5位无效D4=1,特征位,表示初始化命令ICW1。 D3:LTIM 中断信号IR0IR7的触发方式0:边沿1:高电平D1:SGNL 是否单片方式0:多片级联1:单片
53、D0:IC4 是否有 ICW40:无 1:有ICW2的格式及含义在写ICW1之后,对A0=1的端口第一次写入的数据是ICW2 。 中断类型码=(T7T3)+ 中断源引入管脚编号如:写入20H,中断类型码为20H27H; 00100000 写入40H,中断类型码为40H47H; 01000000 写入45H,中断类型码仍为40H47H. 01000101ICW3的格式及含义系统中有级联ICW1.SNGL=0,在ICW2之后写ICW3。对于主片:置1的位表示对应的引脚IR有从片级联。对于从片:用D2D0表示和主片的对应引脚级联。ICW4的格式及含义(ICW1.IC4=1) 例:设某8086系统中使
54、用一片8259A,其端口地址为210H、211H,假设系统要求中断请求为电平触发,其8个中断源的类型码为60H67H,不用缓冲方式,采用中断自动结束方式,试编写初始化程序段。解:按要求确定初始化命令字 ICW1: 0 0 0 1 1 0 1 1 B=1BH ICW2: 0 1 1 0 0 0 0 0 B=60H ICW4: 0 0 0 0 1 0 1 0 B=0AH 初始化程序段: MOV DX,210H ;DX指向偶地址端口 MOV AL,1AH ; OUT DX,AL ;写入ICW1 MOV DX,211H ;DX指向奇地址端口 MOV AL,60H ; OUT DX,AL ;写入ICW2 MOV AL, 0AH OUT DX,AL ;写入ICW4 2、8259的操作命令字OCW1OCW38259A有三个操作命令字OCW1OCW3,程序员可以使用这三个命令字在应用程序里随时改变8259A的工作方式,而且设置时,次序可以随意。但是对端口地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小朋友锻炼测试题及答案
- 2025年校内外语测试题及答案
- 2025年印章使用试题及答案
- 2025年财务管理竞聘试题及答案
- 汽车维修工高级习题库含参考答案
- 2025年食品高级考试题及答案
- 2025年焊工(初级)模拟题及答案
- 2025年惠州二调考试题及答案
- 2025年人工气道考试题及答案
- 2025年教科版小学科学竞赛题库
- 水库渠道管理办法
- 2025年医院感染管理办法试题与答案
- 小型农场基础规划方案(3篇)
- 2024年北京大兴区招聘社区工作者真题
- 角膜内皮失代偿个案护理
- 数据库发展研究报告(2025年)
- 2025至2030中国风力发电行业深度分析及发展前景与发展战略报告
- 胃癌课件完整版本
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- (高清版)DZT 0426-2023 固体矿产地质调查规范(1:50000)
- 蓝色大气项目签约启动仪式PPT模板课件
评论
0/150
提交评论