Skip to content
/ mixal Public

Enhanced MIXAL (original code by Darius Bacon and Eric Raymond).

Notifications You must be signed in to change notification settings

pahihu/mixal

Repository files navigation

mixal

Based on MIXAL from Darius Bacon. See runhello for example usage.

You can check James L. Peterson's Computer Organization and Assembly Language Programming book, which uses the MIX machine.

For a reference see the MIX Reference Card.

If you want to run the real thing, you can try Michael Schroeder's MIX-fpga !

Changes:

  • Tyme unit is 6us, drum size is 512 sectors, drum/disk rotational delay, tape load-point
  • added unchecked transcripts of Knuth's MIX assembly program, Threetran interpreter and compiler
  • Mixmaster mode: memory size is 32KW, r1-r6 is 5 digits + sign, the instruction format AAAA J0 LR CC, specify the address JAAAA
  • changed CPrM syntax to CPMr (CI = reg:M)
  • fixed shifts, punch object card deck, NUM handles overpunch, debugged I/O, runs Peterson's load-and-go assembler (see runprimes)
  • fixed INT encoding (C=5,F=9), added MIX360 user manual and UT-MIX manual
  • ALF statement without quotes
  • assemble only
  • core memory support (non-volatile memory)
  • punch object card deck
  • GO button
  • MIXmaster instructions added: XEQ (execute), CPrM (CI = reg:M)
  • indirect/double-addressing
  • UT-MIX instructions added: NEG, XCH
  • binary instructions: OR, XOR, AND, SLB, SRB, JrE, JrO
  • interrupt facility, real-time clock (INT instruction)
  • limited size of drum and tape devices
  • memory dump of non-zero locations, with instruction frequency counts
  • instruction execution trace
  • count idle time waiting for I/O to complete
  • MinGW port
  • overlapping I/O buffer checks, incomplete I/O detection
  • reference card
  • card reader/punch and printer can use files instead of stdin/stdout
  • time dependent I/O (low-end Burroughs B5500 peripheral timing)
  • tape devices

NOTE: execution trace and memory dump mechanics loosely follows Knuth, Sites: MIX/360 User's Guide. For the UT-MIX extensions see Peterson: UT-MIX Reference Manual. Good luck!

About

Enhanced MIXAL (original code by Darius Bacon and Eric Raymond).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages