6 my %regs = ( a => 0, b => 0 );
7 my @code = map { chomp; [ split /[ ,+]+/ ] } <>;
10 my ($ins, $v1, $v2) = @{ $code[$ip] };
11 say "$ip: ", join(' ', @{ $code[$ip] }), " a=$regs{a} b=$regs{b}";
13 $regs{$v1} = int($regs{$v1}/2);
14 } elsif ($ins eq 'tpl') {
16 } elsif ($ins eq 'inc') {
18 } elsif ($ins eq 'jmp') {
20 } elsif ($ins eq 'jie') {
21 $ip += $v2 - 1 if $regs{$v1} % 2 == 0;
22 } elsif ($ins eq 'jio') {
23 $ip += $v2 - 1 if $regs{$v1} == 1;
25 say "Invalid insn $ins";