微机原理第三章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•寄存器中保存的是操作数的内容 。
多媒体演示:
3.3.3
存储器操作数寻址方式
1、规定段寄存器
Ø × ² ÷¿ à Ð Í ¡ È Ñ ¶ ® ´ ® ´ Ã Ó º Ò · Ö º Õ Ø ² Ø ² ÷ ×´ Ô Ø × ² ÷¾ Ä µ Ä BP ä » Ó ¼ ã °ý Ê Ý ½ î À ÷ × × µ · Ö × Ö µ · ° Ñ · Ö æ ´ ¡ È Î º ¶ ù · Ö ´ Ô ä Ë Æ û ¿ ´ Ô ´ Þ Î Þ Î CS¢ ¡ SS¢ ¡ ES Þ Î CS¢ ¡ SS¢ ¡ ES CS¢ ¡ SS¢ ¡ ES
注意的问题:
1、不能在两个存储单元之间传送。
MOV [1000H] ,[2000H] 2、立即数不能送段寄存器。 MOV DS ,300H 3、段寄存器之间不能传送。
MOV DS ,ES
4、CS不能做目的但可做源操作数。MOV CS ,AX MOV AX ,CS 5、操作数类型要匹配,字对字,字节对字节传送 MOV AX ,BL
指令学习注意事项 :
• 操作数类型
• 寻址方式 • 对标志寄存器影响
3.4 .1 数据传送指令
1、通用数据传送指令 2、累加器专用传送指令 3、目标地址传送指令
4、标志位传送指令
特点:寻址方式最丰富,不影响标志位。
(1)通用数据传送指令
通用传送指令:
• 格式:MOV DEST,SRC • 功能:ห้องสมุดไป่ตู้源操作数SRC中的字节或字传送到 目的操作数DEST中。 • MOV 指令不影响标志位
6、MOV指令不影响标志寄存器的值。
(2)堆栈操作指令
r cs、ds、 es、ss
PUSH POP PUSH POP
[mem]
8086/8088的堆栈:
8086通过赋值SS和SP建栈
建栈
MOV AX ,1050H MOV SS ,AX MOV SP ,000 EH
进栈操作:先SP减 2,再内容进栈。
直接寻址 寄存器间 接寻址 基址加位 移量 基址变址 加位移量
图3-10 图3-11 图3-12 图3-13
MOV AX,2000H MOV AX,[BP] COUNT EQU 3000H MOV AX,COUNT[SI] COUNT EQU 250H MOV AX,COUNT[BX][SI]
3.3.4
交换 XCHG-Exchange
加法
ADD-Addition
DIV-Division
乘法 MUL-Multiplication 除法
传送 mov-move
图示记忆法:
• 图示记忆法是把操作功能相同或相似、但其操作
数不同的指令,用图形和箭头将目的、源操作数的关
系表示出来的一种记忆方法。 •规则:通常箭头指向为数据传送方向
第三章 8086指令系统
汇编语言依赖硬件的特性
3.1 基本数据类型
80X86多字节数据的存放原则是低位字节 在低端地址,高位字节在高端地址,而低位字 节的地址是多字节数据的访问地址。
3.1.2 数字数据类型
1、整数
(1)无符号整数
无符号数的最高位不是符号位而是数值的一部分
(2)符号整数
把二进制数的最高一位定义为符号位,符号位为0 表示正数,符号位为1表示负数。所有操作都假定用2 的补码表示。正数的补码与原码相同,负数补码则先
格式:
指令语句:[标号:]助记符 伪指令语句:[名字] 定义符 [操作数] [;注释] [操作数] [;注释]
例:LOOP:ADD AX,0001H;AX 内容加 1
3.3
寻址方式
•3.3.1立即寻址
•
操作数所在的地址直接包含在指令中。指令
的操作数部分就是操作数本身。 多媒体演示:
•3.3.2
寄存器寻址
2、算术运算指令
3、逻辑运算指令 4、串操作指令 5、控制转移指令 6、处理器控制指令 指令中的约定表示符号(P71)
指令系统学习方法概述:
•英文还原法
操作码助记符是该指令功能的英文缩写,将缩写
还原成英语原文,再对照汉语有助于理解其助记符含
义,从而加强记忆。例如:
增量 INC-Incremect 减量 DNC-Decrement
ý £ Õ ³ ¿ ´ CS SS DS ES SS DS
« Ò Æ Æ × µ Ö · IP SP SI DI Ð Ð Ó §µ × Ö ·EA Ð Ð Ó §µ × Ö ·EA
2、 规定偏移量
任何内存实际地址(PA)都由两部分组成:
PA =段基址+段内偏移地址(此单元与段基址的
距离)
段内的偏移地址又称为有效地址(EA):
I/O端口寻址
16
寻址个数:65536(2 ) 8位I/O 端口(也可以定义16位或32位) 用立即数寻址只能用8位立即数,可寻址 I/O 端口前 256个;
用 DX 寄存器寻址可寻址全部 I/O 端口。
3.4 8086指令系统
• 8086共133条指令,从功能上可分为以下类:
1、数据传送指令
EA=基地址寄存器内容+索引×比例系数+位移量
16位寻址和32位寻址四成员定义
有效地址元素 基址寄存器 16位寻址 BX BP 32位寻址
任何32位通用 寄存器
除ESP外的任何 32位通用寄存 器 1,2,4,8
(索引)变址 寄存器
SI DI
比例系数
无(或1)
位移量
0,8,16位
0,8,16,32位
进栈
高 初始栈顶 (栈底)
PUSH PUSH
SP= 0EH
AX BX
(设 AX=1234H) (设 BX=5CF8H)
1050FH
1050FH SP= 0EH
-2
栈 的 范 围 低 10500H SS= 1050H 堆栈起地址 SP= 0CH -2 SP= 0AH 当前栈顶 (变化) SS = 1050H
对该数的原码除符号外各位取反,然后末位加1。
符号整数编码
十进制 二进制
0 1 2 3 4 5 6 7
0 0 0 0 1 1 1 1
00 01 10 11 00 01 10 11
3.2 IA-32指令格式
•操作码:规定计算机所要执行的操作;
•操作数:指出在指令执行过程中所需要的数或操作
数所在的地址。
12H
34H 5CH F8H
(AX)
(BX)
10500H (不变)
进栈前SP和SS的值
SP=000EH SS=1050H
进栈后的SP和SS的值
SP=000AH SS=1050H