一、知识储备
1.8086CPU是16位结构,有16根数据线,20根地址线。16根数据线可以一次性传送16位数据,也就是两个字节(也就是一个字)的数据。
什么是字?
在这个特定计算机中,字是其用来一次性处理事务的一个固定长度的位(bit)组。一个字的位数(即字长)是计算机系统结构中的一个重要特性。在8086cpu中,内存数据分为一个字节的字节型数据和一个字的字型数据。
2.CPU要读写一个内存单元时,必须给出这个内存单元的地址,内存地址由段地址和偏移地址组成。 DS 地址寄存器存放的就是要访问数据的段地址, [address] 中address是偏移地址并且是一个具体的数。
这里注意,DS并不能直接给定一个数值。比如 mov ds,1000H 语句在8086CPU中是错的。我们只能通过寄存器去改变ds的值,比如 mov ds,ax 。
3.写几条指令,将 al 中的数据送入内存单元 10000H 中。
mov ax,1000H ;为了让ds为1000H,先让ax为1000H
mov ds,ax ;ds只接受寄存器向它传送的数据
mov al,[0] ;[0]是偏移地址,1000:0所对应的物理内存单元是10000H
4.关于mov指令 :mov ax,1000H 的含义
简单来说,给ax这个通用寄存器的值是个内存单元地址,并不是存在这个单元里面的数据。