Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

/var/sites/help-site.com/auto/tmp/CPAN/23423/Hardware-Simulator-MIX-0.06/lib/Hardware/Simulator/MIX.pm

/var/sites/help-site.com/auto/tmp/CPAN/23423/Hardware-Simulator-MIX-0.06/lib/Hardware/Simulator/MIX.pm


SYNOPSIS




    use Hardware::Simulator::MIX;

    my $mix = new Hardware::Simulator::MIX;

    while (!$mix->is_halted()) {

        $mix->step();

    }


DESCRIPTION

Number system. Memory word. Field specification. Architecture. char set.


CONSTRUCTOR


    $mix = Hardware::Simulator::MIX->new(%options);

This method constructs a new Hardware::Simulator::MIX object and returns it. Key/value pair arguments may be provided to set up the initial state. The following options correspond to attribute methods described below:


    KEY                     DEFAULT

    -----------             --------------------

    max_byte                64


MACHINE STATE

Registers
Accessing registers:

    $mix->{reg_name}

It is a reference to a MIX word. Available registers are listed below:


    REGNAME                FORMAT

    -----------            -----------------------

    rA                     [?, ?, ?, ?, ?, ?]

    rX                     [?, ?, ?, ?, ?, ?]

    rI1                    [?, 0, 0, 0, ?, ?]

    rI1                    [?, 0, 0, 0, ?, ?]

    rI2                    [?, 0, 0, 0, ?, ?]

    rI3                    [?, 0, 0, 0, ?, ?]

    rI4                    [?, 0, 0, 0, ?, ?]

    rI5                    [?, 0, 0, 0, ?, ?]

    rI6                    [?, 0, 0, 0, ?, ?]

    rI6                    [?, 0, 0, 0, ?, ?]

    rJ                     [?, 0, 0, 0, ?, ?]

    pc                     Integer in 0..3999

Note: the names are case sensitive.

Memory
Flags
Status


METHODS

$mix->is_halted()
$mix->reset()
$mix->step()



=item $mix->read_mem($loc)
$mix->read_mem($loc, $l)
$mix->read_mem($loc, $l, $r)
Return a MIX word from memory. $loc must be among 0 to 3999. If field spec $l and $r are missing, they are 0 and 5; If $r is missing, it is same as $l.

$mix->write_mem($loc, $wref, $l, $r)
$mix->set_reg($reg_name, $wref)
$mix->get_reg($reg_name)


AUTHOR

Chaoji Li

Please feel free to send a email to me if you have any question.


BUGS




=head1 SEE ALSO

 

The package also includes a mixasm.pl which assembles MIXAL programs. Usage:

    perl mixasm.pl <srcfile.mixal>



Again, there is a mixsim.pl which is a command line interface to control MIX machine. Usage:


    perl mixsim.pl



Then type 'h' at the command line so you can see a list of commands. You can load a MIX program into the machine and see it run.


COPYRIGHT

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy