计算机是进行数据处理、运算的机器,那么有两个基本问题就包含在其中:
1.处理的数据在什么地方
2.要处理的数据有多长
机器指令处理的数据在什么地方
绝大部分机器指令都是进行数据处理的指令,处理大致可分为三类:读取、写入和运算 。在机器指令这一层来讲,并不关心数据的值是多少,**而关心指令执行前一刻,他将要处理的数据所在的位置。**指令执行前,索阿哟处理的数据可以在3个地方:CPU内部、内存、端口。
汇编语言中数据位置的表达
汇编语言中用3个概念来表达数据的位置:
1.立即数
2.寄存器
3.段地址和偏移地址
指令要处理的数据有多长
8086CPU指令,可以处理来年各种功能尺寸的数据,byte和word,所以在机器指令中要指明,指令进行的是字操作还是字节操作。汇编语言用以下方法来处理
通过寄存器名指明要处理的数据的尺寸
mov ax,1 ; word
mov al, 1 ;byte
用操作符 X ptr 指明内存单元的长度,X可为word或byte
mov word ptr ds:[0],1 ;word
mov byte ptr ds:[0],1 ;byte
其他方法
有些指令默认了访问的是字单元还是字节单元。比如 push [1000H] 指令访问的是字单元,因为push指令只进行字操作。