交付:为小语言生成汇编

交付:为小语言生成汇编

场景:~/gen 给了半成品生成器,说明列了要补的一小段(二元运算的选指令)。 任务:把它补成能为一段 IR 正确生成汇编的生成器,让说明里的用例通过。补好运行 ~/check。 范围:只在 ~/ge

阅读更多 →
修好选错助记符的生成器

修好选错助记符的生成器

场景:~/gen 的生成器把加法选成了错的助记符(比如 + 发成了 SUB),生成的汇编里该有的 ADD 一条都没有。 任务:把助记符映射改对,让加法生成 ADD。改好运行 ~/check(它核对 A

阅读更多 →
修好漏了 STORE 的生成器

修好漏了 STORE 的生成器

场景:~/gen 的生成器有 bug——二元运算少发了最后那条 STORE,结果没存回,生成的指令数偏少。 任务:把生成器改对(补回 STORE),让它为已知 IR 生成正确条数的指令。改好运行 ~/

阅读更多 →
要溢出几个寄存器

要溢出几个寄存器

场景:~/gen/说明.txt 写了这段 IR 用了几个临时值、机器有几个寄存器。对照表列了八个数。 任务:算出要溢出到内存几个(临时值减寄存器、最少 0),到对照表里查那个数对应的标记。 范围:只在

阅读更多 →
这段 IR 一共几条

这段 IR 一共几条

场景:~/gen/ir.txt 是一段三地址码。对照表列了八个数。 任务:数出这段 IR 一共几条(不是生成后的汇编),到对照表里查那个数对应的标记。 范围:只在 ~/gen 下你自己的生成器与 IR

阅读更多 →
生成里有几条加法

生成里有几条加法

场景:~/gen 生成的汇编里有若干条 ADD。对照表列了八个数。 任务:跑生成器,数出汇编里 ADD 出现几次,到对照表里查那个数对应的标记。 范围:只在 ~/gen 下你自己的生成器与 IR 文件

阅读更多 →
生成了几条指令

生成了几条指令

场景:~/gen 的生成器会为 ir.txt 里的 IR 生成汇编。对照表列了八个数。 任务:跑生成器,数出一共生成了几条汇编指令,到对照表里查那个数对应的标记。 范围:只在 ~/gen 下你自己的生

阅读更多 →
把生成器跑起来

把生成器跑起来

场景:~/gen 下有一个代码生成器和一段 IR,说明写了怎么跑。 任务:把它跑起来,让它为那段 IR 生成汇编,然后运行 ~/check(它核对生成的指令数)。 范围:只在 ~/gen 下你自己的生

阅读更多 →
从现象认生成的问题

从现象认生成的问题

把四种现象和原因配对,打印四个字母:

阅读更多 →
真机上怎么算生成对了

真机上怎么算生成对了

在真实机上跑代码生成器,判定它「对了」看的是【0】。

阅读更多 →