Skip to content

oboroc/crass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crass - a crude assembler!

Another attempt at a Z80 assembler.

Design goals

  • make code highly modular and loosely coupled
  • keep syntax clean and simple. Avoid "clever" tricks, i.e. compound statements that require effort for a human to understand
  • avoid using C preprocessor for anything beyond #include
  • plugin-based architecture: multiple implementations of certain functionality could be used via clearly defined API
  • test coverage for each function
  • extensive commentary, almost as in literate programming style
  • follow Google C++ Style Guide conventions as appropriate for C project
  • use static code analyzers to look for potential problems
  • use linter to enforce uniform code formatting
  • avoid tabs, use Python style 2 space indent
  • reference How to C in 2016 for good ideas
  • use latest winflexbison

Flex / bison links

Z80 opcode links

File formats