二章微处理器和指令系统.ppt
文本预览下载声明
第二章 微处理器和指令系统 2.1 Intel系列微处理器概述 2.2 Intel 80486微处理器体系结构 2.3 80486的数据类型与寻址方式 2.4 80486的汇编级指令系统 2.5 关于指令系统的说明 2.1 Intel系列微处理器概述 2.1.1 Intel 8086/8088 2.1.1 Intel 8086/8088 2.1.1 Intel 8086/8088 2.1.2 Intel 80286 2.1.3 Intel 80386/80486 2.1.4 Pentium微处理器(80586) 2.2 Intel 80486微处理器体系结构 2.3 80486的数据类型与寻址方式 2.3.1 数据类型 2.3.2 寻址方式 2.3.2 寻址方式 2.3.3 操作数宽度和地址宽度的确定 2.3.3 操作数宽度和地址宽度的确定 2.4.3 80486的指令简介 2.4.4 几类常用指令详解 数据传送指令 算术运算指令 逻辑运算与移位指令 串操作指令 控制转移指令 重点关注: 指令的汇编格式 指令的基本功能 指令支持的寻址方式 指令的执行对标志位的影响 指令的特殊要求 数据传送指令 数据传送是计算机中最基本、最常用的一类操作。 传送指令(MOV) 交换指令(XCHG) I/O指令(IN/OUT) 装入有效地址指令(LEA) 装入段寄存器指令(LDS、LES、LFS、LGS、LSS) 查表转换指令(XLAT) 压栈/弹栈指令 (PUSH/PUSHA/PUSHAD/POP/POPA/POPAD)) 扩展传送指令(MOVSX/MOVZX) 字节交换指令(BSWAP) 1. 传送指令 指令操作:(源操作数)→目的操作数 使用说明: 源操作数和目的操作数的类型必须一致。 目的操作数不能为立即数。 CS和(E)IP均不能用作指令的目的寄存器。 段寄存器间不能直接传送,也不能直接将立即数送给段寄存器。 源操作数为立即数,而目的操作数类型不确定时,要给目的操作数加类型说明。 [例2.3] 识别下列指令的正确性,对错误的指令,说明错误的原因。 ⑴ MOV DS,100 [例2.4] FIRST,SECOND为字节变量,写出将FIRST开始的字内容送给变量SECOND开始的字单元指令序列。 MOV AL,FIRST MOV SECOND,AL MOV AL,FIRST[1] MOV SECOND[1],AL 2. 交换指令 操作: (目的操作数) ?(源操作数) TEST: MOV AL,0FFH XCHG AL,SEMAPHORE AND AL,AL ;产生条件码 JNZ TEST ;忙时等待 … (临界段程序) MOV AL,0 MOV SEMAPHORE,AL ;清信号灯 ⑴ 输入指令 格式:IN 累加器, 端口 AL/AX/EAX, IMM8 AL/AX/EAX, DX 操作: (I/O端口)→AL/AX/EAX ⑵ 输出指令 格式:OUT 端口, 累加器 IMM8 , AL/AX/EAX DX , AL/AX/EAX 操作:(AL/AX/EAX)→I/O端口 格式:LEA r16/r32, mem ;r16/r32--mem的有效地址EA 把源操作数的地址偏移量-目的操作数寄存器 例 LEA AX, [BP][DI] 说明 LEA指令处理变量的地址(EA)而不是变量的内容 LEA和MOV指令的比较 MOV BX, OFFSET VAL ;将VAL的有效地址=BX MOV BX, VAL ;将VAL的值=BX LEA BX, VAL ;将VAL的有效地址=BX MOV指令用OFFSET操作不能直接取数组中任意元素的位移量,只能取数组的第一个元素的位移量,而LEA可以传送任意数组元素的位移量。 如LEA DX, BETA[BX][SI] LEA的源操作数必须是存储器操作数 LEA不影响F标志 LDS reg, mem 目的操作数为16
显示全部