Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Multiprozessing mag keinen Inline-Assembler
Autor: Arndt Lindner (---.dip0.t-ipconnect.de)
Datum:   08.10.18 19:47

Habe ich bereits gemacht und es funktioniert jetzt. Dabei musste ich dafür sorgen, dass in der Includedatei mit der komplexen Arithmetik die Assemblerroutine jeweils einen eigenen Namen bekommt. Es sieht jetzt folgendermaßen aus:
Includeroutine:
 $IFDEF var0
 ASM "Mul640", 2
 $ENDIF
 $IFDEF var1
 ASM "Mul641", 2
 $ENDIF
 $IFDEF var2
 ASM "Mul642", 2
 $ENDIF
 $IFDEF var3
 ASM "Mul643", 2
 $ENDIF
 $IFDEF var4
 ASM "Mul644", 2
 $ENDIF
    JMP Start
 ...
 ENDASM
 
 // eigentliche Multiplikationsroutine
 proc c_mul
 parameters memory zx1,zx2
 declare pointer P
 $IFDEF var0
   P = Mul640(zx1,zx2)
 $ENDIF
 $IFDEF var1
   P = Mul641(zx1,zx2)
 $ENDIF
 $IFDEF var2
   P = Mul642(zx1,zx2)
 $ENDIF
 $IFDEF var3
   P = Mul643(zx1,zx2)
 $ENDIF
 $IFDEF var4
   P = Mul644(zx1,zx2)
 $ENDIF
    return c_build_ab(Float(P,0),Float(p,8))
 endproc
 

Damit kann ich in allen 5 Programmen (ein Hauptprogramm und bis zu vier parallele Berechnungsprogramme) die Funktion mit "c-mul(p1,p2)" aufrufen. Ich muss nur in jedem der Programme die Variable "varx" unterschiedlich mit $DEFINE festlegen. Im Endeffekt wird für jedes Programm eine anderer Includedatei bei der Compilierung erzeugt.
Der Umweg über varx vermeidet jegliche Pflege unterschiedlicher Includedateien bzw. Verwendung unterschiedlicher Funktionsnamen in der Umgebung der Bibliothek.

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Multiprozessing mag keinen Inline-Assembler  Neu
Arndt Lindner 06.10.18 17:09 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Michael Wodrich 07.10.18 20:34 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Heinz Brill 08.10.18 07:54 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Arndt Lindner 08.10.18 10:50 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Heinz Brill 08.10.18 14:04 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Arndt Lindner 08.10.18 19:47 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Heinz Brill 09.10.18 16:37 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Arndt Lindner 09.10.18 19:11 
 Re: Multiprozessing mag keinen Inline-Assembler  Neu
Heinz Brill 09.10.18 19:46 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org