5 my @code = map { [ split /\s+/ ] } <>;
7 for my $i (0 .. $#code) {
8 if ($code[$i]->[0] eq 'nop') {
9 local $code[$i]->[0] = 'jmp';
11 } elsif ($code[$i]->[0] eq 'jmp') {
12 local $code[$i]->[0] = 'nop';
23 while (!$seen{$pc} && $pc != @$code) {
25 my ($ins, $arg) = @{ $code->[$pc] };
26 # print "pc=$pc, acc=$acc, $ins $arg\n";
29 } elsif ($ins eq 'acc') {
31 } elsif ($ins eq 'jmp') {
36 print "terminating with acc=$acc.\n";