| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 871 人关注过本帖
标题:王爽汇编书上的一个问题,有点疑惑
只看楼主 加入收藏
haolly
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-11-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
王爽汇编书上的一个问题,有点疑惑
程序代码:
assume cs:cde,ds:dta,ss:stk
dta segment
    dw 0123h,0456h,0789h,0987h,0abch,0fedh,0edfh,0defh
dta ends
stk segment
    dw 0,0,0,0,0,0,0,0
stk ends
cde segment
start:mov ax,stk
        mov ss,ax
        mov sp,16
       

        mov ax,dta
        mov ds,ax
       

        push ds:[0]
        push ds:[2]
        pop ds:[2]
        pop ds:[0]
       

        mov ax,4c00h
        int 21h
       

cde ends
end start

设程序加载后,code段的段地址是X,则data段的段地址是______
stack段的段地址是______
网上有答案说是X-2,X-1
不能理解,求解释
PS.这是我想的:data段地址应该放在ds之中的,
栈段地址应该放在ss之中,
代码段在cs之中。
我用debug加载后是这样的:
ds:15C8
SS: 15D8
CS: 15DA
如果cs为X的话,那么data段地址就是X-13,stack段地址就是X-3,不知道对不?



[ 本帖最后由 haolly 于 2011-12-1 20:43 编辑 ]
2011-12-01 15:46
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:20 
1. edit your code : end -> end start
2. compile -> link -> debug
3. think it over & over

技术问题,请不要以短消息方式提问
2011-12-01 16:19
haolly
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-11-30
收藏
得分:0 
回复 2楼 zaixuexi
什么意思?
2011-12-01 20:44
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
1. 修改你的代码end -> end start
2. 编译好了以后,再看debug
3. 根据debug的结果,自己先想一想
4. X-2,X-1这个答案是对的

这下说的够明白了吧

技术问题,请不要以短消息方式提问
2011-12-01 21:17
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
F:\>debug cc.exe
-t 4

AX=0B6F  BX=0000  CX=0042  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B5E  ES=0B5E  SS=0B6E  CS=0B70  IP=0003   NV UP EI PL NZ NA PO NC
0B70:0003 8ED0          MOV     SS,AX

AX=0B6F  BX=0000  CX=0042  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=0B5E  ES=0B5E  SS=0B6F  CS=0B70  IP=0008   NV UP EI PL NZ NA PO NC
0B70:0008 B86E0B        MOV     AX,0B6E

AX=0B6E  BX=0000  CX=0042  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=0B5E  ES=0B5E  SS=0B6F  CS=0B70  IP=000B   NV UP EI PL NZ NA PO NC
0B70:000B 8ED8          MOV     DS,AX

AX=0B6E  BX=0000  CX=0042  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=0B6E  ES=0B5E  SS=0B6F  CS=0B70  IP=000D   NV UP EI PL NZ NA PO NC
看到结果了,自己想一想,熟练了根本不用看结果,一看代码就知道了
你可以再想一想,为什么书上会在这一章出这道题,是不是书上之前提到的知识点已经完全掌握了?还是没掌握就过去了?还是看的不仔细?还是书写的不好?
什么叫总结经验,这就是总结经验(我怎么屁话肿么多?强烈鄙视下自己...)

技术问题,请不要以短消息方式提问
2011-12-01 21:33
haolly
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-11-30
收藏
得分:0 
回复 5楼 zaixuexi
谢谢。斑斑真给力。
这个我懂了。
2011-12-02 17:07
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
结贴!

技术问题,请不要以短消息方式提问
2011-12-03 09:29
powlin1991
Rank: 2
等 级:论坛游民
帖 子:51
专家分:22
注 册:2012-2-22
收藏
得分:0 
以下是引用zaixuexi在2011-12-1 21:33:01的发言:

F:\>debug cc.exe
-t 4

AX=0B6F  BX=0000  CX=0042  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B5E  ES=0B5E  SS=0B6E  CS=0B70  IP=0003   NV UP EI PL NZ NA PO NC
0B70:0003 8ED0          MOV     SS,AX

AX=0B6F  BX=0000  CX=0042  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=0B5E  ES=0B5E  SS=0B6F  CS=0B70  IP=0008   NV UP EI PL NZ NA PO NC
0B70:0008 B86E0B        MOV     AX,0B6E

AX=0B6E  BX=0000  CX=0042  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=0B5E  ES=0B5E  SS=0B6F  CS=0B70  IP=000B   NV UP EI PL NZ NA PO NC
0B70:000B 8ED8          MOV     DS,AX

AX=0B6E  BX=0000  CX=0042  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=0B6E  ES=0B5E  SS=0B6F  CS=0B70  IP=000D   NV UP EI PL NZ NA PO NC
看到结果了,自己想一想,熟练了根本不用看结果,一看代码就知道了
你可以再想一想,为什么书上会在这一章出这道题,是不是书上之前提到的知识点已经完全掌握了?还是没掌握就过去了?还是看的不仔细?还是书写的不好?
什么叫总结经验,这就是总结经验(我怎么屁话肿么多?强烈鄙视下自己...)

请问下版主,是如何把这个弄成文本形式的哈?
2012-03-22 09:01
快速回复:王爽汇编书上的一个问题,有点疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024675 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved