Also randomly reminded that there was a 6502 assembler that fit into 2 kilobytes by first turning the assembled program into instructions for a VM. The VM then overwrites its own instructions one by one to form the actual 6502 instructions:
https://web.archive.org/web/20250902233415if_/http://6502.org/source/monitors/2ksa.pdf
Written by one Robert Ford Denison (this is the right person AFAICT- looks like he decided not to stick w/ computers) https://cbs.umn.edu/directory/r-ford-denison