sub queue { my ($self, $q) = @_; if (defined $q){ if (! exists $queue{$q}){ die "queue param requires a binary string.\n"; } $self->{queue} = $queue{$q}; } $self->{queue} = DEFAULT_QUEUE if ! defined $self->{queue}; my $bits = $self->bits; # unset $bits &= ~MAX_QUEUE; # set $bits |= $self->{queue}; my $lsb = $bits & 0xFF; my $msb = $bits >> 8; $self->register($msb, $lsb); return $self->{queue}; }