Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 16.07.2014, 18:19 Titel: call _fb_GfxScreen@20 und weitere Aufrufe? |
|
|
Hallo, guten Tag.
Wo kann ich bitte weitere solche Aufrufe finden, für Grafik?:
call _fb_GfxScreen@20
Danke.
Gruss
Code: |
#Include "fbgfx.bi"
'SCREEN 18,32
Asm
push 0 '5. Parameter optional
push 0 '4. Parameter optional
push 0 '3. Parameter optional
push 32 '2. Parameter Farbbits
push 18 '1. Parameter Screenmodus
call _fb_GfxScreen@20
End Asm
Print "asm-screen 18,32"
Sleep
|
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 16.07.2014, 19:41 Titel: |
|
|
Ich frage mich, wozu man FB-interne Funktionen über ASM-call aufrufen wollen könnte. Aber mehr solche Funktionen finden sich ganz sicher im Quelltext vom fbc. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.07.2014, 23:11 Titel: |
|
|
Es bringt dir übrigens genau 0 Vorteile, FB-Funktionsaufrufe durch ASM-Funktionsaufrufe zu ersetzen, sondern nur Nachteile, denn die Typsicherheit geht dabei verloren. Wenn du trotzdem wissen willst, wie ein beliebiger Funktionsaufruf aussieht, kannst du dir einfach den von FB erzeugten Assembler-Code ausgeben lassen. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 16.07.2014, 23:13 Titel: |
|
|
Am Besten gar nicht. Diese Funktion wird intern von FB verwendet und kann sich jederzeit ändern. Da du obendrein sinnloserweise noch Inline-Assembler verwendest um diese Funktion aufzurufen wird so eine Änderung in den meisten Fällen zu Programmabstürzen führen, die schwer zu finden und ohne jeglichen (Warn)Hinweis vom Compiler akzeptiert werden.
Für das obig angeführten Code existiert der FreeBasic Befehl SCREEN, der in solchem Code resultiert, darüber hinaus aber beim Compilieren auf Korrektheit der Parameter(typen) usw. überprüft wird. Der SCREEN Befehl bietet dir also alles was du mit deinem obigen Assembler-Code machen kannst und vieles darüber hinaus, weswegen es sehr unvernünftig ist, hierbei den SCREEN Befehl durch obigen Code zu ersetzen.
Dasselbe gilt auch für andere FB-interne Funktionen.
//edit: Saga war offensichtlich etwas schneller. Die grundsätzliche Aussage deckt sich allerdings weitestgehend. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 17.07.2014, 08:26 Titel: |
|
|
Jup danke.
Gruss |
|
Nach oben |
|
 |
|