Presentation is loading. Please wait.

Presentation is loading. Please wait.

微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.

Similar presentations


Presentation on theme: "微机原理与接口技术 西安邮电大学计算机学院 宁晓菊."— Presentation transcript:

1 微机原理与接口技术 西安邮电大学计算机学院 宁晓菊

2 第四章 80x86 指令系统(第四讲) 第一章 微型计算机系统导论(第一讲) 本讲主要内容 8086指令系统概述 1 2 数据传送类指令

3 第四章 80x86 指令系统—指令系统概述 8086/8088CPU指令系统包含有133条基本指令。按其功能可以分为6类,它们是: ⑴ 数据传送类指令 ⑵ 算术运算类指令 ⑶ 逻辑运算与移位类指令 ⑷ 字符串指令 ⑸ 控制转移类指令 ⑹ 处理器控制类指令。

4 学习指令的注意事项 第四章 80x86 指令系统—指令系统概述
指令的功能——该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式 指令支持的寻址方式——该指令中的操作数可以采用何种寻址方式 指令对标志的影响——该指令执行后是否对各个标志位有影响,以及如何影响

5 一、 数据传送类指令 第四章 80x86 指令系统—数据传送类指令
数据传送类指令将数据、地址或立即数传送到寄存器或存储器单元中。它又可分为通用数据传送指令、累加器专用传送指令、地址传送指令和标志传送指令等四组。

6 第四章 80x86 指令系统—通用数据传送指令 (一)通用数据传送指令 1. 最基本的传送指令MOV 指令格式及操作:
MOV dst,src ;(dst)←(src) dst 是目的操作数 Src 是源操作数

7 第四章 80x86 指令系统—通用数据传送指令 说明: *DST和SRC的组合关系是: ① REG/MEM <= data
② REG/MEM <=> REG ③ REG/MEM <=> SEG *CS不能做目的操作数; *不能MEM<=>MEM,不能SEG<=>SEG, 不能SEG<=data *MOV不改变源操作数,不影响标志位。

8 第四章 80x86 指令系统—通用数据传送指令 2.堆栈操作指令 堆栈操作指令是用来完成压入和弹出堆栈操作的。 ⑴ 压入堆栈指令
指令格式及操作: PUSH src ;(SP) ←(SP)-2, ((SP)+1:(SP)) ←(src) ⑵ 弹出堆栈指令 POP dst ; (dst) ←((SP)+1:(SP)), (SP) ←(SP)+2

9 第四章 80x86 指令系统—通用数据传送指令 说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。
*目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。

10 第四章 80x86 指令系统—通用数据传送指令 例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执行过程。
1 PUSH AX PUSH AX PUSH BX PUSH BX POP AX POP BX POP BX POP AX

11 第四章 80x86 指令系统—通用数据传送指令 3.交换指令XCHG (Exchange) 格式:XCHG OPR1,OPR2
说明: 两个操作数中必有一个是寄存器 REG <=> REG/MEM 段寄存器的内容不能参加交换 例: XCHG BX,[BP+SI]

12 第四章 80x86 指令系统—累加器专用指令 (二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以是8位的,也可以是16位的。

13 第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令

14 第四章 80x86 指令系统—累加器专用指令 ⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作: IN acc, port ;(acc) ←(port) ②间接寻址的输入指令 IN acc, DX ;(acc) ←((DX))

15 第四章 80x86 指令系统—累加器专用指令 ⑵ 输出指令 ①直接寻址的输出指令 指令格式及操作:
OUT port, acc ; (port) ← (acc) ②间接寻址的输出指令 OUT DX, acc ; ((DX)) ← (acc)

16 第四章 80x86 指令系统—累加器专用指令 2.字节转换指令 指令格式及操作:
XLAT src_table ;(AL) ←((BX)+(AL)) XLAT指令是用来将一种字节代码转换成另一种字节代码。常用该指令进行查表操作。 使用前先建立一个字节表格,表格的首址存入BX,要转换的代码(即相对于表格首址的位移量)放入AL,然后执行XLAT,在AL中得到转换以后的代码。

17 第四章 80x86 指令系统—地址传送指令 (三)地址传送指令 取有效地址指令 指令格式: LEA reg16, mem

18 第四章 80x86 指令系统—地址传送指令 例如: LEA DX, bety[BX][SI] 注意LEA指令和MOV指令的异同,比较下面两组指令:

19 第四章 80x86 指令系统—地址传送指令 不同: LEA BX,buffer ;将存储器buffer的偏 移地址送到BX
MOV BX,buffer ;将存储器buffer的内 容传送到BX 相同: LEA BX,buffer MOV BX,OFFSET buffer 以上两条指令都是将存储器buffer的偏移地址送到BX。其中OFFSET buffer 表示存储器偏移地址。

20 第四章 80x86 指令系统—地址传送指令 2. 地址指针装入DS指令 指令格式: LDS reg16, mem32
LDS DI, [2130H] 34H 12H 00H 40H 2130H 2132H DM DI DS 1234H 4000H

21 第四章 80x86 指令系统—地址传送指令 3. 地址指针装入ES指令 指令格式: LES reg16, mem32
LES DI, [2130H] 34H 12H 00H 40H 2130H 2132H DM DI ES 1234H 4000H

22 第四章 80x86 指令系统—标志传送指令 (四) 标志传送指令 1.取标志指令 指令格式: LAHF 2.置标志指令 指令格式: SAHF
FLAG OF DF IF TF SF ZF AF PF CF LAHF和SAHF指令操作示意图

23 第四章 80x86 指令系统—标志传送指令 3.标志压入堆栈指令 指令格式及操作: PUSHF ;(SP) ←(SP)-2,
((SP)+1;(SP)) ←(FLAG) 4.标志弹出堆栈指令 POPF ;(FLAG) ←((SP)+1;(SP)), (SP) ←(SP)+2

24 Thank you!


Download ppt "微机原理与接口技术 西安邮电大学计算机学院 宁晓菊."

Similar presentations


Ads by Google