Skip to content

assembler written in rust for my 8-bit breadboard CPU

License

Notifications You must be signed in to change notification settings

rdearman/myassembler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myassembler

This is a very super hacky attempt at creation of an assembler for my 8-bit breadboard CPU. It is primarily an exercise in learning more about electronics and the rust programming language. It should in no way be considered useful for anyone who doesn't own my homemade CPU.

I've designed the assembly language to be like GAS syntax, but it doesn't support most things.

The plan is to support the following, where reg is a register, arg is an immediate argument (number):

/* ------------- My Assembler Language ----------------
ADD reg reg | arg
SUB reg reg | arg
AND reg reg
ORR reg reg
XOR reg reg
NOT reg
CMP reg reg | arg
MOV reg reg | arg
LDR reg MEM | MEM + OFFSET
STR reg MEM | MEM + OFFSET
SHR reg
SHL reg
INC reg
DEC reg
CCF (clear carry flag)
BL  [copy PC to SP and branch]
BEQ [Branch Equal]
BNE [Branch Not Equal]
BLT [Branch Less Than]
BGT [Branch Greater Than]
PUSH
POP

label:

$variable_name .asciz " +"
$variable_name .byte 0
 

About

assembler written in rust for my 8-bit breadboard CPU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published