What timing! I’ve been down the 8051 rabbit hole for a few months now.
I cut my professional teeth on Intel assembler back in the mid 80’s so. Never worked with
the 8051 (8048/8085/8086/8088 were the processors I used).
What I’ve found so far that may be of use are:
SDCC (Small Device C Compiler). It has an assembler, sdas. I haven’t used it.
I also found the original Intel Macs-51 tools (macro assembler, linker, librarian). I
probably prefer the Intel tools because they remind me of the tools I used way back when.
The Intel DOS tools will run on msdos emulators, dosbox-x is one I found useful. It is
possible to run dosbox-x without the gui (set up the DOS commands in the autoexec.bat)
dosbox-x -silent -nomenu
The Intel DOS tools are located here:
https://www.retrocomputing.nl/wp-content/uploads/PLM-51/PLM51_V1_2.zip
https://www.retrocomputing.nl/wp-content/uploads/PLM-51/PLM51_V1_4.zip
Intel documentation can be found with an internet search at a number of sites. The
relevant titles are:
MCS-51 MACRO ASSEMBLER USER'S GUIDE
MCS-51 UTILITIES USER’S GUIDE FOR DOS SYSTEMS
EXTERNAL PRODUCT SPECIFICATION FOR THE MCS-51 OBJECT MODULE FORMAT
The msdos emulator is here:
https://github.com/joncampbell123/dosbox-x/releases/tag/dosbox-x-v2026.01.02
I ran into problems building SDCC from the “official” repo. I used the following repo
sucessfully:
https://github.com/swegener/sdcc.git