8051-Assembler: Einstieg mit DOS/51

Der 8051 ist eine Familie von 8-Bit-Prozessoren, die mit Bytes und einzelnen Bits arbeitet. Mit Assembler legen Sie genau fest, was der Prozessor kopiert, addiert oder prüft. Im kostenlosen DOS/51-Browseremulator können Sie sofort loslegen—ohne Programmiergerät und ohne reale Platine.

Philips P80C31SFPN-Mikrocontroller im DIP-40-Gehäuse bei iMania
Der ROM-lose 80C31: eine klassische CPU der 8051-Familie mit externem Programmspeicher.

Die wichtigsten Grundlagen

  • A ist der Akkumulator: das zentrale Register für Berechnungen und Datenübertragungen.
  • MOV kopiert einen Wert; das Ziel steht zuerst. MOV A,#42 lädt die Zahl 42, während MOV A,0x30 das Byte an der internen Adresse 0x30 liest. Das Zeichen # ist entscheidend.
  • MOVX greift auf externen Datenspeicher zu; MOVC liest Programmspeicher. Gleiche Adresszahlen können daher unterschiedliche physische Speicherstellen bezeichnen.
  • JZ/JNZ prüfen A selbst. Ein separates Nullflag gibt es nicht. Das Carry-Flag wird unter anderem von ADDC und SUBB verwendet.

Ihr erstes Programm: ein Sternchen ausgeben

Öffnen Sie DOS/51, geben Sie nano first.asm ein und übernehmen Sie das Programm. Mit Strg-O speichern, mit Strg-X den Editor verlassen und anschließend asm -r first.asm eingeben.

clr 0x99         ; TI = 0
mov a,#42        ; ASCII '*'
mov 0x99,a       ; SBUF
wait_tx:
    jnb 0x99,wait_tx
clr 0x99
ret

Das Programm gibt * aus und kehrt zur Kommandozeile zurück. Die Byteadresse 0x99 bezeichnet den UART-Sendepuffer SBUF; die Bitadresse 0x99 ist dagegen TI, das Übertragungsende-Flag. Der Befehl bestimmt den Adressraum. DOS/51 hat die UART bereits eingerichtet; das Beispiel verändert deshalb nicht die Geschwindigkeit der Konsole.

Vom Emulator zum echten 80C31

Der Philips P80C31SFPN im DIP-40-Gehäuse besitzt keinen internen Programmspeicher. Er benötigt externen Programmspeicher, Takt, Reset und eine Adress-Latch-Schaltung. Externes RAM und SD-Karte des Emulators gehören zur Platine; sie sind kein integrierter Speicher und keine native SPI-Schnittstelle der CPU. Für den realen Aufbau lesen Sie unsere Anleitung für ein vollständiges 80C31-System auf Steckbrettern.

Bereit für die vollständige Referenz?

The Ultimate 8051 Assembly Guide behandelt alle 44 Standardmnemoniken, 111 Operandenformen und 255 definierten Opcode-Bytes sowie Adressierung, Flags, Stack, Beispiele und Peripherie. Dabei werden der klassische Kern, Philips-spezifische Dokumentation und die tatsächlich emulierten Funktionen klar getrennt. Die vollständige Referenz ist auf Englisch.

Lieber ein Feldhandbuch im Retro-Stil? Neue SD-Karten im Emulator enthalten die ASCII-Ausgabe. Bei einer bereits gespeicherten Karte klicken Sie auf Install field manual; vorhandene Dateien bleiben erhalten. Laden Sie das Inhaltsverzeichnis mit sdget guide51.txt und lesen Sie es mit cat guide51.txt. Die Kapitel sind so aufgeteilt, dass sie auf die kleine RAM-Disk passen.

Zum Ultimate 8051 Assembly Guide →