lelering 发表于 2011-11-7 00:26:51

汇编语言 第四章偏移地址的凝问?

本帖最后由 lelering 于 2011-11-7 00:27 编辑

http://www4.chuantu.info/tupianshangchuan/41/1320595650x-1376440136.jpg

不是说 段地址X16+偏移地址=物理地址吗?教程里小甲鱼为什么说10HX16,10H不是偏移地址吗?
应该是段地址和16相乘的,重复看了几次,还是不明白,可能大家都看得懂,我的理解能力很一般,麻烦大家了!谢谢!


大妹纸 发表于 2011-11-7 02:00:35

那个10H是段地址,之前查看寄存器内容时不是说DS=13DB,CS=13EB,数据段和代码段的段地址不就是相差10H么,所以乘16啊,那个psp是指段地址13DB--13EB里的东西吧

lelering 发表于 2011-11-7 05:36:02

大妹纸 发表于 2011-11-7 02:00 static/image/common/back.gif
那个10H是段地址,之前查看寄存器内容时不是说DS=13DB,CS=13EB,数据段和代码段的段地址不就是相差10H么,所 ...

那这里的SA指的是什么?指教了

100531319 发表于 2011-11-7 11:10:00

lelering 发表于 2011-11-7 05:36 static/image/common/back.gif
那这里的SA指的是什么?指教了

sa是段地址, ea是偏移地址的英文字母的缩写, 甲鱼老师的视频里有说的, 建议楼主看视频的时候认真点

zyp2011_mit 发表于 2011-11-7 11:58:29

段地址X16+偏移地址=物理地址 记住这个就好了,有时候甲鱼讲课会出现纰漏~

lelering 发表于 2011-11-7 12:45:56

100531319 发表于 2011-11-7 11:10 static/image/common/back.gif
sa是段地址, ea是偏移地址的英文字母的缩写, 甲鱼老师的视频里有说的, 建议楼主看视频的时候认真点

二楼不是说10H是段地址吗?你说SA也是段地址,那不是有两个段地址啊,额……还是不明白,

z310394543 发表于 2011-11-7 13:04:00

z310394543 发表于 2011-11-7 13:11:42

kane080824 发表于 2011-11-7 13:59:59

sa+10h:xxxx 这里应该是这样的:计算机把程序加载入内存时,本来安排的段地址就是sa,比如,sa=1000h处,但是在运行程序时为了和计算机进行必要的沟通,需要加载dos程序,你就理解成有一个属于dos的psp区必须放在我们的程序上,保证我们程序正常运行就行,那么既然要放这段程序,就一定要占用一定空间,所以在我们的程序上面给它划了100h的空间存储它,因此我们的程序实际上的段地址就是sa+10h,ip指针指向sa+10h:0000,即我们程序的第一条指令(1000+10)*16+0,而psp这段dos程序的段地址才是sa. 但是因为psp和我们的程序好的要命打死不离不弃,好的象一个整体,所以一般地总是说段地址sa.举个例子:就好比你外婆家住在一个小区叫丹桂园,平时你说你去了丹桂园,你家人就都知道你去了外婆家了,其实呢,你外婆家还住在丹桂园的xx楼xx单元对不,但为什么你家人不再具体问你去了丹桂园的哪个楼哪个单元呢,就是因为你们都约定俗成了,去丹桂园就意味着去了你外婆家里了,而你外婆家住几号楼几号单元,大家心里一清二楚,都不用说了.但如果一个陌生人要去访问你外婆,你就要把丹桂园的地址(sa)+楼地址(10h)+单元地址(段内偏移地址)都说清楚.

lelering 发表于 2011-11-7 20:45:07

可能真的是我的理解能力太差了!先谢谢大家了!我再去好好看一下视频!:D

cyht33 发表于 2011-11-9 11:19:32

SA是段地址的缩写。。表示段地址,不是说SA一定要是那个地址。
页: [1]
查看完整版本: 汇编语言 第四章偏移地址的凝问?