搜索
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 在16位的DOS汇编中,数据段可以执行吗?
标题:
在16位的DOS汇编中,数据段可以执行吗?
取消只看楼主
ONEPROBLEM
来 自:广西 南宁
等 级:
贵宾
威 望:
21
帖 子:1569
专家分:349
注 册:2008-7-11
结帖率:
100%
楼主
问题点数:0 回复次数:4
在16位的DOS汇编中,数据段可以执行吗?
突然想起一个问题,希望有所了解的朋友都来说说自己的看法.
在16位的DOS汇编中,可以实现程序的任意跳转,当CS IP指向了某个数据段,程序还能继续执行下去吗?
搜索更多相关主题的帖子:
DOS
汇编
数据
2008-10-07 09:27
ONEPROBLEM
来 自:广西 南宁
等 级:
贵宾
威 望:
21
帖 子:1569
专家分:349
注 册:2008-7-11
第
2
楼
得分:0
[bo][un]summerxi[/un] 在 2008-10-7 11:20 的发言:[/bo]
可以
如果可以,那程序最后还能正确返回么?
2008-10-07 12:20
ONEPROBLEM
来 自:广西 南宁
等 级:
贵宾
威 望:
21
帖 子:1569
专家分:349
注 册:2008-7-11
第
3
楼
得分:0
回复 6# 维天 的帖子
我也有这想法,比较赞同维天~~
虽然说在DOS下,我们想怎么安排都可以,但毕竟是数据段,把它当作代码段来执行,很可能它会"乱来",结果就是程序没能正确返回.
2008-10-07 23:11
ONEPROBLEM
来 自:广西 南宁
等 级:
贵宾
威 望:
21
帖 子:1569
专家分:349
注 册:2008-7-11
第
4
楼
得分:0
[bo][un]rediums[/un] 在 2008-10-7 23:44 的发言:[/bo]
可以先写一段代码,编译成二进制格式,然后存入数据段,这样在CS:IP指向那里的时候就不会有错了
呵呵~~从编程者的角度来看,它应该是代码段了,只不过是放到了另一个地方而已.
2008-10-07 23:50
ONEPROBLEM
来 自:广西 南宁
等 级:
贵宾
威 望:
21
帖 子:1569
专家分:349
注 册:2008-7-11
第
5
楼
得分:0
应该可以了.
8BC3 mov ax,bx
B8004C mov ax,4C00
CD21 int 21
可是这个数据段,其实是可以正常执行下去的代码段.最后,程序竟然在数据段里安全地退出了.假如jmp far ptr b 后面还有其它指令呢?结果可能是:数据段变成了子程序.
2008-10-08 07:19
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-236727-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.072617 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved