Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 128
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 69, Antworten: 6
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19.12.2011, 19:42   #76 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Zitat:
Zitat von p. specht Beitrag anzeigen
Durch Nutzung der API lässt sich die Sache stark vereinfachen:
Folgendes "Hello 64bit-World!"-Programm von der JWasm-Seite, (meine Quelle hier), lässt sich mit JWASM erfolgreich compilieren und anschließend mit link.exe aus dem masm64-Paket linken (bei mir nur, solange das in dessen \BIN Verzeichnis geschieht):

Mit JWasm 64 Bit kannst du doch ganz normal invoke benutzen. Ein Auszug von mir:

Code:
      invoke OpenClipboard,NULL
      .if rax
        invoke EmptyClipboard
        invoke GlobalAlloc,GMEM_MOVEABLE or GMEM_ZEROINIT,SIZEOF gesamt
        .if rax
          mov hglb, rax
          invoke GlobalLock,hglb
          invoke lstrcat,rax,addr gesamt
          invoke GlobalUnlock,hglb
          invoke SetClipboardData,CF_TEXT,hglb
          .if eax!=0
            invoke MessageBox,0, addr meldung,addr infos,MB_OK
          .endif
        .endif
        invoke CloseClipboard
      .endif
Quäl dich nicht unnötig.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 19.12.2011, 19:50   #77 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

@ p. specht
Die Änderungen bezüglich der Register betrifft ja nur ASM-Programmierer, in
Hochsprachen wie XProfan juckt uns das nicht. Wichtiger wäre z.B. die
Sache mit dem Alignment der Stukturen, weil da müssen sehr viele Angepaßt
werden.
__________________
Gruß Thomas

Wenn mir früher jemand gesagt hätte, ich würde
freiwillig eine Wanze mit mir herum tragen und sie
auch noch selbst aufladen, hätte ich laut gelacht.

Heute habe ich ein Smartphone.


http://realsource.de
ts-soft ist offline   Mit Zitat antworten
Alt 19.12.2011, 19:54   #78 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

@frank: Aha, danke für die Profi-Abkürzungen! JWasm scheint da einfacher zu handhaben als masm64 - allerdings frage ich mich, ob man damit echte 64bit-DLLs erstellen kann (angesichts der obgenannten Prolog/Epilog etc etc Notwendigkeiten)?
@ts: Naja, wenn wir je ein XProfan64 sehen werden, werden einige auch wieder direkte API-Aufrufe machen wollen - zugegeben, das geht mich nun wirklich nix an. Mir gings eigentlich nur um ein allgemeines Verständnis, was daran eigentlich so besonders sein soll.

P.S.: Das Hello 64bit-World-Programm gibts auch für Konsole:
Code:
;ml64  Consol_1.asm /link /subsystem:console /entry:main
includelib ..\lib\kernel32.lib   ; we use the lib that comes with sdk/wdk

extrn __imp_GetStdHandle:proc
extrn __imp_WriteFile:proc

.CODE
main PROC
   mov rax, 00646c726f572034h   ; dlroW 4
   push rax
   mov rax, 3678206f6c6c6548h   ; 6x olleH
   push rax
   mov rbx, rsp   
   sub rsp, 8
   mov rdi, rsp

   sub rsp, 020h
   mov rcx, -11        ; STD_OUTPUT
   call qword ptr __imp_GetStdHandle
   mov rcx, rax
   mov  r9, rdi
   mov r8d, 16
   
   mov rdx, rbx
   call qword ptr __imp_WriteFile
   add rsp, 38h
   ret
main ENDP
END
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3

Geändert von p. specht (19.12.2011 um 20:17 Uhr)
p. specht ist gerade online   Mit Zitat antworten
Alt 19.12.2011, 20:19   #79 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Wie gut, dass es auch FreePascal gibt, und das sogar für 64 Bit! Die bisherige 64-Bit-TestVersion ist in FreePascal kompiliert!

Gruß
Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c
AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c


http://www.xprofan.de
RGH ist offline   Mit Zitat antworten
Alt 19.12.2011, 20:40   #80 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Zitat:
@frank: Aha, danke für die Profi-Abkürzungen! JWasm scheint da einfacher zu handhaben als masm64 - allerdings frage ich mich, ob man damit echte 64bit-DLLs erstellen kann (angesichts der obgenannten Prolog/Epilog etc etc Notwendigkeiten)?
Natürlich, kein Problem. Bei dem JWasm-Quellcodes findest du auch ein Grundgerüst dafür.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 19.12.2011, 20:42   #81 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Zitat:
Zitat von RGH Beitrag anzeigen
Wie gut, dass es auch FreePascal gibt, und das sogar für 64 Bit! Die bisherige 64-Bit-TestVersion ist in FreePascal kompiliert!

