汇编中数据和程序有何区别?如何确定内存中的信息那些是数据?那些是程序

 我来答
呀豆荚
推荐于2018-04-11 · TA获得超过3080个赞
知道小有建树答主
回答量:752
采纳率:100%
帮助的人:1267万
展开全部
汇编语言中数据和程序在内存单元中存放的时候没有区别,都是二进制信息。
如果cs:ip指向某个内存单元,那么cpu就从这个单元开始往下执行,所以这里就是指令(程序)。
如果用任何一种存储器寻址方式指向某个单元,并且是作为操作数来使用的,那么这就是数据。
其实如果只是单纯看一个内存单元,是无法区分到底是数据还是程序的。只能是写程序时,用汇编指令做不同的解释。
li668xiao
2011-02-25 · TA获得超过611个赞
知道小有建树答主
回答量:412
采纳率:61%
帮助的人:252万
展开全部
程序是“数据”,数据也是“数据”,都是0和1组成的数串而已。
数据放在数据段中,程序放在代码段中,程序的入口处是在代码段某个位置的,而不是在数据段,所以正常情况下程序都是从代码段开始执行,并且将一直执行代码段中指令直到结束。
cpu是不知道到底那些是数据那些是程序的,只是我们让cpu从程序的代码段执行而已。实际上你也可以用特殊手段让cpu执行数据段中的数据,它会把数据当作指令执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朝酒晚舞8031
2011-02-25 · TA获得超过467个赞
知道答主
回答量:269
采纳率:0%
帮助的人:132万
展开全部
无法区分。
常见的乱码,就可能是把程序代码,当成数据来显示;
常见的死机,就可能是把数据,当成程序代码来执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rockrider001
2011-02-25 · TA获得超过1567个赞
知道小有建树答主
回答量:1200
采纳率:100%
帮助的人:1180万
展开全部
写程序时会有区分,数据段和代码段
追问
能給個例子麼?麻煩
追答
比如ARM汇编,编写时会写这样的东西
.code
。。。
.data
。。。

当然,写代码时要自己标明代码或数据,但你要只是反汇编的话,就比较难区分了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式