搜索
当前位置: 三分彩网站 > 段地址 >

关于汇编语言存储器的分段 一小段的首地址是啥?段起始地址?怎

gecimao 发表于 2019-07-02 22:50 | 查看: | 回复:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部王爽的书吗? 写的不是很清楚嘛,从0到F为1小段。0就是段首地址,也是段起始地址。0到F 就是16个数啊。追问16个字节不是16×8个二进制数么 ?怎么五位一组呢?抱歉我实在混乱啊追答你似乎混淆了几个概念:

  1. 一个字节是8个二进制数没错。但是内存在编址的时候不是每个二进制数都有地址的。8个二进制数是一个字节,他有个地址。比如你这里面,第二小段00010H,这指的不是哪一个二进制数,它指的就是8个二进制数,00010H指的就是一个字节,也就是说8个二进制数合在一起用00010H来标识。

  2.在汇编语言中,因为会用到10进制,二进制,16进制,所以规定,用D表示10进制,B表示二进制,H表示16进制。这里00010H 是一个16进制的数,写成二进制就是0000 0000 0000 0001 0000B,它表示的是内存中的一个存储单元。与这个内存单元中存放的是什么没有关系。就像人的名字一样,cpu用这个数来定位到内存中的一块区域。比如mov al,[00010H] cpu在执行这句指令时,就会去内存中找名称为00010H的内存单元。然后把这个内存单元存储的数复制到al中。

  8086CPU的内存寻址方式是段地址*16+偏移地址的方式的方式 比如说00000H这个地址,他的段地址是0000H偏移地址是0000H。段地址0000h*16(10H)也就是00000H 加上偏移地址也是0000H就是00000H。一个段的空间最大是64KB 也就是偏移地址从0000H-FFFFH。有一点要注意:段地址*16必然是16的整数倍所以一个段的起始地址也应该是16的整数倍。但是好像并没有一个小段 的说法,段的提出只是我们在编程中的一种安排,比如我要在一个段中存放10个字节的数据,我们可以把123B0H-123B9H当作一个数据段,段地址为123BH,长度为10字节。

本文链接:http://dogayoga.net/duandizhi/618.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部