汇编语言中数据位置的表达
-
立即数(idata )
对于直接包含在机器指令中的数据,称为立即数( idata ),数据包含在指令中
-
寄存器
指令要处理的数据在寄存器中,在汇编指令中给出相应的寄存器名。
-
内存:段地址(SA)和偏移地址(EA)指令要处理的数据在内存中,由SA:EA确定内存单元。
指令要处理的数据有多长
- 字word操作
mov ax,1
mov bx,ds:[0]
mov ds,ax
mov ds:[0],ax
inc ax
add ax,1000
- 字节byte操作
mov al,1
mov al,bl
mov al,ds:[0]
mov ds:[0],al
inc al
add al,100
- 用word ptr或byte ptr指明
mov word ptr ds:[o],1
inc word ptr[bx]
inc word ptr ds:[0]
add word ptr [bx],2
mov byte ptr ds:[0],1
inc byte ptr [bx]
inc byte ptr ds:[0]
add byteptr [bx],2
在没有寄存器参与的内存单元访问指令中,用word ptrevbyte ptr显性地指明所麦访问的内存单元的长度是很必要的,否则,CPU无法得知所要访问的单元是字单元,还是字节单元。