汇编语言程序设计第二章.ppt
《汇编语言程序设计第二章.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计第二章.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章80X86计算机组织1.80 x86微处理器微处理器2.基于微处理器的计算机系统构成基于微处理器的计算机系统构成3.中央处理器中央处理器4.存储器存储器5.外部设备外部设备计算机的发展电子管计算机电子管计算机晶体管计算机晶体管计算机集成电路计算机集成电路计算机大、超大规模集成电路计算机大、超大规模集成电路计算机微处理器的发展第一代第一代(1971年年)Intel4004,80084/8位位2000只晶体管只晶体管/片片时钟频率:时钟频率:1MHZ第二代(第二代(1974年)年)Intel8080,8085,MotorolaMC6800,MOSTEC6502,ZilogZ80,Rockwe
2、l6502八位八位500010000晶体管晶体管/片片时钟频率:时钟频率:24MHZ微处理器的发展第三代第三代1978年年Intel8086,8088,ZilogZ8000,Motorola6800016位位2000060000晶体管晶体管/片片时钟频率:时钟频率:48MHZ1982年年Intel80186/80188,8028616位位时钟频率:时钟频率:620MHZ第四代第四代80年代初年代初向系列化方向发展向系列化方向发展Intel80386,8048632位位时钟频率:时钟频率:12.533MHZ(80386)5066MHZ(80486)微处理器的发展第五代第五代1993年年Intel
3、Pentium(Intel586),IBM,Apple,MotorolaPowerPC64位位时钟频率:时钟频率:166MHZ第六代第六代PentiumPro,MMXPentium,Pentium,Pentium,Pentium第五代和第六代微处理器的性能和速度都已经第五代和第六代微处理器的性能和速度都已经与中小型计算机抗衡,能采用与中小型计算机抗衡,能采用DOS,Windows,Windows95,Windows98,Unix等等多种操作系统,使用多种编程语言,如:多种操作系统,使用多种编程语言,如:VB,VC+,VF等等计算机系统组成:硬件、软件计算机系统的硬件组成计算机系统的硬件组成硬件
4、结构是在冯硬件结构是在冯诺依曼提诺依曼提出的计算机逻辑结构和存储程序概念的基础上出的计算机逻辑结构和存储程序概念的基础上建立。建立。存储程序存储程序将指令、数据以二进制形式将指令、数据以二进制形式存入存储器中。存放位置由地址指定存入存储器中。存放位置由地址指定,地址码地址码也是二进制码。也是二进制码。程序控制程序控制计算机在启动计算机在启动后,自动取出并执行存储器中的指令,完成预后,自动取出并执行存储器中的指令,完成预定的操作。定的操作。计算机系统的硬件结构计算机系统的硬件结构总线控制逻辑存储器RAM接口中央处理机(CPU)接口大容量存储器I/O设备I/O子系统计算机结构系统总线计算机系统的硬
5、件结构计算机系统的硬件结构系统总线系统总线:把把CPU,存储器和输入输出设备连接存储器和输入输出设备连接起来,用来传送各部分之间的信息。起来,用来传送各部分之间的信息。系统总线包括数据总线、地址总线和控制总线系统总线包括数据总线、地址总线和控制总线三组。三组。数据总线:传送信息。数据总线:传送信息。8088CPU内部的数据线是内部的数据线是16位,但位,但CPU与存储器、与存储器、I/O端口之间是端口之间是8位位80286内内/外数据线都是外数据线都是16位宽,是位宽,是16位位的微处理器。的微处理器。80486有有32位数据线,一次可传输位数据线,一次可传输4个字个字节的数据。节的数据。信息
6、流向是双向流动。信息流向是双向流动。计算机系统的硬件结构计算机系统的硬件结构控制总线控制总线CB(controlbus)向各向各部件发出(或接受)控制信号。部件发出(或接受)控制信号。不同不同的的CPU,其条数不同。其条数不同。信息流向大部分是单向的:或者是信息流向大部分是单向的:或者是CPU发出的操作命令;或者是其他部件向发出的操作命令;或者是其他部件向CPU提出的请求信号。提出的请求信号。少数控制线是双向控制线。少数控制线是双向控制线。计算机系统的硬件结构计算机系统的硬件结构地址总线地址总线AB(addressbus)传输地址信传输地址信息,用来寻址存储单元和息,用来寻址存储单元和I/O端
7、口。其端口。其“宽度宽度”决定了内存的最大容量:决定了内存的最大容量:8088/8086有有20根地址线,能寻址根地址线,能寻址1兆内存;兆内存;80286有有24根地址线,能寻址根地址线,能寻址16兆内存;兆内存;80486有有32根地址线,能寻址根地址线,能寻址4G内存;内存;信息流向通常是单向,由信息流向通常是单向,由CPU发出地址信息。发出地址信息。计算机系统软件组成计算机系统软件组成计算机软件是计算机系统的重要组成部计算机软件是计算机系统的重要组成部分,他可以分为系统软件和用户软件两分,他可以分为系统软件和用户软件两大类大类系统软件:由计算机生产厂家提供给用系统软件:由计算机生产厂家
8、提供给用户的一组程序,这些程序是用户使用机户的一组程序,这些程序是用户使用机器时产生、准备和执行用户程序所必须器时产生、准备和执行用户程序所必须的。的。用户软件:是用户自行编制的各种程序用户软件:是用户自行编制的各种程序操作系统常驻监督程序操作系统常驻监督程序文文件件管管理理程程序序I/o驱驱动动程程序序调调试试程程序序文文本本编编辑辑程程序序翻翻译译程程序序连连接接程程序序装装入入程程序序系系统统程程序序库库系系统统软软件件用户软件用户程序用户程序用户程序库用户程序库计算机软件层次图计算机系统软件组成计算机系统软件组成操作系统:系统软件的核心。是系统程序的集操作系统:系统软件的核心。是系统程
9、序的集合,它的主要作用是对系统的硬软件资源进行合,它的主要作用是对系统的硬软件资源进行合理的管理,为用户创造方便,有效和可靠的合理的管理,为用户创造方便,有效和可靠的计算机工作环境;操作系统的主要部分是常驻计算机工作环境;操作系统的主要部分是常驻监督程序,只要一开机它就存在于内存中,它监督程序,只要一开机它就存在于内存中,它可以从用户接收命令,并使操作系统执行相应可以从用户接收命令,并使操作系统执行相应的动作。的动作。I/O驱动程序:用来对驱动程序:用来对I/O设备进行控制或管理。设备进行控制或管理。当系统程序或用户程序需要使用当系统程序或用户程序需要使用I/O设备时,设备时,就调用就调用I/
10、O设备驱动程序来对设备发出命令,设备驱动程序来对设备发出命令,完成完成CPU和和I/O设备之间的信息传送;设备之间的信息传送;计算机系统软件组成计算机系统软件组成文件管理系统:用来处理存储在外存储文件管理系统:用来处理存储在外存储器中的大量信息,它可以和外存储器的器中的大量信息,它可以和外存储器的设备驱动程序相连接,对存储在其中的设备驱动程序相连接,对存储在其中的信息以文件的形式进行存取,复制及其信息以文件的形式进行存取,复制及其它管理工作。它管理工作。文件编辑程序:用来建立,输入或修改文件编辑程序:用来建立,输入或修改文本,并使它存入内存储器或大容量存文本,并使它存入内存储器或大容量存储器中
11、。储器中。计算机系统软件组成计算机系统软件组成翻译程序:连接程序,装入程序,调试程序翻译程序:连接程序,装入程序,调试程序连接程序:用来把要执行的程序与库文件或其连接程序:用来把要执行的程序与库文件或其它已经翻译好的子程序连接在一起,形成机器它已经翻译好的子程序连接在一起,形成机器能执行的程序;能执行的程序;装入程序:用来把程序从外存储器传送到内存装入程序:用来把程序从外存储器传送到内存储器,以便机器执行。储器,以便机器执行。调试程序:是系统提供给用户的能监督和控制调试程序:是系统提供给用户的能监督和控制用户程序的一种工具,它可以装入,修改,显用户程序的一种工具,它可以装入,修改,显示或逐条执
12、行一个程序。示或逐条执行一个程序。翻译程序:机器语言计算机能直接执行的语言汇编语言一种助记符语言不能直接执行高级语言汇编程序中央处理器中央处理器Intel1989年年4月推出的月推出的32位微处理器。位微处理器。7大部分组成大部分组成:运算部分运算部分,控制部分控制部分,译码译码部分部分,控制部分控制部分,运算部分运算部分,存储管理部分存储管理部分,高速缓冲存储器高速缓冲存储器.存储器空间高达存储器空间高达246即即64TB(KGB),),多多种寄存器、丰富的数据类型。种寄存器、丰富的数据类型。80486基本结构介绍基本结构介绍中央处理器中央处理器运算部分运算部分包括定点运算部件(算术逻辑单包
13、括定点运算部件(算术逻辑单元元ALU、移位器和寄存器组)和浮点运算部件移位器和寄存器组)和浮点运算部件(浮点运算单元(浮点运算单元PLU、浮点寄存器组)。浮点寄存器组)。存储管理部分存储管理部分为实现虚拟存储器而设置。为实现虚拟存储器而设置。分段部件管理逻辑地址空间分段部件管理逻辑地址空间(46位),并把逻位),并把逻辑地址转换为辑地址转换为32位线性地址。位线性地址。分页部件把线性地址转换为物理地址(分页部件把线性地址转换为物理地址(32位位)高速缓冲存储器高速缓冲存储器(cache)为提高运算速为提高运算速度,度,8K,存储最近运行程序所需的代码和数据存储最近运行程序所需的代码和数据。指令
14、预取部件指令预取部件有两个有两个16字节的队列寄存器,字节的队列寄存器,每次从每次从cache最多可取最多可取16字节的信息。字节的信息。中央处理器中央处理器译码部分译码部分指令译码器对指令的操作指令译码器对指令的操作码进行翻译,并通过指令总线送控制部码进行翻译,并通过指令总线送控制部件。件。控制部件控制部件产生微指令,对运算部件、产生微指令,对运算部件、存储管理部件、指令译码器发控制信存储管理部件、指令译码器发控制信号。号。总线接口部分总线接口部分产生访问外部存储器产生访问外部存储器和和I/O接口所需的地址、数据、命令。接口所需的地址、数据、命令。寄存器组寄存器组分分4类:类:基本结构寄存器
15、基本结构寄存器应用程序可访问应用程序可访问系统级寄存器系统级寄存器浮点寄存器浮点寄存器系统皆可访问系统皆可访问调试和测试寄存器调试和测试寄存器基本结构寄存器基本结构寄存器通用寄存器通用寄存器专用寄存器专用寄存器段寄存器段寄存器通用寄存器通用寄存器用于存放数据或地址,可进行用于存放数据或地址,可进行32位、位、16位、位、8位、位、1位运算。位运算。8个个32位的:位的:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP。其低其低16位可独立使用,称:位可独立使用,称:AX,BX,CX,DX,SI,DI,BP,SP。可作为可作为8位寄存器使用是:位寄存器使用是:AH,AL,BH,BL
16、,CH,CL,DH,DL。通用寄存器通用寄存器通用寄存器通用寄存器思考:思考:执行执行MOVEAX,12345678H后后EAX,AX,AH,AL的值。的值。AX:累加器。累加器。1、算术运算的主要寄存器。、算术运算的主要寄存器。2、I/O指令中与外部设备传送数据。指令中与外部设备传送数据。BX:基址寄存器。用于计算存储器的地址。基址寄存器。用于计算存储器的地址。CX:计数器。在循环指令和串处理指令中用计数器。在循环指令和串处理指令中用做隐含的计数器。做隐含的计数器。DX:数据寄存器。数据寄存器。1、算术中存放双字的高位字。、算术中存放双字的高位字。2、I/o操作中,存放端口地址。操作中,存放
17、端口地址。通用寄存器通用寄存器SP堆栈指针寄存器:堆栈指针寄存器:与与SS寄存器联用,表示堆寄存器联用,表示堆栈的栈顶栈的栈顶的偏移地址。的偏移地址。BP基址指针寄存器:与基址指针寄存器:与SS寄存器联用,表示堆寄存器联用,表示堆栈中的任栈中的任一字单元的偏移地址。一字单元的偏移地址。SI源变址寄存器:与源变址寄存器:与DS寄存器联用,用来确定寄存器联用,用来确定数据段中某一存储单元的地址。数据段中某一存储单元的地址。DI目的变址寄存器:与目的变址寄存器:与DS寄存器联用,用来确寄存器联用,用来确定数据段中某一存储单元的地址。定数据段中某一存储单元的地址。SI,DI有自动增减量的功能。在串处理
18、指令中有自动增减量的功能。在串处理指令中SI与与DS,DI与与ES联用。联用。通用寄存器通用寄存器段寄存器段寄存器指出代码和数据指出代码和数据所用的存储空间。有所用的存储空间。有6个个16位的位的。CS代码段寄存器:存放程序段的段代码段寄存器:存放程序段的段地址地址DS数据段寄存器:存放指定数据段数据段寄存器:存放指定数据段的段地址的段地址SS堆栈段寄存器:提供堆栈区的段堆栈段寄存器:提供堆栈区的段地址地址ES扩展段寄存器扩展段寄存器FS,GS专用寄存器专用寄存器指令指针寄存器指令指针寄存器堆栈指针寄存器堆栈指针寄存器标志寄存器标志寄存器指令指针寄存器指令指针寄存器指令指针寄存器指令指针寄存器
19、放相对于代码段基址的偏放相对于代码段基址的偏移量,指向计算机即将执行的指令。移量,指向计算机即将执行的指令。32位的寄存器,称位的寄存器,称EIP,其低其低16位可独立使用,位可独立使用,称称IP。IP指令指针寄存器:它用来存放代码段中的偏指令指针寄存器:它用来存放代码段中的偏移地址。在程序执行过程中,始终指向下一条移地址。在程序执行过程中,始终指向下一条指令的首地址,与指令的首地址,与CS寄存器联用确定下一条指寄存器联用确定下一条指令的物理地址。当这一地址送到存储器后,控令的物理地址。当这一地址送到存储器后,控制器可以取得下一条要执行的指令,而控制器制器可以取得下一条要执行的指令,而控制器一
20、旦取得这条指令就马上修改一旦取得这条指令就马上修改IP的内容的内容使它指使它指向下一条指令的首地址。向下一条指令的首地址。计算机就是使用计算机就是使用IP寄存器来控制指令序列的执寄存器来控制指令序列的执行流程的行流程的标志寄存器标志寄存器EFLAGS:32位,各位可分为位,各位可分为状态标志状态标志指明程序执行时微处理器指明程序执行时微处理器的实时状态。如:进位、溢出等。的实时状态。如:进位、溢出等。控制标志控制标志由程序设计者设置,以控由程序设计者设置,以控制制80486进行某种操作。进行某种操作。其低其低16位可独立使用,称位可独立使用,称FLAGS,实模实模式下很有用式下很有用标志寄存器
21、标志寄存器C标志标志进位进位/借位标志,主要用于多借位标志,主要用于多字节的加、减运算,当最高位有产生进字节的加、减运算,当最高位有产生进位位/借位,则借位,则C标志置标志置1,否则为,否则为0。移位。移位和循环移位也影响和循环移位也影响C标志。标志。P标志标志奇偶标志,奇偶标志,P标为标为1,表示操作,表示操作结果的低结果的低8位有偶数个位有偶数个“1”。用于检查。用于检查数据在传输过程是否出错。数据在传输过程是否出错。标志寄存器标志寄存器A标志标志辅助进位辅助进位/借位标志。表示:借位标志。表示:加加/减时,最低减时,最低4位向高位产生了进位或位向高位产生了进位或借位。借位。Z标志标志全零
22、标志。置为全零标志。置为1,表示操作,表示操作结果为结果为0。标志寄存器标志寄存器S标志标志符号标志。置为符号标志。置为1,表示结果数据的,表示结果数据的最高位为最高位为“1”。O标志标志溢出标志。置为溢出标志。置为1,表示运算结果,表示运算结果产生溢出。产生溢出。CPU硬性规定:参与运算的操作数都是有符号硬性规定:参与运算的操作数都是有符号数,所以,当两数的符号相同而且与结果的符数,所以,当两数的符号相同而且与结果的符号位相异时,号位相异时,O标置标置1。程序设计时,如果定义操作数是有符号数,测程序设计时,如果定义操作数是有符号数,测试试O标志,为标志,为1,表示溢出。如果定义操作数是,表示
23、溢出。如果定义操作数是无符号数,测试无符号数,测试C标志,为标志,为1,表示溢出。,表示溢出。标志寄存器标志寄存器D标志标志方向标志。用于控制字符串操作指令中方向标志。用于控制字符串操作指令中地址变化的方向。地址变化的方向。执行指令执行指令STD,D标志置标志置1,串指针(,串指针(SIDI)自自动减量,即减址调整。动减量,即减址调整。执行指令执行指令CLD,D标志置标志置0,串指针(,串指针(SIDI)自自动增量,即增址调整。动增量,即增址调整。I标志标志中断允许标志。控制中断允许标志。控制CPU是否响应外部是否响应外部可屏蔽中断(可屏蔽中断(INTR)请求。请求。执行执行STI指令,指令,
24、I标志置为标志置为1,CPU响应可屏蔽中断。响应可屏蔽中断。执行执行CLI指令,指令,I标志置为标志置为0,CPU不响应可屏蔽中不响应可屏蔽中断。断。I标志不影响外部非屏蔽中断(标志不影响外部非屏蔽中断(NMI)或内部中断。或内部中断。标志寄存器标志寄存器T标志标志陷阱标志。用于单步调试程序。陷阱标志。用于单步调试程序。T标志为标志为1时,时,CPU每执行一条指令后都产生每执行一条指令后都产生一个内部中断。一个内部中断。T标志为标志为0时,时,CPU连续执行指令。连续执行指令。IOPL标志标志I特权级标志,占位,表特权级标志,占位,表示级级个示级级个I/O特权级,其中级最高。特权级,其中级最高
25、。用于保护模式下操作,指明执行用于保护模式下操作,指明执行指令所需的优先级。指令所需的优先级。标志寄存器标志寄存器T标志标志任务嵌套标志。在保护模式下,任务嵌套标志。在保护模式下,如果当前任务如果当前任务A嵌套在另一任务嵌套在另一任务B内,则内,则NT=1,指示指示CPU,A任务执行完毕后要返回到任务执行完毕后要返回到B任任务中。务中。R标志标志恢复标志,与调试寄存器配合使用。恢复标志,与调试寄存器配合使用。当当CPU响应响应“断点异常中断断点异常中断”时,时,R标志置标志置1,然后标志寄存器压栈再转入相应的断点处理程然后标志寄存器压栈再转入相应的断点处理程序。此时,若遇到调试故障也不在产生异
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 第二
限制150内