Skip to content

dourish/ia65

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ia65 is an interactive assembler for the Mite 6502 project. I've been
doing my assembly work via a cross-assembler but now I want a self-
hosted assembler to run on the Mite board itself.

Current state:

  * all NMOS 6502 and most CMOS 65C02 opcodes supported
  * .ORG, .EQU, .BYTE, .WORD directives supported
  * labels up to 14 characters (but no forward references)
  * all numbers in hexadecimal


So this should work, for example:

  PRCH .EQU $CD04

  ;; Execute a basic loop
  INIT
    LDA #30
    LDY #10
  LOOP
    JSR PRCH       ; print character
    INC
    DEY
    BNE LOOP

As a special case, the format "LABEL=value" is also recognised.

Simple expressions are supported. > and < are prefix operators
selecting the upper and lower bytes of a word, respectively, and
! is a prefix negation. &, |, + and - can be used on operand values.
No multiplication, division, or shifts. Operators are evaluated
left-to-right with no precedence.


What's missing?
  * decimal and binary values
  * single-pass with no resolution of undefined labels

About

Interactive assembler for 6502

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published