云来阁 http://www.whcui.com
一天后,横井俊平终于看到了让他牵挂了一晚上的答案。水印广告测试 水印广告测试看到这个答案的时候,他差点要给自己一拳,因为这个答案点居然是最基础的理论。
“堆栈!?”
不错,王秋阳给出的答案就是堆栈。
所谓堆栈,就是在单片机应用中,有一个特殊的存储区。它的主要功能是暂时存放数据和地址,通常用来保护断点和现场。这个存储区,就是堆栈。
但堆和栈,又有些许的不同。
堆,是队列优先,先进先出(fifo—first first out)。
栈,是先进后出(filo—first-/last-out)。
6502堆栈100--1ff最多只能存放127个双字节,所以jsr最大连续的转入深度为127层。如果还有其它数据入栈,子程序转入深度还要减少。所以在设计复杂的程序时,堆栈是会出现溢出的。堆栈溢出,意味着主机会死机。
死机代表什么?
横井俊平终于意识到了关键,因为死机不代表结束。对普通人来说死机意味着重启,而在黑客的手上死机意味着bug就要出来了。
果然,王秋阳的回复中,依据堆和栈的特点,做出了不一样的文章。
堆,因为是先进先出,理论上是由电脑自行运算。
栈
第十九章 破解6502密码(中)(1/5)