amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Brauche mal Hilfe in Modula2 [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2015-08-19, 01:47 h

Amiga
Posts: 10
User
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. ?(

[ - Answer - Quote - Direct link - ]

2015-08-19, 09:57 h

thomas
Posts: 7717
User
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/

[ - Answer - Quote - Direct link - ]

2015-08-19, 21:57 h

NoImag
Posts: 1050
User
@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üß

[ - Answer - Quote - Direct link - ]

2015-08-20, 12:39 h

Polluks
Posts: 105
User
@NoImag:
TermProcedure() definiert einen Destruktor ähnlich atexit()

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

[ - Answer - Quote - Direct link - ]

2015-08-21, 20:00 h

NoImag
Posts: 1050
User
@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üß

[ - Answer - Quote - Direct link - ]

2015-08-22, 03:24 h

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

[ - Answer - Quote - Direct link - ]

2015-12-06, 12:45 h

Markus_Bieler
Posts: 334
User
@Amiga:

Free M2Amiga könnte da auch weiterhelfen.

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

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Brauche mal Hilfe in Modula2 [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.