|
主题 : : 概念【程序起始地址】 [待解决] |
回复[ 13次 ]
点击[ 887次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-02-13 10:47 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
【程序起始地址】这个概念,从语言上讲,他似乎解释为“一段程序(可执行文件)的开始地址。”
那么这个地址是否就是程序的入口地址了?
我觉得不是。因为程序入口可以时程序末尾处。
那么应该理解为一个可执行文件内存空间占用时的最小地址(即代码段之前包含有数据段,而这个数据段地址就是程序起始地址)
【程序起始地址】到底说的时程序代码入口地址
还是说的时程序的范围开始。小弟不懂,希望前人好心讲下~ | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-02-13 18:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:342
信誉值:0
注册日期:2007-12-06 10:21 |
我觉得不必这么看重这个概念吧。
我认为程序起始地址是包含了数据段在能的程序装入内存中最低地址处(不包括psp)。也许跟别人的甚至书上的有冲突,是因为这个概念好像就有点主观性吧。也许是我思维不严谨。我觉得只要知道根本知识点了,就行了,没必要被这个概念给难住。因为学技术不是考试,我们要想表达的更明白,我们满可以重新去定义一个新的更清晰的直观的概念吧。比如说,【程序的起始地址】或者【程序运行的起始地址】这样加以区分。
当然,楼主的这个想法我也曾经有过,可我总是记不住,所以,索性就不记了。自己映射了一个自己能直观接受的说法。
个人愚见,见笑! | | |
|
|
|
|
[第2楼]
[ 回复时间:2008-02-14 23:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-02-15 17:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:37
信誉值:0
注册日期:2008-01-29 18:06 |
最好把题目贴出来,让大家看看.【程序起始地址】这个概念还应该参照语境 | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-02-15 20:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
第7章汇编测试题目
共3道单选题目
生成EXE之后用Debug加载后,查看寄存器内容如下:
ds=0b2d es=0b2d ss=0b3d cs=0b3e ip=0000
程序的起始地址的段地址是_____。
1、 0b3e
2、 0b2d
3、 0b3d
4、 0 | | |
|
|
|
|
[第5楼]
[ 回复时间:2008-02-15 20:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
测试完毕!答对3道题目!本章节测试通过,可以进行下面章节学习。
答案为3 0B3D
实在 不明白! | | |
|
|
|
|
[第6楼]
[ 回复时间:2008-02-16 09:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2008-01-19 09:34 |
|
|
|
|
|
[第7楼]
[ 回复时间:2008-02-20 09:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-02-15 16:20 |
|
|
|
|
|
[第8楼]
[ 回复时间:2008-02-21 16:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-02-20 12:46 |
|
|
|
|
|
[第9楼]
[ 回复时间:2008-02-21 17:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-02-20 12:46 |
对了lz,你的检测题哪搞来滴,我在书上好像没看到啊~~~ | | |
|
|
|
|
[第10楼]
[ 回复时间:2008-02-22 09:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34 |
这个每章测试题是网站提供的,楼上的兄弟报名参加学习活动就可以做了。这个在学习计划里面有说明。 | | |
|
|
|
|
[第11楼]
[ 回复时间:2008-02-23 10:13 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2008-01-19 09:34 |
测试完毕!答对3道题目!本章节测试通过,可以进行下面章节学习。
答案为3 0B3D
实在 不明白!
------------------
回复:代码段中的段值减去10h,相当于物理地址减去100h,即256个字节。代码段前有256个字节的PSP
其实,这个东东真的不重要。 | | |
|
|
|
|
[第12楼]
[ 回复时间:2008-02-25 23:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2007-12-23 18:16 |
这个问题我也问过,回答也是模棱两可的。就算考虑上PSP也没解释清楚。不过不是太重要就算了。 | | |
|
|
|
|
[第13楼]
[ 回复时间:2008-03-01 09:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
【程序起始地址】这个概念,从语言上讲,他似乎解释为“一段程序(可执行文件)的开始地址。”
那么这个地址是否就是程序的入口地址了?
我觉得不是。因为程序入口可以时程序末尾处。
那么应该理解为一个可执行文件内存空间占用时的最小地址(即代码段之前包含有数据段,而这个数据段地址就是程序起始地址)
-----------
我是这样理解的。咱们编写了一个1.asm,编译连接后生产1.exe。程序加载1.exe(比如debug)后,1.exe所在内存中的位置就是程序起始地址。{程序起始地址}这个概念是相对计算机的整体内存说的,而不是程序的入口地址。
一个程序多包含数据段,栈段,代码段等,程序的入口一般不在程序的开始,而在数据段和栈段的下面。 | | |