王爽汇编语言的题

来源:百度知道 编辑:UC知道 时间:2024/04/30 03:59:12
它书上P53页,电子书P64上的题

再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序?
我答没有区别,只有被CS:IP指向的内存单元中的内容才是程序,其它都是数据。
这样回答可以吗?

感觉这是个很难用语言说明白的东西,可能是我的能力有限吧
给你提供一些信息来帮助你理解一下吧:

jmp指令可跳转到根本就不是程序的数据段里去执行,当然数据是随机的,所以这些数据不能组成一个有实际意义的子程序
程序是分过程的,所以真正的程序可能会分散在内存的不同的位置,比如说中断程序
还有内存中某一部分具体是程序还是数据是很难确定的,因为操作系统为程序分配的内存地址不是固定的
但有些程序和数据的位置却又是相对固定的,比如中断程序(中断程序的开始地址是在中断向量表中定义的)和BIOS数据区(是一些关于硬件等的一些重要的数据,位置是很固定的,因为修改这些内存的BIOS程序都是通过绝对地址来寻址的)

可以说数据是为程序服务的,没有程序,定义在内存中的数据就失去意义了
而程序是操作数据的

多写一些程序就会加深对程序和数据的理解了

可以这么回答,被执行的是指令,其他是数据,反正都是0和1