欢迎来到天天文库
浏览记录
ID:40245772
大小:887.50 KB
页数:115页
时间:2019-07-28
《微型计算机原理与接口技术 杨立 第3章 指令系统与汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章主要教学内容指令格式及寻址的有关概念8086CPU指令系统的寻址方式及其应用8086CPU各类指令的表示、功能、特点及其应用Pentium微处理器新增指令和寻址方式介绍汇编语言的基本表达方式和内容汇编语言程序设计的基本步骤和基本方法顺序、分支、循环、子程序基本结构和设计方法常用的DOS和BIOS中断调用简介第3章指令系统与汇编语言程序设计1本章教学目的及要求通过学习,使学生掌握指令的寻址方式、指令系统及其应用;学会程序设计的基本方法;掌握程序设计的技巧,保证程序设计的质量。第3章指令系统与汇编语言程序设计2第3章3.1指令格式及寻址1.指令系统与指令格式在计算机中要执行的各
2、种操作命令称为指令。计算机所能执行的全部命令的集合即为该计算机的指令系统。计算机指令以二进制编码的形式存放在存储器中,用二进制编码形式表示的指令称为机器指令,CPU可以直接识别机器指令。人们采用一些助记符——通常是指令功能的英文单词的缩写,如数据传送指令用助记符MOV(MOVE的缩写),这样表示的指令称为符号指令,也称为汇编指令。汇编指令具有直观、易理解、好记忆的特点。指令系统与汇编语言程序设计3第3章指令系统与汇编语言程序设计计算机中的汇编指令由操作码字段和操作数字段两部分组成。(1)操作码字段:操作码表示计算机要执行的某种指令功能,由它来规定指令的操作类型,说明计算机要执行
3、的具体操作,例如传送、运算、移位、跳转等操作。同时还指出操作数的类型、操作数的传送方向、寄存器编码或符号扩展等,是指令中必不可少的组成部分。(2)操作数字段:操作数表示计算机在操作中所需要的数据,或者所需数据的存放位置(也称为地址码),还可以是指向操作数的地址指针或其它有关操作数据的信息。48086的指令格式如图3-1所示,指令的长度范围是1~6个字节。其中,操作码字段为1~2个字节(B1、B2),操作数字段为0~4个字节(B3~B6)。每条具体指令的长度将根据指令的操作功能和操作数的形式而定。图3-18086的指令格式第3章指令系统与汇编语言程序设计5第3章指令系统与汇编语言
4、程序设计2.寻址及寻址方式的概念计算机的指令中通常要指定操作数的位置,即给出操作数的地址信息,在执行时需要根据这个地址信息找到需要的操作数,这种寻找操作数的过程称为寻址。寻址方式就是寻找操作数或操作数地址的方式。不同机器的指令系统都规定了一些寻址方式以供编程时选择使用,根据给定的寻址方式,就可以方便地访问各类操作数。6第3章指令系统与汇编语言程序设计8086指令中的操作数有三种可能的存放位置:(1)操作数直接在指令中,即跟随在指令操作码之后,指令的操作数部分就是操作数本身,这种操作数叫立即操作数。(2)操作数存放在CPU的某个内部寄存器中,这时指令的操作数部分是CPU内部寄存器
5、的一个编码,称为寄存器操作数。(3)操作数存放在内存储器的数据区中,这时指令的操作数部分包含此操作数所在的内存地址,称为存储器操作数。7第3章指令系统与汇编语言程序设计3.28086CPU的寻址方式3.2.1立即数寻址立即数寻址方式是指操作数直接存放在给定的指令中,紧跟在操作码之后。立即数可以是8位或16位二进制数。例如,给定如下指令,采用立即数寻址:MOVAL,10;十进制数(D)MOVAL,00100101B;二进制数(B)MOVAX,263AH;十六进制数(H)8第3章指令系统与汇编语言程序设计3.2.2寄存器寻址寄存器寻址方式是在指令中直接给出寄存器名,寄存器中的内
6、容即为所需操作数。在寄存器寻址方式下,操作数存在于指令规定的8位、16位寄存器中。寄存器可用来存放源操作数,也可用来存放目的操作数。寄存器寻址方式是CPU内部的操作,不需要访问总线周期,因此指令的执行速度比较快。对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP等。对于8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL、DH、DL等。9第3章指令系统与汇编语言程序设计3.2.3存储器寻址计算机中访问内存的寻址方式有多种,不管哪一种寻址方式,最终都将得到存放操作数的物理地址。采用存储器寻址时,指令中需要给出操作数的地址信息。存储器操作数的有效地址
7、EA的计算方法和寻址方式有着密切地联系,而操作数物理地址PA的计算则和操作数的具体存放位置有关。10第3章指令系统与汇编语言程序设计1.直接寻址方式直接寻址方式是一种针对内存的寻址方式。在这种寻址方式下,指令中给出的地址码即为操作数的有效地址EA,它是一个8位或16位的位移量。在默认方式下,操作数存放在数据段DS中,如果要对除DS段之外的其他段如CS、ES、SS中的数据寻址,应在指令中增加前缀,指出段寄存器名,这称为段跨越。在直接寻址方式的指令中,操作数的有效地址EA已经给出,那么操作数的
此文档下载收益归作者所有