intel风格寻址方式格式速查
文章目录
0. 段寄存器的使用规定***
访问存储器的方式 | 默认的段寄存器 | 可超越的段寄存器 | 偏移地址 |
---|---|---|---|
取指令, 跳转? | cs |
不可超越 | ip |
堆栈操作 | ss |
不可超越 | sp |
一般数据访问 | ds |
cs , ss , es |
ea |
串操作的源操作数 | ds |
cs , ss ,es |
si |
串操作的目的操作数 | es |
不可超越 | di |
bp 作为基址的寻址方式 |
ss |
cs , ds , es |
ea |
总结:
- 取指令只能
cs
push
,pop
只能ss
- 串操作目的串只能
es
- 只要有
bp
出现默认段寄存器为ss
- 只要有
bx
,si
,di
出现默认段寄存器为ds
段超越就是指不使用默认的段寄存器, 如
ss:[si]
就是超越到ss
段, 使用默认的段寄存器可以不用写出比如[si]
1. 直接寻址方式
[imm16]
mov ax, [2000h] ; ax << ds:[2000h]