寄存器
内存中字的存储:
任何两个地址连续的内存单元,N号单元和N+1号单元,可以将她们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元
重点:
- CPU要读取一个内存单元的时候,必须要先给出这个内存单元的地址
- 在8086CPU中,内存地址由段地址和偏移地址组成
- 8086CPU中有一个DS寄存器,通常用来存放要访问的数据的段地址
- 执行指令时,8086CPU会自动取DS中的数据为内存单元的段地址
- 不可以使用mov指令来把一个数据直接送入段寄存器,改变段寄存器的正确做法先把要放进去的数据放到任何一个通用寄存器中,然后再用mov [偏移地址]的指令来索引到这个通用寄存器中的数据,最后就改变了段寄存器的内容
数据→通用寄存器→段寄存器
问题:写几条指令实现将al中数据写进内存单元10000H?
答:mov bx,1000H 首先把内存单元的段地址放在通用寄存器bx中
mov ds,bx 然后把bx中的内存单元的段地址放进段寄存器中
mov [0],al 最后将寄存器al中的数据放进偏移地址为0的内存单元中
寄存器的 mov 指令
- mov 寄存器,数据 mov ax,bE
- mov 寄存器,寄存器 mov ax,bx
- mov 寄存器,内存单元 mov ax,[0]
- mov 内存单元,寄存器 mov [0],ax
- mov 段寄存器,寄存器 mov ds,ax