硬基第4章-指令

上传人:wt****50 文档编号:50611971 上传时间:2018-08-09 格式:PPT 页数:115 大小:1.14MB
返回 下载 相关 举报
硬基第4章-指令_第1页
第1页 / 共115页
硬基第4章-指令_第2页
第2页 / 共115页
硬基第4章-指令_第3页
第3页 / 共115页
硬基第4章-指令_第4页
第4页 / 共115页
硬基第4章-指令_第5页
第5页 / 共115页
点击查看更多>>
资源描述

《硬基第4章-指令》由会员分享,可在线阅读,更多相关《硬基第4章-指令(115页珍藏版)》请在金锄头文库上搜索。

1、1第四章 指令系统2主要内容n指令系统的一般概念n对操作数的寻址方式n六大类指令的操作原理操作码的格式及功能,指令对操作数的要求,指令对标志位 的响应n实验1,2,33微处理器运算器 算术逻辑运算,由加法器和 (ALU) 一些辅助逻辑电路组成 指令流控制 控制器 时序控制,产生节拍定时信号指令译码和操作控制寄存器组 存放临时数据、运算的中间结果、运算特征、操作数地址主 要 部 件4计算机基本工作过程输入/输出 设备存储器运算器控制器源程序 和输入数据输出结果取出数据存入数据操作命令存取命令取出 程序指令输入输出 命令计算结果CPU“冯诺依曼机”结构 大脑记忆 装置眼睛 和耳 朵5软件的形成与运

2、行过程的简单 描述n软件的形成n程序员(Programmer)编写程序源代码(Source Code)n编译器(Compiler)把源代码转换为可被计算机理解的机器代码 (Machine Code)n将机器代码以可执行文件(Executable File)的形式保存在磁盘上n软件的运行n计算机把机器代码读入到内存(Memory)n由CPU运行这些代码n读取输入(Input)n产生输出(Output)n完成程序员预定的功能程序和数据执行结果6程序设计语言的工作原理n编译运行n编辑、编译、链接和运行n解释运行n程序员编写程序源代码n解释器读入源代码,并执行源代码n解释运行的语言特点n执行速度慢n好

3、学易用n先编译、后解释n把源代码编译成更容易解释的中间代码,然后再解释运行7计算机语言n程序设计语言(Programming Language)是人与 计算机进行交流的语言。n计算机直接能读懂的语言。n机器语言(Machine Code),也叫机器代码n一种纯粹的二进制语言n一种程序设计语言对应一种编译器。n程序员按照该语言的语法编写程序源代码,把自 己的意图融入到代码中。n编译器读入源代码,把程序员的意图转换成可执 行程序,供他人使用。8用各种语言编写的1+1程序机器语言编写的1+1程序 10111000 00000001 00000000 00000101 00000001 0000000

4、0汇编语言编写的1+1程序MOV AX, 1 ADD AX, 1BASIC语言编写的1+1程序PRINT 1+ 1C语言编写的1+1程序 #include void main() printf(“%dn“, 1+1); 9语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加10010000 减用助记符号描述的指令系统 如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象104.1 微处理器的指令

5、系统了解:n指令及指令系统;n指令的格式;n指令中的操作数类型。11一、指令与指令系统指令:控制计算机完成某种操作的命令指令系统:处理器所能识别的所有指令的集合指令的兼容性:同一系列机的指令都是兼容的。12二、指令格式n指令中应包含的信息:运算数据的来源(源操作数) 运算结果保存到何处(目的操作数)执行的操作(操作码)例如: Z = X + Y 目的操作数 源操作数1 操作 源操作数2想一想: 指令应该包括几个部分?13指令格式操作码 操作数,操作数执行何种操作目标操作数源操作数参加操作的数据或数据存放的地址14指令格式n指令的长度与操作码及操作数的多少和类型有 关零操作数指令: 操作码 单操

6、作数指令: 操作码 操作数双操作数指令: 操作码 操作数1,操作数2源/目的操作数源/目的操作数源操作数注:两个操作数时,操作数类型要一致。如都是8位或都是16位。15三、指令中的操作数立即数:表征参加操作的数据本身存储器操作数:表征数据存放的地址寄存器操作数:表征数据存放在哪个寄存器中隐含操作数:表征数据隐含存放在某个寄存器中CPU寄存器组成SPIP FLAGSAHAL BHBLCHCL DHDLAX BX CX DXBP SI DICS DS ES SS通用寄存器控制寄存器段寄存器16位16位17立即数操作数n源操作数就是参加操作的数据本身,它们可以是8位或 16位。例: MOV AX,1

7、234HMOV BL,22Hn立即数无法作为目标操作数n立即数可以是无符号或带符号数, 其值应在允许范围内n错误例:nMOV AX, 12345H; MOV 1234H, AX18寄存器操作数:n表示参加运算的数存放在指令给出的寄存器中 ,可以是16位或8位。n例:MOV AX,BXMOV DL,CH想一想:以下指令正确否?MOV AX,BLMOV DL,CX 19存储器操作数n表示当前参加运算的数存放在存储器的某一个 或某两个单元中n表示形式: 地址值或寄存器如:1234H 表示操作数在地址为1234H的存储器单元中BX 表示操作数在以BX的内容为地址的存储器单元中指令例:MOV AX, 1

