Branch Coverage

blib/lib/CPU/Emulator/Z80.pm
Criterion Covered Total %
branch 215 228 94.3


line true false branch
105 1285 27 if (exists $args{'memory'}) { }
106 1284 1 if (blessed($args{'memory'})) { }
1 0 elsif (not ref $args{'memory'}) { }
107 0 1284 unless $args{'memory'}->isa('CPU::Emulator::Memory')
121 3 1309 if (exists $args{'ports'}) { }
122 1 2 unless $args{'ports'} == 256 or $args{'ports'} == 65536
129 28841 1 unless exists $args{"init_$register"}
211 197 197 $half eq 'high' ? :
217 123 123 $half eq 'high' ? :
242 1 26 if exists $$self{'inputs'}{$address}
250 42 0 if (exists $$self{'inputs'}{$addr}) { }
270 1 9 if exists $$self{'outputs'}{$address}
278 21 0 if (exists $$self{'outputs'}{$addr}) { }
307 2465 122003 $r eq '(HL)' ? :
319 1 2 if (@_)
736 1 2 if (_interrupts_enabled($self))
745 3 8 unless defined $toggle
752 1343 1 if @_
760 1 1468 if ($$self{'NMI'}) { }
1 1467 elsif ($$self{'INTERRUPT'}) { }
772 5 1463 if ($$self{'STOPREACHED'})
788 2558 512 unless $self->_got_prefix(203) and $self->_got_prefix(221) || $self->_got_prefix(253)
797 1603 1467 if (ref $$self{'instr_length_table'}{$byte})
811 0 1467 if $bytes_to_fetch eq 'UNDEFINED'
822 1467 1 if (exists $$self{'instr_dispatch_table'}{$instr} and ref $$self{'instr_dispatch_table'}{$instr} and reftype($$self{'instr_dispatch_table'}{$instr}) eq 'CODE') { }
827 346 1121 if $self->_got_prefix(221)
828 344 1123 if $self->_got_prefix(253)
830 344 1123 if $self->_got_prefix(253)
831 346 1121 if $self->_got_prefix(221)
851 6 6 $cond eq 'P' ? :
6 12 $cond eq 'PE' ? :
6 18 $cond eq 'PO' ? :
8 24 $cond eq 'Z' ? :
8 32 $cond eq 'NZ' ? :
8 40 $cond eq 'C' ? :
8 48 $cond eq 'NC' ? :
878 6 24 if $r2 eq '(HL)'
886 224 160 if (defined $d and $r ne '(HL)') { }
888 32 32 $self->_got_prefix(221) ? :
64 160 if $realr =~ /^[HL]$/
895 112 112 if $value
898 224 0 if $r eq '(HL)'
905 80 80 if $value
908 48 112 if $r eq '(HL)'
916 128 72 if defined $d
918 136 64 if $r eq '(HL)'
928 128 72 if (defined $d)
937 9 36 if $r2 eq '(HL)'
946 0 45 if $@
965 0 67 if $r2 eq 'Z'
966 23 44 if $r2 eq '(HL)'
991 3 17 if $r eq '(HL)'
993 3 17 if $r eq '(HL)'
1017 10 2 if ($self->register('B')->get)
1028 3 18 if $r eq '(HL)'
1030 3 18 if $r eq '(HL)'
1049 15 1 if $self->register('BC')->get
1063 7 1 if $self->register('BC')->get
1086 3 1 if $self->register('BC')->get and $self->register('Z')->get
1100 7 1 if $self->register('BC')->get and $self->register('Z')->get
1175 40 2 unless defined $byte
1177 3 39 if $r eq '(HL)'
1203 4 538 if (defined $d and $r2 eq '(HL)' and $r1 =~ /^[HL]$/) { }
4 544 elsif (defined $d and $r1 eq '(HL)' and $r2 =~ /^[HL]$/) { }
1204 2 2 $self->_got_prefix(221) ? :
1206 2 2 $self->_got_prefix(221) ? :
1210 21 521 if ($r2 eq '(HL)')
1214 21 521 if ($r1 eq '(HL)') { }
1294 56 40 if (defined $d and $r ne '(HL)') { }
1295 8 8 $self->_got_prefix(221) ? :
16 40 if $r =~ /^[HL]$/
1298 56 0 if $r eq '(HL)'
1299 56 0 if $r ne 'A'
1301 56 0 if $r ne 'A'
1302 56 0 if $r eq '(HL)'
1305 12 28 if $r eq '(HL)'
1306 36 4 if $r ne 'A'
1308 36 4 if $r ne 'A'
1309 12 28 if $r eq '(HL)'
1330 2 2 $self->_got_prefix(253) ? :
2 4 $self->_got_prefix(221) ? :
6 18 if $r =~ /^[HL]$/
1339 2 2 $self->_got_prefix(253) ? :
2 4 $self->_got_prefix(221) ? :
6 18 if $r =~ /^[HL]$/
1348 14 10 if (defined $d and $r ne '(HL)') { }
1350 2 2 $self->_got_prefix(221) ? :
4 10 if $realr =~ /^[HL]$/
1359 3 7 if $r eq '(HL)'
1362 3 7 if $r eq '(HL)'
1376 14 10 if (defined $d and $r ne '(HL)') { }
1378 2 2 $self->_got_prefix(221) ? :
4 10 if $realr =~ /^[HL]$/
1388 3 7 if $r eq '(HL)'
1392 3 7 if $r eq '(HL)'
1406 14 10 if (defined $d and $r ne '(HL)') { }
1408 2 2 $self->_got_prefix(221) ? :
4 10 if $realr =~ /^[HL]$/
1420 3 7 if $r eq '(HL)'
1426 3 7 if $r eq '(HL)'
1440 14 10 if (defined $d and $r ne '(HL)') { }
1442 2 2 $self->_got_prefix(221) ? :
4 10 if $realr =~ /^[HL]$/
1455 3 7 if $r eq '(HL)'
1462 3 7 if $r eq '(HL)'
1497 2 4 if ($f->getC == $row[0] and $row[2] eq '.' || $f->getH == $row[2] and sprintf('%x', $a->get >> 4 & 15) =~ /^[$row[1]]$/ and sprintf('%x', $a->get & 15) =~ /^[$row[3]]$/)
1503 1 1 $f->getN ? :
1509 1 1 unless $n
1510 1 1 if $n and not $h
1511 0 2 if $n and $h
1614 1 1 if $self->register('B')->get
1620 1 1 if $self->register('B')->get
1644 2 1 if $self->register('B')->get
1650 2 1 if $self->register('B')->get