. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->第一个程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  怎样看一个文件在磁盘的逻辑地址?  [待解决] 回复[ 2次 ]   点击[ 458次 ]  
kenan
[帖 主]   [ 发表时间:2009-03-29 13:10 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-02-21 22:31
我在DEBUG 下F.exe文件,
-d
0B58:0000  0E 1F BA 0E 00 B4 09 CD-21 B8 01 4C CD 21 54 68   ........!..L.!Th
0B58:0010  69 73 20 70 72 6F 67 72-61 6D 20 63 61 6E 6E 6F   is program canno
0B58:0020  74 20 62 65 20 72 75 6E-20 69 6E 20 44 4F 53 20   t be run in DOS
0B58:0030  6D 6F 64 65 2E 0D 0D 0A-24 00 00 00 00 00 00 00   mode....$.......
0B58:0040  E5 75 4A A8 A1 14 24 FB-A1 14 24 FB A1 14 24 FB   .uJ...$...$...$.
0B58:0050  2F 1C 7B FB A3 14 24 FB-A1 14 25 FB 3A 14 24 FB   /.{...$...%.:.$.
0B58:0060  22 1C 79 FB B0 14 24 FB-F5 37 14 FB A8 14 24 FB   ".y...$..7....$.
0B58:0070  66 12 22 FB A0 14 24 FB-52 69 63 68 A1 14 24 FB   f."...$.Rich..$.


我又装载别的文件AUTOEXEC.BAT,用D命令显示:
C:\>debug c:\AUTOEXEC.BAT
-d
0B58:0000  4D 00 00 33 00 1E B4 96-B4 40 CD 21 1F BA 8C 8A   M..3.....@.!....
0B58:0010  43 4F 4D 53 50 45 43 3D-43 3A 5C 57 34 00 F2 0A   COMSPEC=C:\W4...
0B58:0020  57 53 5C 53 59 53 54 45-4D 33 32 5C 43 4F 4D 4D   WS\SYSTEM32\COMM
0B58:0030  41 4E 44 2E 43 4F 4D 00-41 4C 4C 55 53 45 52 53   AND.COM.ALLUSERS
0B58:0040  50 52 4F 46 49 4C 45 3D-43 3A 5C 44 4F 43 55 4D   PROFILE=C:\DOCUM
0B58:0050  45 7E 31 5C 41 4C 4C 55-53 45 7E 31 00 41 50 50   E~1\ALLUSE~1.APP
0B58:0060  44 41 54 41 3D 43 3A 5C-44 4F 43 55 4D 45 7E 31   DATA=C:\DOCUME~1
0B58:0070  5C 53 51 57 42 5C 41 50-50 4C 49 43 7E 31 00 43   \SQWB\APPLIC~1.C

为什么地址相同呢??
acool
[第1楼]   [ 回复时间:2009-03-30 16:19 ]   [引用]   [回复]   [ top ] 
荣誉值:49
信誉值:0
注册日期:2008-10-15 16:15
楼主说的是两个概念,如果说“看一个文件在磁盘的逻辑地址”,这个操作系统的文件系统的范围,去网上搜搜资料有很多。(操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。)

而debug加载一个程序和dos中运行程序,是从硬盘中把文件读入“内存”后的地址,和文件在磁盘中的存储位置没有关系。
younggay
[第2楼]   [ 回复时间:2009-03-31 09:40 ]   [引用]   [回复]   [ top ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
debug加载程序后形成的地址相同,我想并不能说明什么问题,因为debug是一个软件,他运行后将文件的内容加载到内存,之前给这个文件内容分配使用的内存空间没有什么特别的。所以说,在debug下加载文件后的地址相同不相同没有什么特别的意义吧。

还有就是楼主说的“文件在磁盘中的逻辑地址”这个在debug下看显然是不合适的,内存跟磁盘的存储方式是不一样的。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved