首页
社区
课程
招聘
[旧帖] [求助]一道汇编题,大家看下! 0.00雪花
发表于: 2009-1-20 14:01 3161

[旧帖] [求助]一道汇编题,大家看下! 0.00雪花

2009-1-20 14:01
3161
问题是在代码下方:
assume cs:code,ds:data;ss:stack

data segment
        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends

stack segment
        dw 0,0,0,0,0,0,0,0
stack ends

code segment

start:        mov ax,stack
        mov ss,ax
        mov sp,16

        mov ax,data
        mov ds,ax
       
        push ds:[0]
        push ds:[2]
        pop ds:[2]
        pop ds:[0]

        mov ax,4c00h
        int 21h

code ends

end start

我在网上找的答案,答案错的地方很多。在此只是求各位给个指教,是我错还是答案错。

问题1:CPU执行程序,程序返回前,data段中的数据为多少:
问题2:(这个问题根据不同机子环境相应不同就不回答了)
问题3:设程序加载后,code段的段地址为:X,则data段的地址为____,stack段的段地址为____

网上找的答案是:
1.保持不变

2.<考虑不同机子环境不同,答案无法统一>

3.X-2,X-1

我的回答是:
1:与以前一样
2:~~
3:X-1fh,X-0fh

请大家算下哪个对。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 71
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
应该是你错了

code段地址是x,那第一句指令的地址应该是
x:0
stack 是dw 8个word 就是16个字节
x:0-10h
data  也是dw 8个word 就是16个字节
x:0-20h

再转换下 应该是
x-1:0
x-2:0

如果是你的答案
X-1fh:0   x:0-1f0  
X-0fh:0   x:0-f0
那跑到哪去了。。

我是这么感觉的  不知道对不对。。牛人解答。。感觉应该是对地
2009-1-20 16:02
0
雪    币: 8209
活跃值: (4458)
能力值: ( LV15,RANK:2459 )
在线值:
发帖
回帖
粉丝
3
这个似乎是由编译器决定的
2009-1-20 16:26
0
雪    币: 100
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
嗯,是我错了。谢谢。
2009-1-20 16:27
0
雪    币: 100
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
答案是正确的。。。。。谢谢2楼的朋友,我重新看了看,问的是段地址,如果按我的答案,的确是跑的太远了。
2009-1-20 16:28
0
雪    币: 314
活跃值: (271)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
终于可以说话了啊,,等了一天了
2009-1-20 17:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
呵呵 楼主跟我一样啊 也是学王爽的汇编语言啊
  我还学在你后面一点点
2009-1-20 22:25
0
雪    币: 36
活跃值: (533)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
我遇到这题的时候和楼主一样的疑问,后来在网上翻了半天,终于知道过程了···
2009-1-20 22:42
0
游客
登录 | 注册 方可回帖
返回
//