Erg„nzendes Benutzerhandbuch zum Assembler ASM48 ================================================ Aktueller Stand: Dezember 1990, Version 1.0 fr die MCS48-Familie Preambel: --------- Der Assembler und dieses Handbuch wurden mit gr”žter Sorgfalt er- stellt. Dennoch kann ich Fehler darin nicht ausschliežen, daher kann ich auch keinerlei Haftung fr irgendwelche Sch„den durch die Benutzung des Programms bernehmen. Weiterhin behalte ich mir das Recht vor, Žnderungen zur Fehlerbesei- tigung und Weiterentwicklung vorzunehmen, ohne diese in jedem Fall zu dokumentieren. Inhalt: ------- Copyright und Registrierung Wichtiger Hinweis Der untersttzte Mikroprozessor Zeichensatz Prozessor-Befehle Pseudo-Befehle Operanden Fehlermeldungen Copyright und Registrierung: ---------------------------- Alle Rechte an ASM48 liegen bei mir. Ohne meine Zustimmung darf das Programm nicht verkauft oder kommerziell genutzt werden. Die Verbrei- tung maximal zum Selbstkostenpreis durch privat oder Public-Domain- Sammlungen ist dagegen erlaubt und erwnscht, allerdings nur vollst„n- dig mit allen erhaltenen Dateien (insbesondere der Dokumentation). Der Assembler wird als "shareware" verbreitet, also darf jeder das Programm kopieren und ausprobieren, es ist in meiner Originalfassung natrlich virenfrei und nicht kopiergeschtzt. Wenn jemand den Assembler jedoch ausfhrlich benutzen, meine Unter- sttzung in Anspruch nehmen oder gar eine noch nicht bestehende Ver- sion fr einen bestimmten Prozessor will, sollte er sich direkt an mich wenden. Die erfolgte Registrierung wird durch Zuweisung einer Benutzernummer best„tigt. Fr "normale" Benutzer betr„gt die Registrierungsgebhr DM 20. Dafr erh„lt er kostenfrei Nachrichten ber Updates (Fehlerbeseitigungen) und Upgrades (Erweiterungen). Bei Bedarf erh„lt er dann gratis die neue Version. Weiterhin werden gemeldete Fehler so schnell wie m”glich beseitigt und sonstige Wnsche nach Absprache bearbeitet. Wer aber eine noch nicht bestehende Version m”chte, sollte mir zu- n„chst eine Anfrage (mit, wenn m”glich, vollst„ndigen Prozessorunter- lagen) schicken. Je nach Aufwand mache ich dann einen Vorschlag ber Kosten und Bearbeitungszeit. Meine Adresse: Dipl.-Ing. Bodo Wenzel Karlstraže 41 3300 Braunschweig Wichtiger Hinweis: ------------------ Dieses Handbuch ist nur die Erg„nzung zum Assembler-Handbuch. Im As- sembler-Handbuch werden allgemeine Erkl„rungen zum Assembler und zu den allen Versionen gemeinsamen Eigenschaften gegeben. Dieser Assembler wird auch fr andere als dem hier beschriebenen Pro- zessor angeboten. N„heres dazu steht ebenfalls im Assembler-Handbuch. Der untersttzte Mikroprozessor: -------------------------------- ASM48 ist ein Assembler fr die Single-Chip-Mikrocontroller-Familie MCS48, die u. a. von der Firma Valvo gefertigt wird. Mitglieder dieser Familie sind die Mikrocomputer 8021, 8022, 8035L, 8039, 8048, 8049 und 8748. Chips dieser Familie sind aufgrund ihres geringen Preises und ihrer einfachen Einsatzm”glichkeiten sehr weit verbreitet. Auf dem Chip sind neben der 8-Bit-CPU u. a. noch RAM, mehrere Ports, 8-Bit-Timer/Counter und Taktoszillator enthalten. Beim Typ 8022 ist aužerdem ein 8-Bit- Analog-Digital-Umsetzer mit zwei Eing„ngen integriert. Auf den Mikrocontroller selbst kann in diesem Benutzerhandbuch nicht eingegangen werden. Daher wird an dieser Stelle auf die einschl„gig erh„ltliche Literatur verwiesen. Zeichensatz: ------------ Folgende Sonderzeichen sind zus„tzlich zu den bestehenden definiert: # zeigt direkte Datenparameter an @ zeigt indirekte Adressierung ber R0 oder R1 an Prozessor-Befehle: ------------------ Die Befehle des Prozessors werden durch ASM48 in Code bersetzt. Zu einem vollst„ndigen Befehl geh”rt das Mnemonic und eventuelle Para- meter. Die Syntax wurde entsprechend der erh„ltlichen Literatur imple- mentiert. Dort k”nnen auch die Details nachgelesen werden. Folgende Befehle sind implementiert: ADD, ADDC, ANL, ORL, XRL, INC, DEC, CLR, CPL, DA, SWAP, RL, RLC, RR, RRC, IN, OUTL, INS, MOVD, ANLD, ORLD, JMP, JMPP, DJNZ, JC, JNC, JZ, JNZ, JT0, JNT0, JT1, JNT1, JF0, JF1, JTF, JNI, JB0, JB1, JB2, JB3, JB4, JB5, JB6, JB7, CALL, RET, RETR, MOV, XCH, XCHD, MOVX, MOVP, MOVP3, STRT, STOP, EN, DIS, SEL, ENT0, NOP, RAD und RETI. Pseudo-Befehle: --------------- Im Gegensatz zu Prozessor-Befehlen dienen Pseudo-Befehle (Direktiven) zur Steuerung des Assemblierungsvorgangs. Speziell fr die Prozessor- familie MCS48 wurden weitere Pseudobefehle hinzugefgt. PROC processor (select processor) Dieser Befehl gibt die prozessorspezifischen Befehle fr die Typen- gruppen 8048, 8021 und 8022 frei. Wenn dies nicht geschieht, erzeugen die fr spezielle Typen reservierten Befehle Fehlermeldungen, werden aber sonst korrekt bersetzt. Als Parameter sind nur die Werte 8021, 8022 und 8048 erlaubt. Standard- einstellung ist 8048. MB membank (select memory bank) MB setzt das interne Speicherbank-Bit, das zur šberprfung der Sprung- befehle JMP und CALL dient. Dieses Bit wird auch durch die Befehle "SEL MB0" und "SEL MB1" gesetzt. Die Prozessorfamilie MCS48 kann nur zweimal 2 KByte Programmspeicher adressieren. Zwischen beiden Bl”cken muž mit "JMP"- oder "CALL"-Befeh- len gesprungen werden. Je nach gesetztem MB-Bit wird dabei die erste oder die zweite Speicherbank angesprungen. Operanden: ---------- Folgende Register-, Flag- und Portbezeichnungen sind reserviert: A, C, F0, F1, PSW, R0, R1, R2, R3, R4, R5, R6, R7, P0, P1, P2, P3, P4, P5, P6, P7, BUS, T, CNT, TCNT, TCNTI, I, RB0, RB1, MB0, MB1, AN0, AN1 und CLK. Diese Namen k”nnen daher nicht fr Symbole verwendet werden. Der Wert der aktuellen Codeadresse ist ber die symbolische Konstante "$" erh„ltlich. Das sonst bliche Zeichen "*" kann zur Verwechslung mit dem Multiplikationszeichen fhren. Fehlermeldungen: ---------------- Zus„tzlich zu den im Assembler-Handbuch aufgelisteten Fehlermeldungen k”nnen noch die folgenden Meldungen auftreten. Hier steht kein Register/Port/Flag-Name. Dies ist ein falsches Register/Port/Flag. Fehler im Parameter. Der Prozessormodus ist falsch. Es fehlt ein Nummernzeichen (immediate data). Es fehlt ein @-Zeichen (indirect addressing). Das Sprungziel ist aužer Reichweite.