az4121 发表于 2013-4-11 17:11:53

第六章检测点6.1

(2)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置在程序内。完成程序:
assume cs:codesg
codesg segment

      dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
      dw 0,0,0,0,0,0,0,0,0,0   ;10个字单元用作栈空间
↑↑↑↑为什么是10个字单元,不能是一个吗?

az4121 发表于 2013-4-11 21:55:32


经测试,是自己没事找事
1~10个字单元,只影响mov sp(填空)

无法理解作者为什么要浪费9个字单元

2548827329 发表于 2013-4-22 22:17:38

你可以看第三章3.8栈顶超界的问题,我的想法是应该和超栈有关,你的栈定义一个字大小,但你写了8个字,就存在超栈问题,你超栈的空间可能存放着系统或其他程序的数据,超栈改写了那里的数据后可能会出错
以上是我个人的看法,不知道对不对
页: [1]
查看完整版本: 第六章检测点6.1