代码在没有流量控制的情况下变得有点无聊;对于初学者来说,Parrot知道分支和标签.分支op相当于Perl的goto:
branch TERRYJOHN: print "fjords\n" branch ENDMICHAEL: print " pining" branch GRAHAMTERRY: print "It's" branch MICHAELGRAHAM: print " for the " branch JOHNEND: end
它还可以执行简单测试以查看寄存器是否包含真值:
set I1, 12 set I2, 5 mod I3, I2, I2 if I3, REMAIND, DIVISOR REMAIND: print "5 divides 12 with remainder " print I3 branch DONE DIVISOR: print "5 is an integer divisor of 12"DONE: print "\n" end
以下是Perl中的情况,以供比较:
$i1 = 12;$i2 = 5;$i3 = $i1 % $i2;if ($i3) { print "5 divides 12 with remainder "; print $i3;} else { print "5 is an integer divisor of 12";}print "\n";exit;
鹦鹉算子
我们有全系列的数字比较器:eq,ne,lt,gt,le和GE.请注意,您不能在不同类型的参数上使用这些运算符;你可能甚至需要将后缀_i或_n添加到op中,告诉它你正在使用什么类型的参数,虽然汇编程序应该为你理解这一点,直到你读到它为止.