1. DS寄存器
通常用来访问存放数据的段地址。
【示例】读取10000H单元内容
Mov bx,1000H
Mov ds,bx
Mov al,[0]
将1000:0中的数据读到al中。
Mov 指令的两种传送:
(1). 将数据直接送入另一个寄存器
(2). 将一个寄存器的数据送入另一个寄存器内。
10000H用段地址和偏移地址表示位1000:0。
我们先将段地址送入寄存器DS,然后使用Mov al,[0]
完成传送,[0]说明这个内存单元的偏移地址为0。
首先要知道,8086CPU不支持直接将数据送入段寄存器,所以只能中转。
2.字的传送
说明:
前两行指令的目的是将DS设置为1000H
1000:0处存放的字型数据送入ax
1000:1处存放数据为高8位。
1000:0处存放数据为低8位。
所以1000:0处存放的数据为02B6,指令执行时,字型数据的高8位送入寄存器ah,字型数据的低8位送入寄存器al。则寄存器ax中存放的数据为02B6。
3. Mov、add和sub指令
Mov 指令可以有以下几种形式:
Mov 寄存器,数据 mov ax,8
Mov 寄存器,寄存器 mov ax,bx
Mov 寄存器,内存单元 mov ax,[0]
Mov 内存单元,寄存器 mov [0],ax
Mov 内存单元,段寄存器 mov [0],cs
Mov 段寄存器,寄存器 mov ds,ax
Mov 寄存器,段寄存器 mov ax,ds
Add指令和sub指令同mov指令形式,但是注意一点,没有add ds,ax这种情况。
原文地址:http://blog.csdn.net/u012675743/article/details/45314831