字单元: 有两个地址连续的内存单元组成,存放一个字型数据(16位)
16位的字在内存中需要2个连续(字节)存储,是高地址存高地址 低地址存低地址
练习数据:在00000H--0001F的数据
E 0:0 70 80 F0 30 EF 60 30 E2 00 80 12 66 20 22 60 00
E 0:10 62 26 E6 D6 CC 2E 3C 3B AB BA 00 00 26 06 66
在 cs:ip 073f:0100中输入以下代码
mov ax,1
mov ds,ax
mov ax,[0000]
mov bx,[0001]
mov ax,bx
mov ax,[0000]
mov bx,[0002]
add ax,bx
add ax,[0004]
mov ax,0
mov al,[0002]
mov bx,0
mov bx,[000c]
add al,bl
看执行结果如下:
用mov指令操作数据
mov 寄存器,数据 mov ax,8
mov 寄存器,寄存器 mov ax,bx
mov 寄存器,内存单元 mov ax,[0]
mov 内存单元,寄存器 mov [0],ax
mov 段寄存器,寄存器 mov ds,ax
ds和[Address]小总结
字在内存中存储时,要用两个地址连续的内存单元来存放,字低地址字节存放在低地址单元中,高位字节存放再高地址单元中。
用mov指令访问内存单元,可以在mov指令中只给出单元的偏移地址,此时,段地址默认在ds寄存器中。
[address]表示一个偏移地址位address的内存单元。
在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相对应。