Non ho una gran esperienza in merito,
però a scuola, alle superiori (una decina di anni fa, sigh!), programmavamo dei dispositivi molto semplici, tra cui un braccio meccanico proprio con il linguaggio macchina.
Comandi ogni dispositivo con sequenze di byte (all'epoca almeno, i registri della CPU funzionavono a blocchi di 8 bit!), e trovi le descrizioni nelle schede tecniche, e, con il linguaggio macchina, dopo aver composto le sequenza di byte con i comandi elementari e veloci (usi direttamente i registri del processore), tramite le operazioni di I/O indirizzate sulla porta parallela o seriale, potevi inviare/leggere ai/dai dispositivi.
... questo vale almeno per le macchine che usano motori passo-passo e dispositivi semplici, come tastiere ecc...
Ciao!
... spero cmq che trovi qualcuno più bravo di me!