I remember when I got my old 1982 IBM PC (I checked the ROM date), and I discovered that DOS debug had a command to assemble assembly language code typed in. Of course, it didn't support any of those fancy features like macros or labels.
I went to the library and got a book on 80x86 real mode assembly language programming, and started hacking away. My best program was probably the maze generator that created a 159x99 logical maze using a simple backtracking algorithm. It was extremely fast! By the time the video card changed from text mode to graphics mode, the thing was already done. And, it only took 458 bytes.