微机接口与原理---3PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OUT DX, AL
11
3.2 8086/8088 CPU的指令系统 微机原理
3.2.1 数据传送指令
1.通用数据传送指令
⑴ MOV 传送指令
指令格式:MOV DST,SRC ;
执行操作:(DST)←(SRC)
CS DS、 SS、ES
存储器 (M)
通用寄存器
AX、BX、CX、DX BP、SP、SI、DI
堆栈指令可使用除立即数以外的寻址方式。
14
微机原理
(3) XCHG 数据交换指令 指令格式:XCHG OPR1,OPR2 执行操作:(OPR1) (OPR2) 该指令中的操作数,既可以是字节,也可以是 字。规定参加交换的两个操作数必须有一个是 寄存器,即交换只能在寄存器之间或寄存器与 存储器之间进行,段寄存器不能作为XCHG指 令的操作数。
存器名。
4
微机原理
3.1.3 寄存器寻址方式 寄 存 器 寻 址 : 操 作 数 存 放 在 CPU 内 部 的 寄 存 器 中 ,寄存器可以是8位或16位。 例 :MOV AX,DX ; AX←DX
5
微机原理
百度文库
3.1.4 寄存器间接寻址
寄存器间接寻址:有效地址包含在基址寄存器BX、 BP或变址寄存器SI、DI中。
3
微机原理
3.1.2 直接寻址方式
直接寻址:操作数的有效地址由指令直接给出, 可以是数值地址,也可以是符号地址。符号地 址必须是已经赋过值的。
例:MOV AX,[3700H]
MOV AX,ES:[VALUE]
直接寻址方式默认的段基址是DS。如果要
对其他段寄存器所指出的存储区进行直接
寻址,则必须用段超越前缀指令指出段寄
13
⑵ 堆栈操作指令
微机原理
PUSH 压栈指令
指令格式:PUSH SRC
执行操作:SP←SP-2,(SP+1,SP)←(SRC) POP 出栈指令
指令格式:POP DST
执行操作:(DST)←(SP+1,SP),SP←SP+2
对标志位的影响:不影响标志位
使用堆栈指令时,要注意的是堆栈操作是一个 字操作;堆栈指针SP总是指向栈顶;POP指令 不允许用CS寄存器。
2
微机原理
3.1.1 立即寻址方式
立即寻址:操作数直接出现在指令中,数据可 以是8位或16位。 例: MOV AL,08H ; AL← 08H
MOV AX,3967H; AX← 3967H
由于立即数只表示一个常数,指令系统规 定,单操作数指令不允许使用立即数寻址 方式;而在双操作数指令中,立即数方式 也只能用于源操作数。
有效地址EA为当前IP寄存器内容与指令中指定 的8位或16位有符号数之和
例:JZ DISP
其中DISP是符号地址
2.段内间接转移寻址
有 效 地 址 EA 为 寄 存 器 或 存 储 器 单 元 的 内 容 , 这 种寻址方式不能用于条件转移指令。
例:JMP CX
9
微机原理
3. 段间直接转移寻址 指令直接提供了转移目标段地址和偏移地址 例:JMP FAR PTR NEXT NEXT是符号地址,它所在的段地址送CS寄存 器,所在的偏移地址送IP寄存器 4.段间间接转移寻址 用存储器中二个连续字内容取代IP和CS寄存器 中的原始内容以达到段间转移的目的 例3.12:JMP DWORD PTR [BP][SI]
寻址方式:取得指令操作数地址的方式。
8086/8088的操作数可以放在寄存器、存储器或I/O 接口中,也可以以立即数方式放在指令代码中。在 转移类指令中的寻址方式是要寻找转移新地址。 8086/8088CPU内部提供的寄存器均为16位,而实际 的物理地址却需要20位,这就给它的寻址方式带来 复杂性(段基址+偏移量)。 8086/8088共有7种寻址方式,它们是立即寻址、直 接寻址、寄存器寻址、寄存器间接寻址、寄存器相 对寻址、基址变址寻址和相对基址变址寻址。
第三章 8086/8088指令系统 微机原理
主要内容
•8086/8088 CPU 的寻址方式 •8086/8088 CPU 的指令系统 指令:使计算机执行某种特定操作的二进 制编码,由操作码和操作数组成。 指令系统:指一种计算机能够识别和执行 的所有不同指令的集合。
1
3.1 8086/8088 CPU的寻址方式 微机原理
7
微机原理
3.1.7 相对基址变址寻址方式 操作数的有效地址等于一个基址寄存器的内容、 一个变址寄存器的内容和一个8位或16位的位移 量之和。 MOV AX,ADDR[BP+SI]
对于BX而言,段寄存器为DS; 对于BP而言,段寄存器为SS。
8
微机原理
3.1.8 转移类指令的寻址方式
1.段内相对转移寻址
10
微机原理
3.1.9 I/O端口寻址
I/O端口寻址: 操作数存放在I/O端口中
1.直接I/O端口寻址方式 端口地址由指令直接提供的一个8位立即数
例:IN AL,13H
2.间接I/O端口寻址方式
端口地址由DX寄存器给出,由于DX能表达16 位地址,可访问64K范围内的I/O端口
例: MOV DX,1234H
立即数
图 MOV指令直接传送示意图
12
微机原理
在使用通用传送指令时需要注意: (1)不允许立即数直接送段寄存器; (2)不允许目的操作数为立即数和CS段寄存器; (3)除源操作数为立即数的情况外,两个操作数 中必须有一个是寄存器,即不允许两个存储单元之 间直接传送数据; (4)不允许在两个段寄存器之间直接传送数据; (5)操作数类型要匹配,字对字,字节对字节传 送。
6
微机原理
3.1.6 基址变址寻址方式 操作数的有效地址等于一个基址寄存器的内容 和一个变址寄存器的内容之和 ,段寄存器则根 据所使用的基址寄存器而定(默认段), 对于BX而言,段寄存器为DS; 对于BP而言,段寄存器为SS。 基址寄存器:BX、BP 变址寄存器:SI 、DI
MOV AX,[BX] [DI] 也可写成 MOV AX,[BX+DI]
对于BX、SI、DI寄存器,默认的段为数据段DS;
对于BP寄存器,默认的段为堆栈段SS。
例 MOV AX,[BX]
MOV AX,[BP]
3.1.5 寄存器相对寻址
寄存器相对寻址方式:有效地址在SI、DI、BX或
BP之一,加上指令中8位或16位相对地址 ,段基
址依使用的寄存器不同而不同。
例 MOV AL,ADDR[SI]