Gruß
Roland
War die nicht 30% langsamer?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 19.12.2011, 20:53   #82 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

Vielleicht ist ja das Pascal selbst langsamer? "The Free Pascal Compiler now can generate byte code for a Java Virtual Machine." - wenn so ein Ding erst mal Zwischencode erzeugen muß, ...

P.S.: Gerade wieder über Agner Fogg´s Seite gestolpert - immer wieder lesenswert!
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3

Geändert von p. specht (20.12.2011 um 01:28 Uhr)
p. specht ist gerade online   Mit Zitat antworten
Alt 20.12.2011, 07:05   #83 (Direktlink)
Ist öfter hier
 
Registriert seit: 12.04.2009
Beiträge: 52
Standard

Den 64-Bit Interpreter habe ich auch schon mal
getestet. Danke an Roland.
Sieht soweit schon mal gut aus.
Schön wäre es noch, wenn man den aus einer
IDE aus aufrufen könnte.
Oder klappt das, wenn man eine 64-Bit Anwendung
aus einer 32 Bit Anwendung aufruft ?
Dann könnte man ja den Quellcode von
xProfed verwenden.
H.Brill ist offline   Mit Zitat antworten
Alt 20.12.2011, 09:32   #84 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Hallo,

ja, man kann auch 64-Bit-Exebn aus einem 32-Bit-Programm aufrufen, aber runder läuft es natürlich aus einer 64-Bit-IDE. TS-SOFT hat eine erstellt, die ich auch für meine Tests nutze:

X-ProfPad 32|64 (Entwicklungsumgebung von ts-soft)

Gruß
Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c
AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c


http://www.xprofan.de
RGH ist offline   Mit Zitat antworten
Alt 20.12.2011, 13:36   #85 (Direktlink)
Ist öfter hier
 
Registriert seit: 12.04.2009
Beiträge: 52
Standard

Danke, werde mal die IDE von ts-soft austesten.
H.Brill ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 05.05.2012, 22:04   #86 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Wie groß wird bei einem 64-Bit-XProfan eigentlich z.B. eine Variable "handle%" sein? 16 oder 64 Bit groß?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 05.05.2012, 22:28   #87 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von Frabbing Beitrag anzeigen
Wie groß wird bei einem 64-Bit-XProfan eigentlich z.B. eine Variable "handle%" sein? 16 oder 64 Bit groß?
Wie der Variablentyp heißen wird, weiß ich natürlich nicht, aber ein
Handle, genauso wie ein Pointer, kann nur 64-Bittig sein, da kann
Roland wohl nichts dran ändern
__________________
Gruß Thomas

Wenn mir früher jemand gesagt hätte, ich würde
freiwillig eine Wanze mit mir herum tragen und sie
auch noch selbst aufladen, hätte ich laut gelacht.

Heute habe ich ein Smartphone.


http://realsource.de
ts-soft ist offline   Mit Zitat antworten
Alt 05.05.2012, 22:41   #88 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

"hande%" ist augenblicklich (intern) 32 Bit groß, obwohl es eine 16-Bit-Variable ist. Da liegt der Verdacht nahe, dass ein Integer in einer 64-Bit-Exe dann 64 Bit groß wäre, was andere Sprachen ja auch so handhaben. Wird es so sein, Roland?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 06.05.2012, 14:40   #89 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Roland?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 06.05.2012, 16:03   #90 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
Standard

Was führt Dich zu der Annahme, daß handle% eine 16-Bit-Variable sei? Das war mal so unter 16 Bit und die ersten 32-Bit-Profanversionen hatten das so weiter beibehalten. Inzwischen ist handle% = handle&, also beides 32-bit.
Code:
var handle% = 2147483638
WhileLoop 16
  Inc handle%
  Print handle%
EndWhile
WaitInput
Würde bei einer 16-Bit-Variablen was ganz Anderes auf den Schirm bringen. Interessant ist wohl eher, ob ein Handle in der Variablen handle% dann noch funktioniert oder ob da Codeanpassungen notwendig sind.

Gruß Volkmar
Volkmar ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
64 Bit - XProfan RGH XProfan 15 04.08.2011 06:45
Bug in XProfan X2 Jac de Lad Anregungen & Bugreports 4 22.05.2011 17:56
XProfan X3 Jac de Lad Anregungen & Bugreports 7 19.05.2011 23:46
XProfan-Lehrbuch und XProfan-Manager Dietmar Horn Helfer & Tools 3 02.01.2010 13:06
XProfan Frabbing XProfan-Stammtisch 54 26.03.2009 18:15



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:06 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2