内存中的程序和数据有什么区别?难道程序就不是数据吗?

内存中的程序和数据有什么区别?难道程序就不是数据吗?,第1张

程序数据原本没有任何区别,在内存中都只是以二进制形式存储的数据。

现在的理解是当CPU指向你这段数据的地址,并且运行它,那这些数据就成了程序,或者说指令,也就是被CS,IP指向了。

就像运行中的程序才能成为进程有类似的概念。

在国标《质量管理体系 基础和术语》GB/T19000—2008/ISO9000:2005中第3.4.5条 程序procedure中对于“程序”的定义进行了规定。

一个环节,内部嵌套着一系列复杂的列逻辑慎密的一个组件,如若一个地方出问题则会影响到整个主体(可以理解为事务)。

在中华人民共和国国家标准《质量管理体系 基础和术语》GB/T19000—2008/ISO9000:2005(代替GB/T19000—2000)中第3.4.5条 程序procedure中对于“程序”的定义是“ 为进行某项活动或过程(3.4.1)所规定的途径。”

汇编语言中数据和程序在内存单元中存放的时候没有区别,都是二进制信息。

如果cs:ip指向某个内存单元,那么cpu就从这个单元开始往下执行,所以这里就是指令(程序)。

如果用任何一种存储器寻址方式指向某个单元,并且是作为 *** 作数来使用的,那么这就是数据。

其实如果只是单纯看一个内存单元,是无法区分到底是数据还是程序的。只能是写程序时,用汇编指令做不同的解释。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8144456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存