www.wikidata.de-de.nina.az
Der Turbo Assembler TASM ist ein Assembler fur x86 Prozessoren auf dem Betriebssystem MS DOS Er wurde 1989 von Borland als Bestandteil von Turbo C 2 0 vorgestellt war aber auch als separates Paket zusammen mit dem Turbo Linker erhaltlich Zur Unterstutzung des Programmierers war zuerst als separates Produkt und spater im Paket mit dem TASM der Turbo Debugger von Borland erhaltlich Die letzte veroffentlichte Version 5 unterstutzte auch Windows 95 und NT und Prozessoren bis zum Pentium Turbo AssemblerBasisdatenEntwickler BorlandErscheinungsjahr 1989Aktuelle Version 5 0Betriebssystem DOS Microsoft WindowsKategorie AssemblerLizenz proprietarProduktseite von Turbo Assembler Memento vom 23 Oktober 2010 im Internet Archive Der Microsoft Macro Assembler war zum Erscheinungszeitpunkt des Turbo Assemblers der vorherrschende Assembler fur MS DOS 1 Der TASM und der MASM deckten danach zusammen den Bedarf fur Assembler fur IBM PCs und IBM PC ahnliche Systeme fast alleine ab 2 Dennoch gab es noch den A86 von Eric Isaacson und Chasm von David Whitman 3 Der TASM verspricht Unzulanglichkeiten des MASM zu beheben eine bessere Leistung und verwirklicht daruber hinaus auch eine flexiblere und erweiterte Funktionalitat z B in der Verwendung von Prozeduren Symbolen und einem machtigeren Befehlsvorrat Um Assemblerprogramme fur den MASM moglichst unverandert ubersetzen zu konnen verfugt der TASM uber verschiedene Modi die einen unterschiedlichen Grad der Kompatibilitat zum MASM einstellen Er stellt im Package neben den assemblerublichen Kernbestandteilen Assembler und Linker auch diverse Hilfs und Zusatzprogramme bereit Heute wird der TASM mangels Nachfrage nicht mehr weiterentwickelt 4 Inhaltsverzeichnis 1 Bestandteile des Verkaufspakets 2 Delphi 3 Modi 4 MASM Modus 4 1 MASM 5 1 5 Quirks Modus 6 Ideal Modus 6 1 Regeln fur Token 6 2 Global versus Lokal 7 Beispiel 8 Literatur 9 EinzelnachweiseBestandteile des Verkaufspakets BearbeitenDer Turbo Assembler war von Borland anfanglich nicht als eigenstandiges Produkt konzipiert Er war eher zur internen und externen Unterstutzung Bewerbung fur die Inline Programmierung ihrer damals erfolgreichen Produkte wie Turbo C oder Turbo Pascal angedacht Der TASM wurde nicht als eine Programmdatei sondern in vielen unabhangigen aber aufeinander abgestimmten Modulen ausgeliefert Ein eigener Texteditor ist wie bei allen Assemblern uberflussig und nicht vorhanden Er enthalt damit folgende Komponenten Im Kernbereich das unverzichtbare Paar aus Assemblierer TASM EXE und Linker TLINK EXE Daneben funf weitere Hilfsprogramme MAKE Eine Programmverwaltung zum automatisierten Assemblieren und Linken von Programmen TLIB Ein Programm zur einfacheren Verwaltung und Zusammenfuhrung von einzelnen Objektdateien OBJ GREP Ein Unix Linux identisches Programm zur Suche nach Textstrings in Dateien OBJXREF Ein Tool zur Erzeugung von Cross Referenzen fur Objektdateien TCREF Selbiges fur Quelldateien Delphi BearbeitenAktuelle Versionen von Delphi enthalten die neueste TASM Version 5 4 von 2010 weiterhin als Kommandozeilenversion TLink exe scheint jedoch nicht beizuliegen da Ziel der erzeugten Objektdateien ist sie in Delphi bzw C Builder Projekte einzubinden und nicht zu selbstandigen Programmen zu linken Modi BearbeitenDie verschiedenen Modi des TASM sind der Anpassung an und der Verbesserung des MASM geschuldet Sie garantieren dem Programmierer ein Arbeiten in gewohnten Strukturen und eine nahezu vollkommene Kompatibilitat Assemblierung von MASM Quellcode Zwischen den verschiedenen Modi kann innerhalb des Programms beliebig oft gewechselt werden MASM Modus BearbeitenIn diesem Modus verhalt sich TASM sehr ahnlich zum MASM ohne jedoch offensichtliche Fehler des MASM zu emulieren Dies ist die Standardeinstellung Dabei sind im Modus MASM die Bezeichnung ist hier etwas irrefuhrend die meisten Moglichkeiten von MASM 5 1 schon verwirklicht MASM 5 1 Bearbeiten Die Anweisung MASM 5 1 ermoglicht die im Detail etwas anderen Moglichkeiten der Version 5 1 des MASM fast vollstandig Folgende Fahigkeiten sind nur mit der expliziten Anweisung MASM 5 1 verfugbar Die Anweisungen SUBSTR CATSTR SIZESTR und INSTR Die Moglichkeit der Zeilenfortsetzung mit einem Backslash Eine alternative Syntax fur die Anweisung LOCAL Allerdings sind folgende Moglichkeiten nur bei gleichzeitiger Aktivierung von MASM 5 1 und QUIRKS Modus verfugbar Lokale mit definierte Labels auf die mit F und B zugegriffen werden kann Die Redefinition von Variablen in PROC Blocken dies betrifft auch Unterschiede in der Zusammenarbeit mit der Sprache C in Bezug auf PROC Bezeichnungen Quirks Modus BearbeitenIn diesem Modus wird der MASM vollstandig auch mit dessen bekanntem Fehlverhalten nachgebildet Einige Eigenschaften des MASM konnen unter Umstanden so problematisch sein dass sie selbst im MASM und MASM 5 1 Modus nicht implementiert wurden Um aber Programmierern bei Bedarf die Weiterverwendung dieser Eigenarten zu gestatten und eine vollstandige Kompatibilitat herzustellen wurde der Quirks Modus geschaffen Dieser Modus kann entweder in der Quelldatei durch die Anweisung QUIRKS oder bei der Assemblierung mit der Kommandozeilenoption QUIRKS aktiviert werden Ideal Modus BearbeitenDieser Modus enthalt TASM spezifische Erweiterungen und Anderungen zur MASM Syntax mit dem Ziel den Assembler Code ubersichtlicher und konsistenter gestalten zu konnen Borland verspricht mit dem IDEAL Modus die Ecken und Kanten der MASM Programmierung etwas zu glatten sowie eine bis zu 30 schnellere Ubersetzung Assemblierung 5 Die Moglichkeiten sind Erweiterungen oder Veranderungen von bereits unter dem MASM existierenden Moglichkeiten Es erfolgt eine strengere Uberprufung von Datentypen was eine Erkennung von Fehlern ermoglicht welche ohne diesen Modus erst zur Laufzeit festgestellt wurden Des Weiteren implementiert der Modus eine konsistentere und verstandlichere Bezeichnung von Operatoren und Schlusselworten Des Weiteren werden einige wenige neue Prinzipien und Befehle eingefuhrt Der TASM verwendet dabei eine neue Syntax welche von der des MASM allerdings nicht radikal abweicht Die Unterschiede sind im Einzelnen Regeln fur Token Bearbeiten Siehe auch Token Compilerbau Der Punkt darf nicht innerhalb einer Symbolbezeichnung verwendet werden sondern nur als Operator fur Strukturelemente oder in Gleitkommazahlen Deshalb fangen MASM Symbole welche mit einem Punkt beginnen im TASM entweder mit dem Prozentzeichen oder ohne Sonderzeichen am Anfang an oder sind umbenannt Also beispielsweise CREF anstatt CREFCONST anstatt CONST ERRIF2 anstatt ERR2Im IDEAL Modus ist die Verwendung eines Dezimalpunktes immer zwingend vorgeschrieben Eine Gleitkommazahl mit dem Wert 1 0e7 ware beispielsweise so darzustellen FKZ DT 1 0e7 Die im MASM und MASM Modus mogliche vereinfachte Darstellung der FormFKZ DT 1e7 ist nicht erlaubt Diese Strenge verhindert eine mogliche Fehlinterpretation des MASM welcher nach manchen Befehlen diesen Wert als Hexadezimalzahl 01E7 ubersetzen konnte Global versus Lokal Bearbeiten Strukturelemente werden im IDEAL Modus nicht global definiert und existieren nur innerhalb der jeweiligen Struktur Dies ermoglicht im Gegensatz zum MASM Modus die Verwendung zweier gleichbenannter Elemente innerhalb und ausserhalb einer Struktur bzw in zwei verschiedenen Strukturen So ware folgender Codeausschnitt mit der Verwendung des Elementes Artikel in zwei Strukturen sogar trotz des zusatzlich unterschiedlichen Datentyps DW DB erlaubt STRUC WikipediaEinsArtikel DW ENDSSTRUC WikipediaZweiArtikel DB ENDSBeispiel BearbeitenEin Turbo Assembler Programm das Frohe Weihnachten ausgibt p8086 model small dataseg mymessage DB Frohe Weihnachten 0 codeseg startupcode mov bx SEG mymessage mov es bx mov si OFFSET mymessage mov bx 0 fetchcharacter mov DL es si bx cmp DL 0 je ending mov ah 2 push bx push si push es int 21 h pop es pop si pop bx inc bx jmp fetchcharacter ending mov ah 04 ch mov al 0 int 21 h endLiteratur BearbeitenJorg Schieb Michael Tischer Das grosse Turbo Assembler Buch Data Becker 1990 2 leicht veranderte Auflage ISBN 3 89011 282 X Peter Monadjemi Turbo Assembler Das Buch fur den Einstieg Addison Wesley 1992 ISBN 3 89319 225 5 Ernst Wolfgang Dieterich Turbo Assembler R Oldenbourg Verlag 1993 Tom Swan Mastering Turbo Assembler Sams Publishing 1995 ISBN 0 672 30526 7 Joachim Rohde Marcus Roming Assembler Grundlagen der Programmierung mitp Verlag 2006 2 Auflage ISBN 3 8266 1469 0Einzelnachweise Bearbeiten DOS International 06 1989 S 50 MASM 5 1 oder TASM 1 0 Die Qual der Wahl V Rajaraman S Rajasekaran T Radhakrishnan Essentials of Assembly Language Programming for the IBM PC 2004 S 5 DOS International 06 1989 S 56 Assembler aus dem Shareware Fundus A86 und Chasm Trutz Eyke Podschun Das Assemblerbuch Grundlagen Einfuhrung und Hochsprachenoptimierung Addison Wesley 2002 ISBN 3 8273 1929 3 S 557 Borland Turbo Assembler Benutzerhandbuch Band 1 in der deutschen Ubersetzung von Alois Stocklauser 2 Auflage Heimsoeth software Munchen 1988 S 579 Abgerufen von https de wikipedia org w index php title Turbo Assembler amp oldid 239148437