Skip to content

Latest commit

 

History

History
75 lines (54 loc) · 2.46 KB

README.md

File metadata and controls

75 lines (54 loc) · 2.46 KB

P3 Assembly

A Sublime Text 3 assembly language syntax

Sidenote: Designed to accomodate the syntax of the P3 processor's assembly language, this theme is in no way a finished product. Feel free to contribute to the project or submit an issue detailing a problem with the project or what have you.

Still on a tangent, a color theme is not supplied with this package. It is purely a syntax for the P3 assembly language.

The P3 Processor

The P3 is a 16-bit word architecture processor used at Lisbon University's Superior Technical Institute (Instituto Superior Técnico da Universidade de Lisboa, IST@UL) in the Introduction to Computer Architecture subject of the Computer Science and Engineering BSc degree.

In practice, during the course's subject, a project is tailored for the first year's first semester students (freshmen, hopefully). Usually, or at least thus far, the project consists of creating a well-known game (or should I say recreating) using the P3 processor simulator, a Java application capable of simulating the assembled code to be loaded onto the processor itself on a later stage, during a demo or for testing purposes, since the simulator's.. not very feasible or reliable, if I may.

Some specifications

A few of the processor's specifications are listed below.

1. Registers

  • R0 - R7 - General use registers (R0 holds the constant 0)
  • PC - The program counter
  • SP - The stack pointer
  • RE - State register with 5 state bits, EZCNO, where
    • E: Enable interrupts
    • Z: Zero
    • C: Carry
    • N: Negative
    • O: Overflow

2. Memory

  • Address space: 64K words
  • Word size: 16 bits

3. I/O

  • I/O Addresses: Memory Mapped I/O from FF00h upward
  • Text Window: FFFCh - FFFFh
  • Interruptors (or switches): FFF9h
  • LEDs: FFF8h
  • LCD: FFF4h - FFF5h
  • 7-Segment display: FFF0h - FFF3h
  • Timer: FFF6h - FFF7h

4. Interrupts

  • Interrupt mask: FFFAh
  • Interrupt vector base: FE00h

More information can be found in the P3 processor simulator manual here (in portuguese).

Example Screenshot (using Monokai)

p3assembly-monokai