微机接口寻址方式分类
2017-04-15 11:53
218 查看
1.立即数寻址方式
指令的操作数字段直接存储着数据,此类指令一般用于对reg 和存储内存赋值的操作指令
2.寄存器寻址方式
MOV AX,BX(寄存器名标识其内容)
存储器寻址方式
1.直接寻址方式
直接寻址方式的有效地址在指令中直接给出
默认的段地址在DS段寄存器,可使用段超越前缀改变
用中括号包含有效地址,表达存储单元的内容
有效地址=BX/BP/SI/DI+8/16位位移量
段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变
有效地址=BX/BP+SI/DI
段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变
有效地址是基址寄存器(BX/BP)、变址寄存器(SI/DI)与一个8位或16位位移量之和:
有效地址=BX/BP+SI/DI+8/16位位移量
段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变
指令的操作数字段直接存储着数据,此类指令一般用于对reg 和存储内存赋值的操作指令
2.寄存器寻址方式
MOV AX,BX(寄存器名标识其内容)
存储器寻址方式
1.直接寻址方式
直接寻址方式的有效地址在指令中直接给出
默认的段地址在DS段寄存器,可使用段超越前缀改变
用中括号包含有效地址,表达存储单元的内容
MOV AX, [2000H] ;AX←DS:[2000H] MOV AX, ES: [2000H] ;AX←ES:[2000H]
2. 寄存器间接寻址方式 有效地址存放在基址寄存器BX、基址指针寄存器BP、变址寄存器SI、DI中 使用BX、SI、DI时,默认的段地址在DS段寄存器,可使用段超越前缀改变 如果BP,默认的段地址在SS段寄存器
MOV AX, [BX] ;AX←DS:[BX] MOV AX, [BP] ;AX←ES:[BP]
3. 寄存器相对寻址方式 有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP或SI、DI
有效地址=BX/BP/SI/DI+8/16位位移量
段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变
MOV AX, [SI+06H] ;AX←DS:[SI+06H] MOV AX, 06H[SI] ;AX←DS:[SI+06H]
4. 基址变址寻址方式 有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成:
有效地址=BX/BP+SI/DI
段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变
MOV AX, [BX+SI] ;AX←DS:[BX+SI] MOV AX, [BX+SI] ;AX←DS:[BX+SI]
5. 相对基址变址寻址方式
有效地址是基址寄存器(BX/BP)、变址寄存器(SI/DI)与一个8位或16位位移量之和:
有效地址=BX/BP+SI/DI+8/16位位移量
段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变
MOV AX, [BX+DI+6] ;AX←DS:[BX+DI+6] MOV AX, 6[BX+DI] MOV AX, 6[BX][DI]
相关文章推荐
- 寻址方式分类
- Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
- 微机寻址方式总结
- Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
- 第二章arm分类及寻址方式
- caffe的python接口以opencv的方式读取视频,图片做分类时出错的解决
- Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
- ARM (二) arm指令分类及其寻址方式
- 寻址方式总结
- 寻址方式
- 分享Spring中接口注入的三种方式
- 改变Solaris网络接口的配置方式:手动 or DHCP?
- 思科路由器的存储器分类,四种执行模式及不同接入方式的密码设定
- 汇编 寻址方式总结
- 一种缺陷分类方式
- 汇编 接口简单异步查询方式与cpu通信
- 实现接口成员的两种方式有何区别有什么用途
- IPv6的地址表达方式、寻址模型和地址空间
- 语音应用程序接口(API)的几种分类