4 no warnings 'portable';
12 ($orm, $floatm) = ($1, $1);
14 $orm =~ s/X/0/g; $orm = oct "0b$orm";
17 if (/mem\[(\d+)\] = (\d+)/) {
19 for my $addr (addr2list($1|$orm, $floatm)) {
21 # print "mem[$addr=", pack("b*", $addr),"] = $2\n";
27 for (keys %mem) { $sum += $mem{$_} };
31 my ($addr, $mask) = @_;
32 if ($mask =~ s/X/0/) {
34 return (addr2list($addr | (1 << $off), $mask),
35 addr2list($addr & ~(1 << $off), $mask));