微型计算机指令系统_第1页
微型计算机指令系统_第2页
微型计算机指令系统_第3页
微型计算机指令系统_第4页
微型计算机指令系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微型计算机指令系统第二章第二章 微型计算机指令系统微型计算机指令系统 重点:*1、目标地址传送、目标地址传送 *寻址方式寻址方式 2、标志传送、标志传送 3、转移控制(转移指令、过程调用、中断)、转移控制(转移指令、过程调用、中断) 指令指令-微机算术、逻辑和控制功能的实现基础微机算术、逻辑和控制功能的实现基础2指令指令(Instruction)指令集或指令系统指令集或指令系统 (Instruction Set) 指令的表示指令的表示 指令与指令系统指令与指令系统指示指示CPU执行某种规定操作的命令执行某种规定操作的命令某一某一CPU所能执行的全部指令的集合所能执行的全部指令的集合 定义了程序

2、员能使定义了程序员能使硬件完成的基本操作硬件完成的基本操作(CPU基本性能)。基本性能)。F8H=CLC指令指令 F5H=CMC F9H=STC05H 00H 10H ADD AX,1000H B9H 25H 00H MOV CX,0025H01H C8H ADD AX, CX机器码(指令)机器码(指令) 汇汇编语言编语言/助记符(助记符(Mnemonic Symbol)3软件程序与指令的关系软件程序与指令的关系编辑器(编辑器(Editor) 程序设计程序设计编译器编译器(Compiler) 高级语言程序高级语言程序(与机器无关与机器无关) 汇编器汇编器(Assembler) 汇编语言汇编语言

3、(与机器有关与机器有关) 链接器(链接器(Linker) 待装配的待装配的BIN指令代码指令代码 可执行可执行BIN指令代码指令代码 (软件软件) SOFTWAREFIRMWARE(固件固件)4 指令体系与指令体系与8086指令指令 05H 00H 10H ADD AX, 1000H指令功能指令功能 对应对应CPU执行的某种规定操作执行的某种规定操作(算术算术/逻辑逻辑/控制控制)指令码指令码=操作码操作码(Opcode)+操作数操作数(Operand) (目标目标/源操作数源操作数) 解决:解决:1 什么操作什么操作 2 涉及的数和结果如何存放涉及的数和结果如何存放寻址寻址(Addressi

4、ng)方式方式 复杂指令计算机复杂指令计算机 (CISCComplex Instruction Set Computer) 例例: 80X86/Pentium 变字节变字节 1-16字节字节, 种种类多,代码利用率低类多,代码利用率低8086指令向下兼容指令向下兼容8080/8085指令,共指令,共92种基本指令种基本指令(P434) 指令指令- 指示指示CPU执行某种规定操作的命令执行某种规定操作的命令精简指令计算机精简指令计算机 (RISCReduced Instruction Set Computer)APARC, PowerPC, Alpha 指令简单,复杂功能代码存储器指令简单,复杂

5、功能代码存储器利用率低利用率低58086/8088指令格式指令格式 操作码操作码(Opcode) +操作数操作数(Operand=OPrd1,Oprd2)Prefix14字节OP Code12字节Mode r/m 1字节 s-i-b 1字节 disp 0,1,2,4 data 字节字段1 字段2 字段3 字段4 字段5 字段6操作码操作码 指定操作类型(操作数类型、寄存器、方向)指定操作类型(操作数类型、寄存器、方向)寻址寻址(Addressing)方式方式 粗分粗分4种,细分种,细分7种种 源操作数值在何处源操作数值在何处 (Oprd1,Oprd2) 目标操作数结果送往何处;目标操作数结果送

6、往何处; (Oprd1) 转移控制指令转移控制指令JMP/CALL/INT目标地址目标地址 特例特例-无无/默认操作数(默认操作数(NOP, CLI,EI,STD,CLD)6第一节第一节 指令寻址方式指令寻址方式1、立即寻址(、立即寻址(Immediate Addressing) MOV AL,100; MOV CX,202XH; ( MOV DS,200H )2、寄存器寻址(、寄存器寻址(Register Addressing) MOV DS,AX; MOVCX,BX;MOVSI,DX3、直接寻址(、直接寻址(Direct Addressing) MOV AX,202XH ; MOV AL,

7、BUFFER(内存);(内存);4、寄存器间、寄存器间(接寻接寻)址址 (Register Indirect Addressing)MOV AX,SI; MOV BL,DI; MOV CH,BX; MOV DX,BP问问 题题物理地址物理地址=?有效地址有效地址EA=? 默认段寄存器默认段寄存器=??7 寻址:物理地址获取寻址:物理地址获取存储器访问:单元存储器访问:单元/变量物理地址变量物理地址PA逻辑地址逻辑地址: 段基地址段基地址SA+偏移地址偏移地址EA(Effective Addr)两部分两部分 PA=SA*16+EA 书面表示书面表示 SA:EA 1000:202XH.DS:202

8、XH有效地址有效地址EA=偏移偏移(Offset)地址地址(直接寻址直接寻址/寄存器间址表示寄存器间址表示) MOV AX,8000H ; MOV BX, 8000H; MOV AX,BX MOV CL,CS:202XH 段基地址段基地址段寄存器内容段寄存器内容 ; 默认段默认段=C/D/E/SS? 默认段寄存器默认段寄存器 一般数据,直接寻址、一般数据,直接寻址、BX、 DI、EI,DS 代码代码 始终始终CS(:IP) BP,SP SS 特殊指令特殊指令 例例(串操作)(串操作) EI ES 段超越段超越 非默认段寄存器,需说明(指令加段超越前缀)非默认段寄存器,需说明(指令加段超越前缀)

9、8 各种寻址方式(二)各种寻址方式(二)5、变址寻址(、变址寻址(Indexed Addressing) 索引索引-源变值源变值R:SI/目标变址目标变址R:DI EA=SI/DI+位移量位移量 MOV AX,SI+6;MOV DL,TABLESI 一维数组一维数组6、基址寻址(、基址寻址(Based Addressing) BX/BP MOV AL,BX+100;MOV DX,TABLEBP7、基址、基址-变址寻址(变址寻址(Based Indexed Addressing) EA=BX/BP+SI/DI+COUNT MOV AL,BXSICOUNT, MOV DX,BP+DI+COUNT

10、二维数组二维数组9存储器操作数存储器操作数存储器寻址方式存储器寻址方式 直接寻址直接寻址 寄存器间寄存器间(接寻接寻)址、变址寻址、址、变址寻址、基址寻址、基址基址寻址、基址-变址寻址变址寻址=存储器操作数存储器操作数 存储方式存储方式 高位结束(高位结束(Big-Endian ) 数据类型数据类型 1/2/4字节字节 ( 8/10) (BYTE/WORD/DOUBLE WORD) 指针指针 NEAR/FAR/SHORT访问速度访问速度 :直接寻址:直接寻址 SPSP= SP-1OPRDL SP2PUSH SRC; (SP)(SP)-2;(;(SP)+1:(:(SP)(SRC) POP DST

11、; (DST)(SP)+1:(:(SP);();(SP)(SP)+2; SRC/DST R/M/SR (但(但DST不可为不可为CS!)!)SP偶数偶数!POP(SP) OPRDLSP=SP+1(SP) OPRDHSP=SP+114通通用传送指令用传送指令-堆栈堆栈 (STACK)用途用途 临时保存数据(临时保存数据(INT断点断点/CALL返回地址返回地址/数据)传递信息数据)传递信息(函数(函数/子程序)子程序)特点与规则特点与规则操作操作 按字(按字(2字节)进行字节)进行 P65PUSH指令指令 从高地址从高地址低地址增长低地址增长,POP相反相反操作规则操作规则 FILO (Firs

12、t-In-Last-Out)栈底栈底 0FFFFH(堆栈的最大地址)(堆栈的最大地址)SP 为当前栈顶指针(为当前栈顶指针(EA)(末指针)(末指针)堆栈:内存特殊区域堆栈:内存特殊区域15通通用传送指令用传送指令-堆栈传递数据堆栈传递数据(PUSH AX之前)之前)16通用传送指令通用传送指令-堆栈传递数据堆栈传递数据(PUSH AX之前)之前)17通用传送指令通用传送指令-堆栈传递数据堆栈传递数据(PUSH AX之后)之后)18执行执行PUSH AX前前(a)后后(b) 堆栈及指针变化堆栈及指针变化19执行执行POP BX前前(a) 后后(b)堆栈及指针变化堆栈及指针变化20通通用传送指令

13、用传送指令-堆栈应用(一)堆栈应用(一)使用过程使用过程/关键关键堆栈平衡堆栈平衡 防止溢出防止溢出PUSH/POP配对使用配对使用/CALL-RET/INT-IRET) 8086:堆栈段:堆栈段SS:SP用途:保护用途:保护/传递数据传递数据 例:例:CALL (嵌套)(嵌套)-INT(嵌套)(嵌套) 函数调用;函数调用;MOV BP,SP; PUSH AX;PUSH BXPUSH CX;.MOVAX,BP-2;访问堆栈内容访问堆栈内容MOV BX,BP-4;MOV CX,BP-6;恢复恢复AX,BX,CX;.ADD SP,6 ;代替代替POP平衡堆栈平衡堆栈21数据传送数据传送-通通用传送

14、指令(二)用传送指令(二)3XCHG dest,src ;(dest) (src) RR/M;禁止禁止MM 例例 XCHG AL,AH; XCHG X1SI,AX4XLAT src_table;(AL)(BX)+(AL)查表转换;)查表转换;可段超越可段超越 例例 ES:XLAT运行前运行前BX须赋值,例须赋值,例 LEA BX,src_table; MOV AX,SEG src_table; MOV DS,AX; MOV 22数据传送数据传送-I/OI/O端口(端口(Port)Port)传送指令传送指令IN AL/AX, portNo; 8位立即数位立即数portNo:0255OUT por

15、tNo,AL/AX;INAL/AX,DX; DX:064K(0FFFFH)OUT DX,AL/AX; 字字IN/OUT L,H例例 IN AL, 40H OUT 40H,AL MOV DX,3F8H IN AL, DX ;PC读读COM1 接收接收 OUT DX, AL ; 发送发送23 数据传送数据传送-地址对象传送指令地址对象传送指令LEA reg16, mem16 ;取有效地址,近地址指针取有效地址,近地址指针(段内段内)reg16 比较比较MOV/ LEA AX,BUFFER,直接,直接-mem=offset xxxx 例例 LEA AX,V1BXSI 当当BX=202XH, LEA SI,BX300HSi=2300HFAR Pointer 16位段址:位段址:16位偏址位偏址 存放格式:存放格式:(例)(例)LDS SI,BX/LES DI,BX(Address-object Transfer)LDS reg16,mem32; mem32存放存放FAR P数据数据(4bytes)DS:reg16 (IP:CSL-H存放存放) LES reg16,mem32 ; mem32存放存放FAR P数据数据(4bytes)ES:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论