,由于是先进后出,因此可以人为控制其运算。
说形象一点,堆就像地铁,乘客只要买票,上车后可以万事不管,轻轻松松的坐车到站。水印广告测试 水印广告测试但是地铁只管到站,不会送你到家门口。
而栈,则更像私家车。私家车需要自己驾驶,不像乘地铁那样轻松。但是它的自由度更大,想去哪儿就去哪儿,想什么时候出发随心所欲。
一个栈,在没有数据进栈时堆栈指针s=ff。
每当有一个数据进栈s-1→s。
每当有一个数据出时栈s1→s。
当执行jsr指令时,cpu把下一条指令地址-1,也就是两个字节自动入栈,即是程序的返回地址-1自动入栈,然后转入到子程序中执行。
当遇到rts时弹出栈顶2个字节,作为程序的返回地址,并转到下一条指令中执行。而这次执行,是可以人为控制的。
也就是说让堆自主运算,然后人为的控制栈的数据流动,这就能够让6502芯片自发的完成定时器的效果,造成和留白一样的假死机,也就是花屏。
而且这个花屏的颜色,将不再是黑色,因为它已经bug过了。加之栈现在避开的电脑的自主操作,可以这次花屏可以人为的“默认”它显示灰阶。
“还有这种操作?”
看到这里,横井俊平直感慨,为什么自己的思维总跟不上节奏?再看之前的同显五十二色汇编语言,他甚至怀疑这
第十九章 破解6502密码(中)(2/5)