我早前在163写过好多教程,但没有这次这么有条理,有进阶性的。
我早前的确是用6502Sim写程序的。VS Code是2019年年底才发现的。我记得2019年在曾哥的群里听他跟别人聊插件的事。所以插件也是最新做的。当然大家也看见了别的6502插件,但我不推荐。说不定你喜欢CC65,也可以用CC65插件,不过后面的配套办法就要你自己解决了。我想也不难。
偏了偏了。
说说什么要留下6502Sim。初学者对指令的领悟很有限。那么我们需要一个直观的Debug,最好的就是这个6502Sim。我们可以拿一部分代码在这上面调试。这比在NES模拟器上面调试,更能看出指令对CPU的作用,对内存的变化。
调试的办法:
一、代码:
先要指定一个起始地址,一般.org $8000或者$C000
我们还要一个.START start。这个start就是代码开始的地址。
例如
.START start
.ORG $C000
start
再贴你要调试的代码,
注意代码不能顶格。插个空格或者Tab。标签必须顶格。建议标签不带冒号,(6502Sim上的冒号可有可无)为了VSCode插件兼容。
有变量的话,也要指定地址呀,分配变量地址那段也要帖,就帖在.START上面就可以。
不过6502Sim不支持等号。你要用.ORG和.RS配合。前者指定地址,后者指定字节长度。
例子:
其中dbXX是一个变量,dwAddr也可以认为是一个(地址)变量
这个例子没什么实际意义,只是为了做例子。
二、编译
也可以不保存,为了调试而尔。改好放回源代码中。
点击(或菜单“仿真-编译”。或 F7)如果没出错,就不会出窗口。如果有出错,则会跳出错窗口。然后出现一个红色三角指明出错所在行。
下一步。
点击(或菜单“仿真-进入/退出调试模式”。或F6)则显示所有调试窗口,或通过菜单“查看”,可以点开更多窗口。
然后就可以用单步调试。图中这几个都调试工具,不再多说。
我们最需要的是CPU窗口
还有内存地址窗口
代码窗口还会用黄色箭头指向当前指令。帮助我们理解指令的工作。