80x86 汇编语言指令操作数与输入输出宏详解
1. 指令操作数类型
指令操作数主要有三种基本类型:常量、CPU 寄存器和内存位置。许多指令包含两个操作数,通常第一个操作数表示操作的目标,也可能同时指定一个源;第二个操作数仅作为操作的源,而非目标。例如:
mov al, '/'
此指令将 ASCII 码为 2F 的斜杠字符加载到 AL 寄存器,第二个操作数 / 是常量源。再如:
add eax, number1
执行该指令时,EAX 会得到 number1 所指定的双字和 EAX 原有内容的和。第一个操作数 EAX 既是一个双字的源,也是和的目标;第二个操作数 number1 是另一个双字的源。
1.1 寻址模式
Intel 80x86 微处理器使用的寻址模式如下表所示:
| 模式 | 数据位置 |
| — | — |
| 立即数 | 指令本身 |
| 寄存器 | 寄存器中 |
| 内存 | 内存中的某个地址 |
内存寻址有多种方式,常见的两种如下表:
| 内存模式 | 数据位置 |
| — | — |
| 直接寻址 | 指令中包含地址(偏移量)的内存位置 |
| 寄存器间接寻址 | 地址存于寄存器的内存位置 |
超级会员免费看
订阅专栏 解锁全文
1608

被折叠的 条评论
为什么被折叠?



