Startseite
Amiforce 2.1     Amiforce-News Amiforce-News Amiforce-Forum Amiforce-Forum Amiforce-Chat/IRC-Chat Amiforce-Chat/IRC-Chat Gästebuch Gästebuch Kontakt mit dem Webmaster aufnehmen Kontakt mit dem Webmaster aufnehmen

Amiblitz3
Amiblitz2(alt)
Storm Wizard
Abakus-Design
Helpguide
Toolsguide
Tipps&Tricks
Gamesfun
Links
Download
Musik

Bugfixes am Forum
Subdomains aktiviert
Counterscript entfernt
  Navigation:   Index /  Amiblitz /  Amiblitz Lesematerial /  Ab2 Referenzhandbuch (index) /  Ab2 Referenzhandbuch (Kapitel 19) / 

Referenzhandbuch



Referenzhandbuch

Kapitel 19


Kapitel 18 Inhaltsverzeichnis Kapitel 20

Assembler


Dieses Kapitel befasst sich mit der Übernahme von Assemblercode in AB2.
Sollten Sie sich hiermit nicht beschäftigen wollen, können Sie dieses Kapitel übergehen.

Um Assemblercode zu übernehmen, ist es nicht nötig, daß Sie auch in Assembler programmieren können. Sie können fertigen Code in Ihre Programme einbauen. Dies ist mit AB2 recht einfach. Alle 68000er Mnemonics werden von AB2 erkannt und bei Programmausführung mitcompiliert. Ebenfalls ist ein Mischen von Basic und Assembler möglich. Auf den Disketten finden Sie einen einfachen Assembler, mit dem Sie Ihren eigenen Code schreiben können. Compiliert wird dieser dann mit AB2. Wenn Sie die Fehlerüberwachung eingeschaltet haben, werden Ihnen evtl. auftretende Fehler gemeldet.

Möchten Sie Basic und Assembler gemischt benutzen, beachten Sie bitte folgendes:
Die Adressregister A4-A6 müssen bei einigen Assemblerroutinen zwischengespeichert und restauriert werden. AB2 benutzt A5 für globale und A4 für lokale Variablen, A6 wird oft für den Datenaustausch genutzt.

Der AmiBlitz2-Assembler hat einige Grenzen:

  • Die absolute Kurzadressierung ist nicht möglich

  • Short Branches (Kurzverzweigungen) sind nicht möglich

  • Einige Assemblerausdrücke müssen in Schweifklammern ("{" und "}") gesetzt werden, um eine vorrangige Ausführung zu erreichen.

Ansonsten ist der Assembler mit kommerziellen Produkten identisch.

  • Dc
  • Dcb
  • Ds
  • Even
  • GetReg
  • PutReg
  • SysJsr
  • TokeJsr
  • ALibJsr
  • BLibJsr



  • Index

    Befehl: DC

    Syntax: DC [.Size] Data[,Data...]


    DC steht für "define constant" und wird benutzt, um Datenfelder für das Assemblerprogramm einzurichten.



    Index

    Befehl: DCB

    Syntax: DCB [.Size] Repeats, Data


    Steht für "define constant block". DCB erlaubt das Einfügen von wiederholt vorkommenden Serien des gleichen Wertes in das Assemblerprogramm.

    Repeats gibt die Anzahl der Wiederholungen an.



    Index

    Befehl: DS

    Syntax: DS [.Size] Länge


    Steht für "define storage". Es ist ein einfacher Weg, um einen Datenfeldbereich einzurichten.



    Index

    Befehl: Even

    Syntax: Even


    Stellt sicher, daß die DC-, DCB- und DS-Befehle an eine gerade Adresse geschrieben werden.



    Index

    Befehl: GetReg

    Syntax: GetReg 68000 Reg, Ausdruck


    GetReg erlaubt die Übergabe eines Basicausdruckergebnisses in ein 68000er-Register. Das Ergebnis muß zuvor in ein Langwort gewandelt werden, bevor es in das Register übergeben werden kann.

    GetReg übergibt nur in eines der 8 Datenregister (d0-d7).

    GetReg benutzt den Stack, um das Register zwischenzuspeichern.



    Index

    Befehl: PutReg

    Syntax: PutReg 68000 Reg, Variable


    PutReg ermöglicht die Übergabe eines Wertes aus den 68000er-Datenregistern (d0-d7/a0-a7) in eine BASIC-Variable. Ist die ausgewählte Variable ein String, ein Langwort, eine Fließkommazahl oder ein Quickwert, dann werden alle 4 Bytes aus dem Register übergeben. Ist die ausgewählte Variable ein Wordwert oder ein Byte, werden nur die relevanten Lowbytes übergeben.



    Index

    Befehl: SysJsr

    Syntax: SysJst Routine


    SysJsr erlaubt den Aufruf einer der Blitz2-Systemroutinen. Routine gibt die Routinennummer der aufzurufenden Routine an.



    Index

    Befehl: TokeJsr

    Syntax: TokeJsr Token[,Form]


    TokeJsr erlaubt den Aufruf von Routinen, die auf einer Blitz2-Library basieren. Token gibt die Tokennummer oder den aktuellen Tokennamen an. Form gibt die Form des Token wieder.



    Index

    Befehl: ALibJsr

    Syntax: ALibJsr Token[,Form]


    ALibJsr wird nur verwendet, wenn eine selbstgeschriebene Library benutzt werden soll. ALibJsr erlaubt deren Aufruf.

    (Hier: Amiga-Library)



    Index

    Befehl: BLibJsr

    Syntax: BLibJsr Token[,Form]


    BLibJsr wird nur verwendet, wenn eine selbstgeschriebene Library benutzt werden soll. BLibJsr erlaubt deren Aufruf.

    (Hier: Blitz2-Library)






    Impressum
    Copyright © 2001-2007 by Cj-Stroker. Alle Rechte vorbehalten (Legal Info)
    AMIGA und zugehörige Logos sind eingetragene Warenzeichen von Amiga, Inc.