操作数

操作数是参加某种功能操作的数据,有三种方式提供:

1.立即数

2.通过寄存器

3.通过内纯

1.立即数

汇编里的立即数相当于C语言中的常量,可以写成二进制(B),八进制(O),十进制(D),十六进制(H)。

例:

mov ax, 8d    ;8d即为立即数

立即数只能为源操作数,不能放在目的操作数位置。

2.寄存器操作数

指操作数存放在寄存器中,用来存放运算的数据或存放运算结果。寄存器包括段寄存器、控制寄存器和通用寄存器。

1.段寄存器(DS、SS、ES)

 是用来存放段地址的,要将段地址送入,必须以通用寄存器为桥梁。

2.控制寄存器(IP、EIP、FLAGS)

控制寄存器同样不能直接送入操作数。

3.通用寄存器

通用寄存器可以直接送入立即数。

3.内存操作数

内存操作数指操作数存放在内存中,方式是往内存中写入或取得操作数。CPU与内存打交道是通过内存地址完成的。

对于单操作数指令:操作数只能是寄存器操作数和内存操作数。

对于双操作数:源操作数可以是寄存器操作数、内存操作数和立即数。目的操作数可以是寄存器操作数和内存操作数。源操作数、目的操作数不能同时为内存操作数。

Last moify: 2022-12-04 15:11:33
Build time:2025-07-18 09:41:42
Powered By asphinx