3.1 DS寄存器、段地址、偏移地址和物理地址

汇编语言

DS 寄存器

  • CPU要读写一个内存单元的的时候,必须先给出这个内存单元的地址
  • 在8086pc中就,内存地址由段地址和偏移地址组成。
  • 8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址
  • 比如我们要读取10000H单元的内容,如下所示。
mov bx,1000
mov ds,bx
mov al,[0]

在这里插入图片描述
在这里插入图片描述

使用ds进行赋值

  • 首先我们设置ds的段地址为21f0,其次偏移地址60开始的值依次设置为12,34,56,87,9a,bc
  • 当我们给ax赋值时,输入一个地址,大段址即ah放后一位的数,小段址即al放低一位的数
mount c d:masm
c:
debug
r
r ds
21f0
e 21f0:60
12 34 56 78 9a bc
t
mov ax,[60]		//这里的段地址是ds寄存器的21f0,偏移地址是方括号里面的60,即这里的地址
						//为 21f0:0060
//输出结果为 ax = 3412

使用ds进行单个赋值

mov bl,[61]
t

//输出结果为 bx = 0034

ds也能使用其他指令,如add

add al,[60]
add cx,[62]
t
t

//结果为 ax = 3424 , cx = 8756

物理地址

  • 物理地址 = 段地址x16 +偏移地址
  • x16在16进制当中相当于左移一位的意思
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值