Extended Brookshear Machine emulator and assembler

Emulator and assembler for a simple computer, a teaching aid for computer science courses.
1.7K Downloads
Updated 7 Dec 2011

View License

This is an emulator for the machine described in Computer Science: An Overview, 10th edition, by J. Glenn Brookshear (Pearson Education, 2008). It is extended with some additional instructions and the machine is equipped with a bitmapped display.

The emulator is intended for teaching and learning. It has been used successfully in an introductory computer systems course in the first term (semester) of a computer science programme.

The machine has 256 1-byte memory cells, 16 1-byte registers, and an instruction set with 16 operations. It may be programmed by entering machine code into the emulator, or using a simple assembly language.

The emulator is managed using a GUI, started by executing bmachine, which is in the top level of the directory. The GUI allows memory and register contents to be viewed in a variety of ways (as binary, hex, ASCII, signed integers or floats). Machine code in memory is also displayed as descriptive text or as assembly language instructions. Memory can be updated directly by editing the fields in the emulator, and individual instructions can be executed to see their effect on memory and registers; alternatively, programs may be executed sequentially.

A simple assembler is also provided. Assembly language may be read from a text file and loaded into memory. Two example programs are provided, and HTML documents describing the machine, its emulator and the assembler can be displayed from the GUI.

A 32x32 binary bitmapped display shows the contents of the upper half of memory. This allows programs to create simple graphics, providing excellent possibilities for interesting student exercises.

Cite As

David Young (2024). Extended Brookshear Machine emulator and assembler (https://www.mathworks.com/matlabcentral/fileexchange/22593-extended-brookshear-machine-emulator-and-assembler), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Signal Processing Toolbox in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.7.0.0

Minor bug fix in dble2f8: now throws an exception with an id (previously used error without an id).

1.6.0.0

Repeating update of 8 January 2009, because the zip file and description were not updated.

1.5.0.0

Updated file

1.2.0.0

Shortened instruction description that was being truncated; changed screensize test for larger font; added Contents.m files; switched off some M-Lint warnings.

1.0.0.0