Giter Site home page Giter Site logo

mixal's Introduction

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.