====== 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个字节