I simplified and extended my Python 65c02 assembler. It now checks the source code for valid opcodes and addressing modes. It still doesn’t check if any label value is valid. For labels to work, it has to established their values first (in a first pass of two passes). More to do… 👨💻