====== 4.寄存器(内存访问)====== ===== -# 字在内存中的存储 ===== ==== - 字单元 ==== 一个字要用两个地址连续的内存单元存放。 字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。 低地址单元 高地址单元 字单元起始地址 ==== - 单元与字单元区别 ==== N地址单元 与 N地址单元 {{:assembly:3.1内存中字的存储.jpg?600|}} ===== -# DS和[address] ===== DS寄存器:通常用来存放要访问数据的段地址,cpu自动获取ds中的数据为内存单元的段地址。 8086CPU无法将数据直接送去段寄存器,无法使用 mov ds,1000H ^ 寄存器 | CPU ^ 内存 ^ | mov 内存单元地址,寄存器名 ||| | 内存 | CPU | 寄存器 | | mov 寄存器名,内存单元地址 ||| [...]表示一個内存单元,[0]偏移地址是0 mov [0],al:al到10000H的数据传送。 ===== -# 字的传送 ===== {{:assembly:问题3.3.jpg?600|}} {{:assembly:问题3.4_.jpg?600|}} ===== -# MOV ADD SUB指令 ===== ==== - MOV ==== ^ mov | 寄存器 ^ 数据 ^ | | 寄存器 | 寄存器 | | | 寄存器 | 内存单元 | | | 内存单元 | 寄存器 | | | 段寄存器 | 寄存器 | | | 寄存器 | 段寄存器 | | | 内存单元 | 段寄存器 | | | 段寄存器 | 内存单元 | ==== - ADD ==== ==== - SUB ==== ===== -# 数据段 ===== 数据段:一组长度为N(N≤64KB)、地址连续、起始地址为16的倍数的内存单元 123B0H - 123B9H 段地址123BH 长度为10个字节