全站数据
8 4 2 0 5 8 1

什么是内存操作数

新格局新金融 | 简单学习,快乐成才!         
问题更新日期:2024-10-30 08:16:13

问题描述

什么是内存操作数,在线求解答
精选答案
最佳答案

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

1、立即数;

2、通过寄存器;

3、通过内存。

1、立即数

立即数是一个常量,可以写成十进制(D),十六进制(H),八进制(O),二进制(B)

例如:ADD AX,0FFH

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

2、寄存器操作数

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

⑴、段寄存器(DS、SS、ES)

是存放段地址的,要将段地址送入,必须以通用寄存器为中间桥梁,即通过通用寄存器将数据传送到DS、SS、ES段寄存器中。

例如:将段地址2000H送数据段寄存器中。

MOV AX,20000H

MOV DS,AX

通过通用寄存器传送,不能直接将立即数传送到段寄存器中。而代码段CS不准用户干预,是由系统分配的。

⑵、控制寄存器

控制寄存器包括:指令指针寄存器IP,EIP和标志寄存器FLAGS,控制寄存器也不能直接送操作数

⑶、通用寄存器

通用寄存器可以装操作数。

3、内存操作数

内存操作数是只操作数存放在内存中,其操作是往内存中写数或从内存中取操作数,CPU与内存打交道是通过内存地址完成的。

例如:MOV AX,2000H

MOV AX,[2000H]

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

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