#4 编程(Part.6)迷宫


OVERTURE架构的最后一关
实在是太折磨啦
关卡说明已经给足了提示,只要不断摸着右边走就可以了
我的想法就是,前进一步之后,看右边是不是墙
不是墙,走进去
是墙,转回前面,看前面是不是墙
前面是墙,那就左转,否则直行
就相当于有一个优先级,右转>直行>左转
依次尝试执行,这个逻辑虽然很简单但是足够用了
金币的话我只是随便拿,能拿就拿不能拿就算了
(反正也不会给我加分)
(有些金币在中间,不走完整个图,怎么知道要去那里拿嘛!)
总时钟刻5330 总用时319800


OVERTURE架构指令集:
最高两位为操作码,00立即数模式,01算术模式,10复制模式,11条件跳转模式
立即数模式下,1-6位是立即数,写入0号寄存器
算术模式下,1-3位为算术命令,000为OR,001为NAND, 010NOR, 011为AND, 100为ADD, 101为SUB, 110和111为UNUSED
复制模式下,1-3为目的,4-6为源,000-101对应寄存器,110对应输入/输出,111UNUSED
条件跳转模式下,1-3位为条件,000为NEVER, 001为=0, 010为<0, 011为<=0, 100为ALWAYS, 101为!=0, 110为>=0, 111为>0
自定义汇编别名:
input/output: 00000110(6)
AND: 01000011(67)
add: 01000100(68)
sub: 01000101(69)
copy: 10000000(128)
equal_0: 11000001(193)
less_0: 11000010(194)
always: 11000100(196)
greater_0: 11000111(199)
