. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->第一个程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验三PSP  [待解决] 回复[ 12次 ]   点击[ 1000次 ]  
wanmeishenhua
[帖 主]   [ 发表时间:2011-09-26 16:36 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2011-09-26 10:57
为啥我查看我的电脑上 第一个字节是  B8 00 啊  书上说的CD 20是固定的么?
chinatree
[第1楼]   [ 回复时间:2011-09-26 20:36 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
假如你的程序为1.exe,在c盘的根目录下,你可以先进入cmd然后输入debug c:\1.exe回车。然后输入Dds:00 ff就可以了,因为在程序刚加载时ds:0是指向Psp的。
252152130
[第2楼]   [ 回复时间:2012-02-12 23:07 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2011-10-25 00:56
仔细看书书上都有的 理解 其 意思  书上P92  说的很窒息
因为PSP占256(100H)字节,所以程序的物理地址是:
SA X 16 +0+ 256 = SA X 16 + 16 X 16 +0 
可用段地址和偏移地址表示为:SA+10H:0
假如你的程序为1.exe,在c盘的根目录下,你可以先进入cmd然后输入debug c:\1.exe回车
这时候 CS:IP 已经 指向程序了 CS-10 就是PSP 的地址 例如 我debug c:\1.exe 后 内存中指令的地址是
0C4C:0000   那么 PSP 的地址是 就是0C3C:0000 我  -d 0C3C:0000  得到的结果 和 书上的一样 是CD 20
walykyy
[第3楼]   [ 回复时间:2012-06-13 21:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-21 22:36
PSP占256(10H)字节,不是100H,CS:IP 已经 指向程序了 CS-10H 就是PSP ,你会发现CS-10H的值正好是DS的值,然后用DS;0可以查出CD 20了
walykyy
[第4楼]   [ 回复时间:2012-06-13 22:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-21 22:36
PSP占256(10H)字节,不是100H,是 为PSP占256(100H)字节,所以程序的物理地址,我没注意,看错了
chunchaowei1983
[第5楼]   [ 回复时间:2012-07-10 22:14 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-06-24 17:08
我看了第二遍~ 懂了 还有4楼的256(10H)是错的!
xyq13560
[第6楼]   [ 回复时间:2012-08-05 14:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-07-14 11:16
100H是相对于256这个10进制转化成2进制来说的·而为什么书上是加10H呢?因为它是在段地址上面进行加的·貌似很多人弄混
xyq13560
[第7楼]   [ 回复时间:2012-08-05 14:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-07-14 11:16
是16进制···说错·
qiyao
[第8楼]   [ 回复时间:2012-08-25 20:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-08-25 20:51
我做了啊,是CD 20的
confi
[第9楼]   [ 回复时间:2014-04-23 17:29 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-04-23 17:28
书上的sa是什么意思啊,是不是就是ds的值,但为什么又有另一种表示呢
confi
[第10楼]   [ 回复时间:2014-04-23 17:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-04-23 17:28
仔细看书书上都有的 理解 其 意思  书上P92  说的很窒息
因为PSP占256(100H)字节,所以程序的物理地址是:
SA X 16 +0+ 256 = SA X 16 + 16 X 16 +0 
可用段地址和偏移地址表示为:SA+10H:0
假如你的程序为1.exe,在c盘的根目录下,你可以先进入cmd然后输入debug c:\1.exe回车
这时候 CS:IP 已经 指向程序了 CS-10 就是PSP 的地址 例如 我debug c:\1.exe 后 内存中指令的地址是
0C4C:0000   那么 PSP 的地址是 就是0C3C:0000 我  -d 0C3C:0000  得到的结果 和 书上的一样 是CD 20
------------------
回复:你好。请问一下SA是不是就是对应的DS的值啊,但是为什么又要用另外的名称表示呢?
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved