amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Brauche mal Hilfe in Modula2 [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

19.08.2015, 01:47 Uhr

Amiga
Posts: 10
Nutzer
Ich würde gerne wissen wie die INLINE Anweisungen in die Assebler Anweisung umgesetzt wird. z.B. INLINE(0000H,0000H,00FFH,0f00H) ; INLINE(0380H,0E00H,05F0H,7F80H) , INLINE(1980H,30C0H,33C0H,4860H) ; INLINE(etc)

ASSEMBLE ????

Ferner würde ich gerne wissen wo ab Compiler Version 4 die Anweisung TermProcedure aus Arts zu finden ist oder was für eine Anweisung diese ersetzt. ?(

[ - Antworten - Zitieren - Direktlink - ]

19.08.2015, 09:57 Uhr

thomas
Posts: 7649
Nutzer
Ich kenne Modula nicht, aber allein von Hinsehen würde ich vermuten, dass da einfach die angegebenen Hex-Werte in den Speicher geschrieben werden.

H steht für Hexadezimal und die vier Stellen davor sind die Zahl in Hexadezimalschreibweise. Vier Stellen sind 16 Bits bzw. 2 Bytes.

Wenn das Assembler bzw. Maschinensprache sein soll, müsste man die entsprechenden Opcodes in einem 68000-Handbuch nachschlagen. Ich kann mir aber nicht vorstellen, dass das 00 00 00 00 00 ff am Anfang Maschinensprache ist. Das sind sicher irgendwelche Daten, z.B. ein Bild.

Ansonsten könnte man es so in Assembler schreiben:

dc.w $0000,$0000,$00FF,$0f00
dc.w $0380,$0E00,$05F0,$7F80
dc.w $1980,$30C0,$33C0,$4860
dc.w etc

Das hätte den gleichen Effekt.

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

19.08.2015, 21:57 Uhr

NoImag
Posts: 1036
Nutzer
@Amiga:

Laut Handbuch ist folgendes zu tun:

INLINE durch ASSEMBLE ersetzen (auch in der IMPORT Anweisung)
zu Beginn DC.W setzen (Großschreibung wichtig!)
vor der abschließenden Klammer ein END einfügen
aus xxxxH $xxxx machen

sofern es sich um Daten handelt.

Wenn es sich um Code handelt, dann brauchst Du den ursprünglichen Assembler-Code, sonst geht es schief. Du musst z.B. an Register-Rettung denken, alle Sprünge dem Compiler bekannt machen. Außerdem wird vieles jetzt anders adressiert und die Laufzeitumgebung ist anders.

Ich habe leider das Handbuch zur Version 3 nicht mehr, daher kann ich Dir zu TermProcedure() nichts sagen. Was macht TermProcedure() denn?

Tschüß

[ - Antworten - Zitieren - Direktlink - ]

20.08.2015, 12:39 Uhr

Polluks
Posts: 89
Nutzer
@NoImag:
TermProcedure() definiert einen Destruktor ähnlich atexit()

--
Pegasos II G4 (MorphOS 3.9), Zalman M220W
PowerBook 5,8 (MorphOS 3.9)

[ - Antworten - Zitieren - Direktlink - ]

21.08.2015, 20:00 Uhr

NoImag
Posts: 1036
Nutzer
@Polluks:

Dafür gibt es jetzt den CLOSE-Abschnitt in jedem Modul. Genauso wie der Initialisierungsteil eines jeden Moduls zu Programmbeginn durchlaufen wird, wird der CLOSE-Teil jedes Moduls am Programmende durchlaufen.

Tschüß

[ - Antworten - Zitieren - Direktlink - ]

22.08.2015, 03:24 Uhr

Amiga
Posts: 10
Nutzer
Danke für die Antworten! :D

[ - Antworten - Zitieren - Direktlink - ]

06.12.2015, 12:45 Uhr

Markus_Bieler
Posts: 331
Nutzer
@Amiga:

Free M2Amiga könnte da auch weiterhelfen.

Markus
--
Bild: http://www.traumstation.ch/bilder/A1kOrg_Che.jpg

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Brauche mal Hilfe in Modula2 [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1997-2019 by amiga-news.de - alle Rechte vorbehalten.
.