23、80x86系列处理器指令集详解

80x86系列处理器指令集详解

1. 8086指令集概述

8086的机器指令长度为1 - 6字节。多数指令的第一个字节包含操作码(opcode),第二个字节包含操作数的寻址模式,其余字节包含地址信息或立即数。典型的双操作数指令格式如下:
| 字节 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | — | — | — | — | — | — | — | — |
| 字节1 | OPCODE | D | W | | | | | |
| 字节2 | MOD | REG | R/M | | | | | |
| 字节3 | | | | | | | | |
| 字节4 | | | | | | | | |
| 字节5 | | | | | | | | |
| 字节6 | | | | | | | | |

其中,第一个字节的6位操作码标识操作,W位指定操作数大小(W = 0表示8位数据,W = 1表示16位数据)。对于寄存器到寄存器、寄存器到内存、内存到寄存器的操作,第二个字节的REG字段包含寄存器编号,D位指定REG字段中的寄存器是源操作数还是目标操作数(D = 0表示源,D = 1表示目标);对于其他类型的操作,REG字段包含操作码的3位扩展。

MOD和R/M字段指定第二个操作数,不同的MOD值代表不同的寻址模式:
- MOD = 11:寄存器模式。
- MOD = 00:无位移的内存模式,除非R/M = 110,此时跟随一个16位位移。
- MOD = 01:带8位位移(DB)的内存模式。
- MOD = 10:带16位位移(D16)的内存模式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值