| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3180 人关注过本帖
标题:在16位的DOS汇编中,数据段可以执行吗?
取消只看楼主 加入收藏
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
结帖率:100%
收藏
 问题点数:0 回复次数:4 
在16位的DOS汇编中,数据段可以执行吗?
突然想起一个问题,希望有所了解的朋友都来说说自己的看法.
在16位的DOS汇编中,可以实现程序的任意跳转,当CS IP指向了某个数据段,程序还能继续执行下去吗?
搜索更多相关主题的帖子: DOS 汇编 数据 
2008-10-07 09:27
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
[bo][un]summerxi[/un] 在 2008-10-7 11:20 的发言:[/bo]

可以

如果可以,那程序最后还能正确返回么?
2008-10-07 12:20
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
回复 6# 维天 的帖子
我也有这想法,比较赞同维天~~
虽然说在DOS下,我们想怎么安排都可以,但毕竟是数据段,把它当作代码段来执行,很可能它会"乱来",结果就是程序没能正确返回.
2008-10-07 23:11
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
[bo][un]rediums[/un] 在 2008-10-7 23:44 的发言:[/bo]

可以先写一段代码,编译成二进制格式,然后存入数据段,这样在CS:IP指向那里的时候就不会有错了

呵呵~~从编程者的角度来看,它应该是代码段了,只不过是放到了另一个地方而已.
2008-10-07 23:50
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
应该可以了.
8BC3          mov ax,bx
B8004C        mov ax,4C00
CD21          int 21
可是这个数据段,其实是可以正常执行下去的代码段.最后,程序竟然在数据段里安全地退出了.假如jmp far ptr b 后面还有其它指令呢?结果可能是:数据段变成了子程序.
2008-10-08 07:19
快速回复:在16位的DOS汇编中,数据段可以执行吗?
数据加载中...
 
   



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

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