8、234HMOV BX, SI20四、指令字长及执行速度n指令字长:由操作码的长度、操作数地址长度、操作数个 数决定;指令的字长影响指令的执行速度(常用指令的执行时间见表3-4)n对不同的操作数,指令执行的时间不同:存储器 立即数 寄存器快!212.5 寻址方式讨论内容:n寻找操作数数据所在地址的方法n寻找程序转移的目标地址n寻找I/O端口地址本节讨论22数据所在地址由三种可能n1、操作数直接包含在指令中(立即数)n2、操作数在某个寄存器里(寄存器)n3、操作数在内存储器中(存储器)n内存实际地址PA=段基址与段内偏移地址n在实地址方式下,段寄存器?n在在保护方式下,段寄存器?MOV AL,ES

9、:BX 16位寻址MOV AL,ES:EBX 32位寻址段基址选择址23有效地址EAn为了处理各种数据结构的需要,段内偏移地址 由四部分构成:n基址寄存器内容n变址寄存器内容n比例因子n位移量 这四个基本部分称为偏移地址四要素(四分量) 这四要素组合形成的偏移量称为有效地址EAEA=基址+(变址比例因子)+位移量24n根据EA公式,可组合出9种存储器寻址方式, 另外加上前面介绍的立即数寻址和寄存器寻址 共有11种数据寻址方式。251、立即数寻址n指令中的源操作数是立即数,即源操作数是参 加操作的数据本身n例:MOV AX,1234H12H34HAH ALMOV代 码 段 262、寄存器寻址n参

10、加操作的操作数在CPU的通用寄存器中。n例:MOV AX,BXAX BX273、直接寻址n指令中直接给出操作数的偏移 地址n例:MOV AX,DS:1200H22H 11H1200H偏移地址 数 据 段AH AL28直接寻址n直接寻址方式下,操作数的段地址默认为 数据段,但允许段重设,即由指令定义段 。n例:MOV AX,ES:1200H294、寄存器间接寻址n参与操作的操作数存放在内存中,其偏移 地址为指令中的寄存器的内容。例:MOV AX,BX30寄存器间接寻址n例:设(BX)=1200H则执行MOV AX,BX后22H 11H1200H偏移地址AH AL 11 22数 据 段代 码 段M

11、OV31寄存器间接寻址n由寄存器间接给出操作数的偏移地址;n存放偏移地址的寄存器称为间址寄存器,它们是 :BX,BP,SI,DIn操作数的段地址(数据处于哪个段)取决于选 择哪一个间址寄存器:BX,SI,DI 默认在数据段BP 默认在堆栈段32寄存器间接寻址寄存器 间接寻址基址寻址(间址寄存器为基址寄存器BX,BP)变址寻址(间址寄存器为变址寄存器SI,DI)335、基址寻址n EA=基址寄存器+位移量n例:MOV AX,BX+DATA设:DS=2000H,BX=0220H,DATA=05H则:AX=20225H的内容 默认 DS段例:MOV AX,DATABX34*6、变址寻址nEA=变址寄

12、存器+位移量n例:MOV AX,SI+DATA设:DS=2000H,SI=0110H,DATA=05H则:AX=20115H的内容n例:MOV AX,DATASI默认 DS段35*7、比例变址寻址nEA=变址寄存器 比例因子+位移量n只适合32位寻址方式n例:MOV AX,DATA EBP*4默认 SS段36*8、基址加变址寻址nEA=基址寄存器 +变址寄存器 n例: MOV AX,BXSI由BX决定默认DS段为基址寄存器n例: MOV EAX,EBPECX由EBP决定默认SS为段基址寄存器37*9、基址加比例变址寻址nEA=变址寄存器 比例因子+ 基址寄存器n只适合32位寻址方式n例: MO

13、V ECX,EDX*8EAX38*10、带位移的基址加变址寻址nEA=基址寄存器 +变址寄存器 +位移量n例: MOV AX,BX+DI+MASKn ADD EDX ,ESIEBP+0FFFF000H39*11、带位移的基址加比例变址寻址nEA=基址寄存器 +变址寄存器 比例因子 +位移量n只适合32位寻址方式404.2 8086指令系统从功能上包括六大类:数据传送算术运算逻辑运算和移位串操作程序控制处理器控制41一、数据传送指令n通用数据传送n输入输出n地址传送n标志位操作421. 通用数据传送一般数据传送指令 堆栈操作指令 交换指令 查表转换指令 字位扩展指令特点:该类指令的执行对标志位不

14、产生影响 43一般数据传送指令n一般数据传送指令 MOVn格式:MOV dest,srcn操作:src destn例: MOV AL,BL44一般数据传送指令注:n两操作数字长必须相同 ;n两操作数不允许同时为存储器操作数;n两操作数不允许同时为段寄存器;n在源操作数是立即数时,目标操作数不能是段 寄存器;nIP和CS不作为目标操作数,FLAGS一般也不 作为操作数在指令中出现。45一般数据传送指令判断下列指令的正确性:nMOV AL,BXnMOV AX,SI05HnMOV BXBP,BXnMOV DS,1000HnMOV DX,09HnMOV 1200,SI46一般数据传送指令例将(*) 的

15、ASCII码2AH送入内存1000H开始的100 个单元中:MOV DI,1000HMOV CX,64H MOV AL,2AH AGAIN:MOV DI,ALINC DI ;DI+1DEC CX ;CX-1JNZ AGAIN ;CX0则继续HLT 100 D47上段程序在代码段中的存放形式設CS=109EH,IP=0100H,则各条指令存放地址如下:CS : IP109E:0100 MOV DI,1000H109E:0103 MOV CX,64H109E:0105 MOV AL,2AH109E:0107 MOV DI,AL109E:0109 INC DI109E:010A DEC CX109E:010B JNZ 0107H109E:010D HLT48数据段中的分布送上

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

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号