Italia
Assembler Foro

Profanbefehle in einer ASM-Schleife verwenden

 
Ich möchte eine ASM-Schleife benutzen und darin die original Profanbefehle reinsetzen.
Wie geht so etwas?

mfg
peter
 
28.08.2008  
 




Frank
Abbing
Hm? Profan-Befehle im Assemblerteil? Das geht naturalmente nicht.
 
28.08.2008  
 




Sebastian
Sprenger
Naja, du könntest vielleicht die XProfan-Befehle in un Prozedur packen, deren Adresse circa die Funktion ProcAddr  ermitteln, an die Assemberroutine trasferimento und sie dort circa den Opcode call  aufrufen - aber wieso sollte die Schleife selbst in Assembler vorliegen und der Schleifenkörper in XProfan?
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
28.08.2008  
 



Warum funktionieren denn die Befehle von Windows mit dem Vorbefehl "Invoke"?

mfg
peter
 
29.08.2008  
 



Kannst du mal eine kleine Demo von deinem Vorschlag mit Procaddr herstellen.

Danke.

mfg
peter
 
29.08.2008  
 




Frank
Abbing
Von der Methode rate ich dringend ab, du versuchst in ein Sackgasse zu flüchten. Momentan ist ProcAddr zu unsicher und kann zu schlimmen Fehlern führen, selbst unter XProfan 11. Gerade, wenn du Profanfunktionen von Assembler aus starten willst.

"Invoke" ist ein Call zu einer Dll-Funktion oder zu einem Speicherbereich. Da XProfan nicht nativ arbeitet, kannst du folglich auch keine native Routine aufrufen. ProcAddr versucht dem Abhilfe zu leisten, versagt aber in bestimmten Situationen.
 
29.08.2008  
 



Frank Abbing
Von der Methode rate ich dringend ab, du versuchst in ein Sackgasse zu flüchten. Momentan ist ProcAddr zu unsicher und kann zu schlimmen Fehlern führen, selbst unter XProfan 11. Gerade, wenn du Profanfunktionen von Assembler aus starten willst.


Hmpf, das Problem wird einfach nicht verstanden - das ist nicht "unsicher". ProcAddr darf nur dann nicht verwendet werden wenn ausserhalb des eigentlichen Ablaufthreads ein Call abgesetzt würde. Schreibt man jedoch eine ASM-Funktion welche eine mit Procaddr bezogene Funktion aufruft und der eigentliche Ablauf des XProfanprogrammes wegen des Inline-ASM-Aufrufes sowieso geblockt ist, dann ist das sogar eine gute Möglichkeit welche ich ebenso oft nutze - und das funktioniert auch sehr sehr zuverlässig.

Ein Profanbefehl in einer ASM Schleife ist also solange kein Problem, wie die ASM-Schleife auch im selben Thread passiert und/oder nicht z.B. circa Timer injeziert wird.
 
29.08.2008  
 




Frank
Abbing
Peter, sollten also unvorhergesehene Dinge bei der Ausführung deine Programmi passieren, wende dich bitte direkt an den guten, alten iF. Ich bin sowas von raus aus der Sache...
 
29.08.2008  
 



Ein Call auf eine mit ProcAddr-bezogene XProfanfunktion darf nur geschehen wenn das XProfan grad "steht" - ist eigentlich ganz einfach.

Ein Call heraus aus einer Inlineasm-Funktion, die grade abgearbeitet wird, ist also unproblematisch. Diese Inlineasm-Funktion darf nur nicht in einem anderen Thread abgearbeitet werden da sichergestellt werden muss, dass das XProfanprogramm auch wirklich grad "steht". Deshalb ist auch ein Call per SetTimer-Api nicht zu nutzen, aber Roland wird sicher auch das noch hinbekommen.

Im Bezug auf Assembler ist Frank aber deutlicher Ansprechpartner da ich (im Vergleich zu Ihm) hiermit viel viel weniger programmiere, aber dieses spezielle Problem ist ja kein ASM-Problem.
 
29.08.2008  
 




Sebastian
Sprenger
Peter Bierbach
Kannst du mal eine kleine Demo von deinem Vorschlag mit Procaddr herstellen.

KompilierenMarkierenSeparieren
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
29.08.2008  
 



Und ein Returnwert liegt imho auch (korrekterweise) im eax-Register.
 
29.08.2008  
 



Jup, danke.

Haut sauber hin und ist ganz fix .

Danke.

mfg
peter
 
29.08.2008  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

15.098 Views

Untitledvor 0 min.
funkheld11.12.2022
p.specht04.06.2021
N.Art18.11.2020
iF24.09.2020
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie