Microsoft PowerPoint - CH2_1.ppt [兼容模式]

Similar documents
Microsoft PowerPoint - CH2_1.ppt [兼容模式]

幻灯片 1

微机第02章1(指令寻址)

untitled

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

微机系统与接口--第2章 ppt

数据库系统概论

数据库系统概论

Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式]

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

Microsoft PowerPoint - Ch3-8086CPU指令系统(2)-寻址.pptx

(2) Function 0BH: Function 0CH: (pixel, picture element) Function 0DH: Function 0FH: Function 13H:

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

第5章:汇编语言程序设计


3.3.2 算术运算指令 数据类型 : 无符号和有符号整数 无符号数又分成 : 无符号二进制数 ; 无符号压缩十进制 :1 字节表示 2 个十进制数 ; 无符号非压缩十进制 :1 字节表示 1 个十进制数 有符号数 : 有符号二进制数 用补码表示 2015 年 3 月 26 日星期四 11 时 3

L15 MIPS Assembly

幻灯片 1

数据库系统概论

Microsoft PowerPoint - C15_LECTURE_NOTE_06

DPJJX1.DOC

数据库系统概论

Microsoft PowerPoint - C15_LECTURE_NOTE_06

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt

微處理機期末專題

投影片 1

組譯與連結(Ver6

1 CPU

Ps22Pdf

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt

66 微型计算机原理与接口技术 ( 第二版 ) 2. 指令格式计算机中的汇编指令由操作码字段和操作数字段两部分组成 (1) 操作码字段 操作码表示计算机要执行的某种指令功能, 由它来规定指令的操作类型, 说明计算机要执行的具体操作, 例如传送 运算 移位 跳转等操作 同时还指出操作数的类型 操作数的

/ / (FC 3)...

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

4 / ( / / 5 / / ( / 6 ( / / / 3 ( 4 ( ( 2

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

Computer Architecture & Organization

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

本次习题课中提到的 课本, 均指机械工业出版社的 Intel 微处理器 ( 原书第八版 ) 中文版, 使用其他版本课本的同学需要自己对应

欧洲标准胀紧套

MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ]

Microsoft PowerPoint - os_4.ppt

Microsoft PowerPoint - CH3_3.ppt [只读] [兼容模式]

习 题 一

微型计算机原理及应用试题 机电96

数 学 高 分 的 展 望 一 管 理 类 联 考 分 析 第 一 篇 大 纲 解 析 篇 编 写 : 孙 华 明 1 综 合 能 力 考 试 时 间 :014 年 1 月 4 日 上 午 8:30~11:30 分 值 分 配 : 数 学 :75 分 逻 辑 :60 分 作 文 :65 分 ; 总

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

untitled

E170C2.PDF

学习MSP430单片机推荐参考书

一、填空题

#!$ %" & ( &)*+,((&-,./ )01,+2 ( /., )>2/ 80;2 +&,($ J &( > =.>? =0+ 9, *,0*., 0= )>2/ 2> &02($ J &( > A.;, % 9 > )>* 0= &2 9, )&11.,

! "! "! # $ # # %#!# $# &# # ()*+, )-.) /# () () 0# 1,2.34, 4*.5)-*36-13)7,) ,9,.).6.(+ :# 13).+;*7 )-,7,<*7,-*=,>,7?#

:23:13 solo estoy( ) 老 师 SIMD 技 术 ALU 同 时 处 理 的 数 据 长 度 只 能 是 ALU 最 大 位 数 的 整 数 分 之 一 对 吗 :25:16 solo estoy( )


目 录

li 侉 2. 在 下 列 加 点 字 的 正 确 读 音 旁 打 : (1) 我 看 见 路 边 有 一 条 蛇 A.sh 佴 B.sh 佶 C.sh 侑 D.sh 侉 (2) 外 面 的 泥 土 冻 得 很 硬 A.y 侏 n 倮 B.y 侃 n 倮 C.y 佾 n 倮 D.y 佻 n 倮 (3


Ps22Pdf

Ch2.1

Ps22Pdf

1 TPIS TPIS 2 2

bingdian001.com

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

2006年国家公务员招录考试行测真题(A)

2011国家司法考试试题(试卷一)

Microsoft Word - 專題封面.doc


诺贝尔生理学医学奖获奖者

! "! #!$$%!$$% &!!$$( # ) (

第七章 中断

<4D F736F F F696E74202D D D6B8C1EECFB5CDB DC6E4CBFBD6B8C1EE2E BBCE6C8DDC4A3CABD5D>

试题二

#$%&% () % ()*% +,-. /01 % + (/) " " " 2- %** -340 $%&% 5!$%&% () % ()*% +,-. /01 % + (/) " " " 2- %** -340 /64 7%,(8(, *--9( ()6 /-,%/,65 :$%&

<4D F736F F D C4EAB9FABCD2B9ABCEF1D4B1D0D0D5FEC4DCC1A6B2E2D1E9A3A841C0E0A3A92E646F63>

单片机原理及应用实验指导书.doc

7688使用手冊V10.doc

Microsoft PowerPoint sun-arm isa2.ppt [Compatibility Mode]

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

16. 小 雄 在 實 驗 室 中 想 要 稀 釋 濃 硫 酸, 下 列 操 作 方 法 何 者 最 安 全?(ch0) 17. 測 量 四 個 金 屬 球 的 體 積 和 質 量, 結 果 如 下 表, 請 問 何 者 的 材 質 最 可 能 和 其 他 三 者 不 同? (A) 甲 (B) 乙

10 t10 論 病 例 計 酬 案 件 申 請 件 數 11 t11 論 病 例 計 酬 案 件 日 數 12 t12 論 病 例 計 酬 案 件 醫 療 費 用 點 數 6 9 案 件 分 類 2( 論 病 例 計 酬 案 件 ) 之 申 請 件 數 加 總 8 9 案 件 分 類 2( 論 病

Create By PageManager

(Microsoft Word - \246D\252k\267\247\255n_\275\306\277\357_.docx)

共同构成 16 位数据存储单元的地址 当 CPL=1 时, 将堆栈指针 SP 的 16 位地址 与指令中的 7 位地址相加, 形成 16 位的数据存储器地址 (2) 当 SP=0100h, 偏移地址为 50h 时, 寻址 0150h 单元 ; 当 DP=2, 偏移地址为 50h 时, 寻址 0150

Microsoft PowerPoint - CH3_1.ppt [兼容模式]

<4D F736F F D F F315FAAFEA5F333AAF9B645C2E5C0F8AA41B0C8C249BCC6B24DB3E6B443C5E9A5D3B3F8AEE6A6A12E646F63>

一 汇编语言计算机基础 从事计算机科学方面的工作, 汇编语言是我们必不可少缺的基础 我们的工作平台 研究对象都是机器, 而汇编语言是人和计算机沟通的最直接方式, 它描述了机器最终所要执行的指令序列 学习汇编语言可以让你充分获得底层编程的体验, 深刻理解机器运行程序的机理 二 基础知识 1. 汇编语言

instructions.PDF

PowerPoint 簡報

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

因 味 V 取 性 又 鸟 U 且 最 大 罗 海 惜 梅 理 春 并 贵 K a t h l ee n S c h w e r d t n er M f l e z S e b a s t i a n C A Fe rs e T 民 伊 ' 国 漳 尤 地 视 峰 州 至 周 期 甚 主 第 应

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

:;< =;< >!?%(, (-+ *$5(1 *$%* *#%0$#34 65&# *--.20$ $-.#+-317 A$#, 4%, 5* 54! >! B-3 0$5)/3#( * %* $-.# 5( *$#53 B3## *5.#7

Transcription:

第二章微型计算机指令系统 IA-16 微机系统结构 - 工作原理 8086/8088 微处理器周期性地执行指令时钟 /T 周期 指令周期 总线周期 ( 内部操作 / 总线操作 ) 指令 --- 微机算术 逻辑和控制功能的实现基础 重点 : 信息交换方法 ( 数据流 ), 程序流控制 *1 目标地址传送 * 寻址方式 2 标志传送 3 转移控制( 转移指令 过程调用 中断 ) 微机系统与接口东南大学 1 RISC/CISC-- 两种指令体系计算机 精简指令计算机 (RISC Reduced Instruction Set Computer) APARC, PowerPC, Alpha,ARM 指令简单, 复杂功能代码存储器利用率低特点 : 指令种类很少, 组合使用, 依赖 : 编译器执行程序 指令序列 复杂指令计算机 (CISC Complex Instruction Set Computer) 变长编码, 种类多, 代码利用率低, 可人工优化设计例 : 80X86/Pentium 变长字节 1-16 字节, 向下兼容, 8086 指令向下兼容 8080/8085 指令, 共 92 种基本指令 微机系统与接口东南大学 2 指令与指令系统 指令 (Instructions) 指令集或指令系统 (Instruction Set) 机器码 ( 指令 ) 指示 CPU 执行某种规定操作的命令 某一 CPU 所能执行的全部指令的集合 定义了程序员能使硬件完成的基本操作 (CPU 基本性能 ) 汇编语言 / 助记符 (Mnemonic Symbol) F8H=CLC 指令 F5H=CMC F9H=STC 05H 00H 10H ADD AX,1000H B9H 25H 00H MOV CX,0025H 01H C8H ADD AX, CX 指令的表示 微机系统与接口东南大学 3 指令 ( 代码 ) 的获取 机器汇编 程序设计 IDE( 集成开发环境 ) 编辑器 (Editor) 命令行 (CMD/ 脚本语言 ) 高级语言程序 ( 与机器无关 ) 编译器 (Compiler) 汇编语言 ( 与机器有关 ) 汇编器 (Assembler) 待装配的 BIN 指令代码 (P434 指令表 ) 链接器 (Linker) 人工汇编可执行 BIN 指令代码 ( 指令序列 ) 动态调试器 (DEBUG) ( 软件 ) SOFTWARE FIRMWARE( 固件 ) 微机系统与接口东南大学 4 汇编语言指令与构成 机器指令 : 指令的二进制代码形式 如 : 050020H MOV AX,2000H 汇编指令 : 助记符形式的指令如 :MOV BX,DX; ADD AX,2000H 语法结构 -- 动作 + 对象指令 = 指令操作码 + 操作数 指令操作码 动作功能 : 做什么?MPU 设计者定义 指令操作数 源 / 目标 : 针对什么操作? 程序员决定 指令格式 : 指令中对操作码 操作数的编码方式 电路译码, 微代码生成, 微控制器执行 微机系统与接口东南大学 5 8086 指令运行环境 --CPU 执行某种规定操作 通用寄存器AH AL BH BL CH CL DH DL SP BP DI SI ALU 数据总线 (16 位 ) 运算寄存器 ALU 标志寄存器 AX BX CX DX EU 控制系统 执行单元 EU 段寄存器 指令指针 CS DS SS ES IP 内部暂存器 Q 总线 (8 位 ) 总线接口单元 BIU 地址总线 20 位 数据总线 8088:8 位 8086:16 位 指令队列 1 2 3 4 5 6 8088 8086 总线控制逻辑 外部总线 微机系统与接口东南大学 6 1

8086 指令的书写格式教材 P430 机器码 操作码 [[ 操作数 1], [ 操作数 2]] ( 操作码 : 必备 ; 操作数 :0,1 或 2 个,8 位或 16 位 ) 8086/8088 采用变长编码格式, 属于 CISC 字段 1( 低 ) 字段 2 字段 3 字段 4 字段 5 字段 6( 高 ) Prefix OP Code Mode r/m s-i-b disp Imd# # 1~4 字节 1~2 字节 1 字节 1 字节 0,1,2,4 0,1,2,4 前缀 操作码 寻址 R/M SIB 存储偏移量 立即数 操作码指定操作类型 ( 操作数类型 寄存器 方向 ) 典型操作助记符 MOV,ADD,SUB,CMP,JMP,CALL, INT r/m= 寄存器 / 存储器 ; s-i-b=scale(2)index(3)base(3) Disp= 偏移量 前缀 : 锁定 / 重复, 段 操作码 地址范围超越 微机系统与接口 东南大学 7 前缀 : 锁定 / 重复, 段 操作码 地址范围超越 F0H Lock; F2 REPNE; F3 REP/REPE 2EH CS, 36H SS, 3EH DS, 26H ES 66H 操作码范围例 :MOV CS:[2000H],AL 67H 地址范围 REP MOVSB 微机系统与接口东南大学 8 操作码 : 典型 X X X X X X D/S/V W d=1 到寄存器 d=0 源自寄存器 v=1 移位计数 1,=0 计数 CL W=0 字节操作 W=1 字操作指令 s:w=01 16 位立即数 s:w=11 字节带符号扩展成 16 位微机系统与接口东南大学 9 寻址方式字 Mod=00 存储器寻址, Disp=0 (R/M=110 除外 ) Mod=01 存储器寻址, Disp=1 byte Mod=10 存储器寻址, Disp=2 bytes Mod=11 寄存器寻址, 由 REG 和 R/M 决定 微机系统与接口东南大学 10 ( 例 ) ADD 加法 : 寄存器 / 存储器 存储器 / 寄存器 P414 立即数 寄存器 / 存储器立即数 累加器 REG 字段和 MOD=11 时 R/M 字段 ( 寄存器寻址 ) R/M=000 AL(W=0) AX(W=1) 100 AH SP 001 CL CX 101 CH BP 010 DL DX 110 DH SI 011 BL BX 111 BH DI 微机系统与接口 东南大学 11 05 00 10H ADD AX,1000H 01H C8H ADD AX, CX 00H C8H ADD AL,CL 01H C1H ADD CX,AX 00H C1H ADD CL,AL 01H D9H ADD CX,BX 81H C3H 00H 10H ADD BX,1000H 微机系统与接口 东南大学 12 2

MOD 11 存储器寻址 R/M=000 : MOD=00 (BX)+(SI) =01 (BX)+(SI) +8disp =10 +16Disp 001 (BX)+(DI) 100 (SI) 010 (BP)+(SI) 101 (DI) 011 (BP)+( DI) P432 附表四 110 MOD=00 直接寻址 01 (BP)+8disp 111 (BX) 微机系统与接口 东南大学 13 A1 34 12 MOV AX,[1234H] 8B 04H MOV AX,[SI] 00 C8H ADD AL,CL 8B 8C 00 10H MOV AX,[SI+1000H] 00 C1H ADD CL,AL 8B 56 05H MOV DX,[BP+5] 81 C3 00 10H ADD BX,1000H 8B 36 34 12 MOV CX, [1234H] 3A 74 02H CMP DH,[SI+2] 3A 70 05H DH,[SI+BX+5] 微机系统与接口东南大学 14 8086/8088 指令 操作数 (Operands) 操源操作数 : 值或存在何处 (Oprd1,Oprd2) 作目标操作数 : 结果送往何处 ; (Oprd1) 数或转移控制指令 JMP/CALL/INT 目标地址 8086 指令操作数的个数情况 无操作数指令, 例 : 空操作 NOP, 等待指令 WAIT 系统操作指令 :STD,CLD,STC,CLC,CLI,STI ( 目标?) 单操作数指令, 例 : 加 1 指令 INC AX 双操作数指令, 例 : 减法指令 SUB AL,BL 源操作数 :AL,BL; 目的操作数 : 前者 (AL) 默认操作数 : DIV DL 源 :AX, 目标 :DL 微机系统与接口东南大学 15 8086/8088 指令 操作数 (Operands) 操作数 : 直接 / 间接几种存放地点 : 立即数 : 操作数直接包含在指令当中例 :MOV AL,50H 寄存器操作数 : 操作数存放在寄存器中例 :INC AL 内存操作数 : 操作数存放在内存单元中例 :MOV AL,[2000H] I/O 操作数 : 操作数来自 I/O 端口例 :IN AL,28H 确定操作数 ( 操作数地址 ) 的方式 寻址方式 微机系统与接口东南大学 16 8086/8088 操作数寻址环境 8086/8088 微处理器操作数寻址环境地址总线 AB CPU 控制器 运算器 寄存器 存储器 00000H : FFFFFH 输入设备 I/O 接口 0000H : FFFFH 输出设备 数据总线 DB 控制总线 CB 微机系统与接口东南大学 17 8086/8088 操作数寻址方式分类 非存储器寻址 存储器寻址 立即数寻址寄存器寻址隐含 ( 默认 ) 寻址 * I/O 寻址粗分 4 种 直接寻址间接寻址 * 基址寻址变址寻址基址 + 变址寻址 细分 7 种 微机系统与接口东南大学 18 3

指令寻址方式 ( 一 ) 1. 立即寻址 (Immediate Addressing) MOV AL,100; MOV CX,2000H;( MOV DS,200H ) 2. 寄存器寻址 (Register Addressing) MOV DS,AX; MOV CX,BX;MOV SI,DX 3. 直接寻址 (Direct Addressing) 问题 MOV AX,[2000H ] ; MOV AL,BUFFER( 内存 ); 4. 寄存器间址 (Register物理地址 Indirect Addressing) =?? MOV AX,[SI]; MOV BL,[DI]; ( 寄存器间接寻址 ) MOV CH,[BX]; MOV DX,[BP] 有效地址 EA=? 默认段寄存器 =? 微机系统与接口东南大学 19 寻址 : 物理地址获取 存储器访问 : 单元 / 变量物理地址 PA 逻辑地址 : 段基地址 SA+ 偏移地址 EA(Effective Addr) 两部分书面表示 SA:EA 1000:2000H, DS:2000H 有效地址 EA= 偏移 (Offset) 地址 ( 直接寻址 / 寄存器间址表示 ) 物理地址 PA=SA*16+EA 2000:3456H~2200:1456H? 存放代码 数据 ( 默认 Hex 数制 ) 2000:0100 A1 00 80 MOV AX,[8000H ]; 2000:0103 05 34 12 ADD AX,1234H 2000:0106 A3 00 80 MOV [8000H],AX 2000:0109 BB 00 80 MOV BX, 8000H; 2000:010C 8B 07 MOV AX,[BX] ; 2000:010E 2E ; 段超越前缀 2000:010F FE 06 00 20 INC BYTE PTR CS:[2000H] 微机系统与接口 东南大学 20 存储器数据访问 8F00:2000 A0 50 40 MOV AL,[4050H] 8F00:2003 86 2A 51 40 MOV AH,[4051H] 8F00:2007 A1 50 40 MOV AX,[4050H] 8F00:200A??????? INC [4050H] 字节 B 还是字 W? 8F00:200A FE 06 50 40 INC BYTE PTR[4050H];B 8F00:200E FF 06 50 40 INC WORD PTR[4050H];W 8F00:2012 BB 50 40 MOVBX,4050H ; 寄存器 8F00:2015 FE 07 INC BYTE PTR[BX] 8F00:2017 FF 07 INC WORD PTR[BX] 8F00:2019 80 07 01 ADD BYTE PTR[BX],1 8F00:201C 83 07 01 ADD WORD PTR[BX],1 8F00:201F 81 07 04 03 ADD WORD PTR[BX],0304H 微机系统与接口东南大学 21 段默认与段超越 8F00:2000 8A 07 MOV AL,[BX] 8F00:2002 8A 67 01 MOV AH,[BX+1] 8F00:2005 8B 07 MOV AX,[BX] 8F00:2007 2E 8B 07 MOV AX,CS:[BX] 8F00:200A 8B 46 00 MOV AX,[BP] 8F00:200D 26 8B 46 00 MOV AX,ES:[BP] 段基地址 ~ 段寄存器内容 ; 默认段 =C/D/E/SS? P59 表 2.3 默认段寄存器一般数据, 直接寻址 BX DI EI,~DS 代码始终 ~CS(:IP) BP,SP~ SS 特殊指令例 ( 串操作 ) EI~ ES 段超越非默认段寄存器, 需说明 ( 指令加段超越前缀 ) 微机系统与接口东南大学 22 各种寻址方式 ( 二 ) 5. 变址寻址 (Indexed Addressing) 索引 -- 源变值 R:SI/ 目标变址 R:DI EA=[SI]/[DI]+ 位移量 MOV AX,[SI+6];MOV DL,TABLE[SI] 一维数组 6. 基址寻址 (Based Addressing) [BX]/[BP] MOV AL,[BX+100];MOV DX,TABLE[BP] 7. 基址 -- 变址寻址 (Based Indexed Addressing) EA=[BX]/[BP]+[SI]/[DI]+COUNT ( 偏移量 ) MOV AL,[BX][SI]COUNT; =MOV AL,[BX+SI+COUNT] MOV DX, COUNT[BP+DI] ; 二维数组 有效地址的另外三种表示方法 问题 : 在物理上存储器操作数如何存放? 字节, 字, 双字, 四字 -- 数据变量? 指针变量? 微机系统与接口东南大学 23 存储器操作数问题 8086MPU 存储器寻址 直接寻址寄存器间 ( 接寻 ) 址 变址寻址 基址寻址 基址 -- 变址寻址 == 存储器操作数 存储方式 高位结束 (Big-Endian ) 数据类型 1/2/4 字节 ( 8/10) (BYTE/WORD/DOUBLE WORD) 指针 NEAR/FAR/SHORT 3B000 L 80H,1234H, 20123456H 3B001 H ML MH JMP 2000H 3B002 CALL 2000H:4567H 3B003 H JMP NEAR PTR[BX] 访问速度 : 直接寻址 < 寄存器间址 物理存储格式 微机系统与接口东南大学 24 4

特例 : 隐含 / 默认操作数 操作数并不直接出现在指令中, 而是由操作码隐含地指定为某一默认固定项 (P59T2.2) 例 : PUSH AX POP ES ; 目操作数隐含为栈顶字单元 ; 源操作数隐含为栈顶字单元 LAHF ; 源操作数隐含为标志寄存器低字节 SAHF; 目操作数隐含为寄存器 AH DIV CL; 隐含源操作数 AX, 目标操作数 AX AX/CL AL( 商 ),AH( 余数 ) DIV CX; 隐含源操作数 DX:AX, 目标 DX, AX (DX.AX)/CX AX( 商 ),DX( 余数 ) 微机系统与接口东南大学 25 8086/8088 指令系统 ( 六大类 ) 数据传送通用 / 输入输出 / 目标地址传送 / 标志传送 算术运算整型数据处理 逻辑运算与位操作 逻辑数据处理 串操作字符型数据处理 转移控制程序流控制处理 ( 条件 / 无条件 ) MPU 控制系统控制管理 微机系统与接口东南大学 26 数据传送指令 -- 通用传送 1.MOV BYTE/WORD 传送 ; 各寻址方式 ; MOV DST,SRC (LD) MOV AX,80A0H; MOV DS, AX MOV BX,[SI]100; MOV CS:[2000H],SI MOV [BP][3000],AL MOV BYTE PTR [BX]200H, 200 MOV WORD PTR[2000H],40H R R/M,I( 直接数 ) R/M;R/M SR( 段寄存器 ) 禁止 :M M;I SR;SR SR( 例 : 数据块移动 ) 微机系统与接口东南大学 27 2. 堆栈传送 数据传送指令 -- 通用传送 PUSH SRC; 目标操作数隐含为栈顶单元, SP-2 (SP) (SP)-2;((SP)+1:(SP)) (SRC) 例 : PUSH AX; PUSH [BX]100 PUSH [2000H] POP DST; 源操作数隐含为栈顶单元, SP+2 (DST) ((SP)+1:(SP));(SP) (SP)+2; 例 : POP AX; POP DS; POP CS:[2000H] POP [BX]100; POP [BP][SI]1000H SRC/DST R/M/SR ( 但 DST 不可为 CS!!!)SP 偶数!! 微机系统与接口东南大学 28 通用传送指令 --- 堆栈 (STACK) 用途临时保存数据 (INT 断点 /CALL 返回地址 / 数据 ) 传递信息 ( 函数 / 子程序 ) 特点与规则操作按字 (2 字节 ) 进行 P65 堆栈 : 内存特殊区域 PUSH 指令从高地址 低地址增长, POP 相反 操作规则 FILO (First-In-Last-Out) SP 为当前栈顶指针 (EA)( 末指针 ) SS 段寄存器指向该段栈底 ( 堆栈的最大地址 )SS:MAXSP 微机系统与接口东南大学 29 入栈操作示例 设有 SS=8000H,SP=2000H,AX=0543H PUSH AX AL AH SP=1FFEH SP=SP-1 SP=SP-1 SP=2000H Stack 43H 05H 81FFEH 81FFFH 82000H 微机系统与接口东南大学 30 5

出栈操作示例 设有 SS=8000H,SP=01FEH POP AX AL AH 出栈后 : SP=0200H AX=1122H SP=01FEH SP=SP+1 SP=SP+1 堆栈内容不变? STACK 22H 11H 801FEH 801FFH 80200H 不变, 仅 SP+2 微机系统与接口东南大学 31 使用过程 / 关键 堆栈平衡防止溢出 8086: 堆栈段 SS:SP 用途 : 保护 / 传递数据 通用传送指令 --- 堆栈应用 ( 一 ) PUSH/POP 配对使用 /CALL-RET/INT--IRET) 例 :CALL ( 嵌套 )-- INT( 嵌套 ) 函数调用特殊程序段 ( 保护 ); 应用程序段 PUSH AX; PUSH BX PUSH CX;. ; 可能改变 AX,BX,CX POP CX ; 恢复 AX,BX,CX; POP BX POP AX. : RET 微机系统与接口东南大学 32 数据传送 --- 通用传送指令 ( 二 ) 3.XCHG dest,src ;(dest) (src) R R/M; 禁止 M M 例 XCHG AL,AH; XCHG X1[SI],AX 4.XLAT [src_table]; (AL) [(BX)+(AL)] 查表转换 ; 可段超越例 ES:XLAT, 运行前 BX 须赋值, 例 : LEA BX,src_table; MOV AX,SEG src_table; MOV DS,AX; MOV AL,N; XLAT;[BX+N] AL 微机系统与接口东南大学 33 数据传送 ---I/O 端口 (Port) 传送指令 IN AL/AX, portno; 8 位立即数 portno:0~255 OUT portno,al/ax; IN AL/AX,DX; DX:0~64K(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 ; 发送 微机系统与接口东南大学 34 数据传送 --- 地址对象传送指令 LEA reg16, mem16 ; 取有效地址, 近地址指针 ( 段内 ) reg16 比较 MOV/ LEA AX,BUFFER, 直接 -mem=offset xxxx 例 LEA AX,V1[BX][SI] (Address-object Transfer) 当 BX=2000H, LEA SI,[BX]300H SI=2300H FAR Pointer 16 位段址 :16 位偏址存放格式 : ( 例 )LDS SI,[BX]/LES DI,[BX] LDS reg16,mem32; mem32 存放 FAR P 数据 (4bytes) DS:reg16 (IP:CS L-H 存放 ) LES reg16,mem32 ; mem32 存放 FAR P 数据 (4bytes) ES:reg16 微机系统与接口东南大学 35 数据传送 --- 标志传送指令 (Flag Register Transfer) LAHF;(Load AH from Flags) ;F 低 8 位 AH (SF ZF XX AF XX PF XX CF) SAHF; (Store AH to Flags) AH Flags 低 8 位 PUSHF; (SP) (SP)-2; ((SP)+1:(SP)) (FLAGS) POPF; (FLAGS) ((SP)+1:(SP)); (SP) (SP)+2; 指令 (2) 微机系统与接口东南大学 36 6