汇编学习记录之三

版权声明:转载请注明出处 https://blog.csdn.net/wjintao/article/details/84108399

资料来源:汇编语言第二版-王爽

1.内存中字的存储

在CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。

内存单元:内存单元是字节单元,一个单元存放一个字节。

字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。

2.ds和[address]

ds是数据段寄存器

在8086CPU中,内存地址由段地址和偏移地址组成(cs/ds/es/ss:[address])

mov ax, ds:[0]

mov al, ds:[0]

mov ds:[0], ax

mov ds:[0], es:[1]

3.修改ds的内容

mov ax, 1000H

mov ds, ax

4.字的传送

因为8086CPU是16位结构,有16根数据线,所以可以一次性传送16位的数据,也就是说可以一次性传送一个字。

如:

mov bx, 1000H

mov ds, bx

mov ax, ds:[0]    //将1000:0处的字型数据送入通用寄存器ax中

mov ds:[0], ax    //将通用寄存器ax中的16位字型数据送到1000:0处

5.寻址模式的本质含义

寻址模式:“段地址 * 16 + 偏移地址 = 物理地址” 的本质含义是:CPU在访问内存时,用一个基础地址(段地址 * 16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。

更一般地说,8086CPU的这种寻址功能是“基础地址 + 偏移地址 = 物理地址”寻址模式的一种具体实现方案,8086CPU中,段地址 * 16 可以看作是基础地址。

有错误请指正,谢谢。

猜你喜欢

转载自blog.csdn.net/wjintao/article/details/84108399