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 > Spezielles

Spezielles Für die Bereiche API, Subclassing, Inline-Assembler, Prozesse, ect.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26915, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3326, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 312, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7643, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 23, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 58, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 146, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 71, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50944, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25.11.2011, 14:41   #1 (Direktlink)
Stammuser
 
Registriert seit: 21.04.2011
Ort: Hessen
Alter: 15
Beiträge: 327
Standard Gutes x86-Assembler-Tutorial?

Hallo,

kennt jemand von euch ein gutes x86-Assembler-Tutorial? Ich programmiere nämlich auf kleinen 8-Bit-Mikrocontrollern schon mit ASM (mit Erfolg) und wollte es auch mal auf 'nem PC versuchen.

Da auf einem PC natürlich alles anders ist als auf einem kleinen 8-Bit-Käfer, habe ich auch noch ein paar weitere Fragen:

1. Wenn ich mein Programm durch den Assembler jage, bekomme ich dann nur den nackten Maschinencode von meinem Assemblercode?
2. Welchen Assembler könnt ihr mir empfehlen?
3. Wenn ich das ganze dann im XProfan-Interpreter aufrufen will, kann ich das so machen?:
Code:
Declare ASMCode#
Dim ASMCode#, irgendwas
 
'Array befüllen...
 
@Call(Addr(ASMCode#))

Gruß
Jonathan
__________________
ASUS K50IJ Notebook --- Pentium T4500 2x 2,4GHz --- 4GB RAM --- 64GB m4 SSD --- Win 7 Home Premium 32-Bit --- XProfan X2.0b

Das Schönste am Programmieren ist immernoch die Fehlersuche

Dieser Beitrag besteht zu 100% aus Recycling-Bytes.
Jonathan ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 25.11.2011, 15:52   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Wenn du Assembler in XProfan verwenden willst, empfehle ich dir dringend meinen Inline-Assembler XPIA. Findest du auf meiner Webseite.

Zitat:
1. Wenn ich mein Programm durch den Assembler jage, bekomme ich dann nur den nackten Maschinencode von meinem Assemblercode?
2. Welchen Assembler könnt ihr mir empfehlen?
3. Wenn ich das ganze dann im XProfan-Interpreter aufrufen will, kann ich das so machen?:
Zu 1.: Ja, aber zusammen mit dem passenden Exe-Header (Dll oder Exe)
Du kannst den Assembler aber veranlassen die erstellten, nativen Bytes anzuzeigen/zu speichern
Zu 2.: Unbedingt JWasm, zusammen mit dem PoLinker. Der ist MASM32 kompatibel, kann aber auch 64-Bit Assembler produzieren.

Zu 3.: Ja, das geht mit Call. Wenn du allerdings API oder Variablen verwenden willst, wird es ziemlich kompliziert. Ohne ist problemlos möglich.

Mit XPIA hättest du den Vorteil, dass du deinen Assemblercode direkt in den XProfancode integrieren könntest, und trotzdem die komplette JWasm-Syntax nutzen kannst, inclusive Makros und API. Ausserdem erstellt er eine Dll aus dem Assemblercode, die du mit allen Sprachen verwenden kannst.
Ein Beispielcode:
Code:
$MAKE CLE

Declare x&,y&,z&,dauer&
Cls

x&=37
y&=999999

dauer&=&GetTickCount

AsmStart Funktionsname1(x&,y&)

  mov eax,0
  mov ebx,para1
  mov ecx,para2     ;ecx als Schleifen-Zähler einsetzen
  .while ecx!=0     ;Schleife so lange wiederholen, bis ecx gleich Null ist
    add eax,ebx
    dec ecx         ;Wert von ecx um eins subtrahieren
  .endw

  ;Diese Assemblerroutine macht das gleiche wie:
  ;
  ;x&=0
  ;Whileloop 999999
  ;  x&=x&+37
  ;EndWhile
  ;
  ;Eine Schleife, die eine Millionen mal einen Wert addiert
  ;Dauer: XProfan = 18 Sekunden / XPIA = 1 Millisekunde

AsmEnd (z&)

dauer&=&GetTickCount-dauer&

Print "Ich addierte 999999 mal 37 = "+Str$(z&)+", berechnet in "+Str$(dauer&)+" ms."
WaitInput
End
Eine Assembler-Schnellkurs hab ich selber mal geschrieben. du findest ihn hier: Deutscher Assembler-Crashkurs (32 Bit)
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 25.11.2011, 16:23   #3 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

der Crashkurs ist gut .
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 25.11.2011, 16:38   #4 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.079
Standard

Und danach (aber wirklich erst viel viel später!) wird das hier interessant:
Iczelions Win32Asm Tutorials (36 Beiträge) - auf Deutsch übersetzt von Joachim Rhode.

Gruss

P.S.: Den neuesten JWasm gibts hier.
Leider etwas veraltet ist dagegen das nachstehende Link zum Thema. In den Artikeln wird aber auf die Unterschiede, Stärken und Schwächen der einzelnen Freeware-Assembler besonders eingegangen.
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3

Geändert von p. specht (25.11.2011 um 16:55 Uhr)
p. specht ist offline   Mit Zitat antworten
Alt 25.11.2011, 17:33   #5 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von p. specht Beitrag anzeigen
Leider etwas veraltet ist dagegen das nachstehende Link zum Thema. In den Artikeln wird aber auf die Unterschiede, Stärken und Schwächen der einzelnen Freeware-Assembler besonders eingegangen.
Der wichtigste fehlt dort ganz
Flat Assembler ? Wikipedia
(der kann z.B. auch Linux oder sich selbst compilieren)
__________________
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
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 25.11.2011, 18:06   #6 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Er kann Linux kompilieren?
__________________
Gruß, Frank


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

Zitat:
Zitat von Frabbing Beitrag anzeigen
Er kann Linux kompilieren?
Oh, er kann Elf-Binaries für Linux oder Unix erstellen, meinte ich
__________________
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 25.11.2011, 19:47   #8 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Kann JWasm doch auch:
  • native support for output formats Intel OMF, MS Coff (32- and 64-bit), Elf (32-and 64-bit), Bin and DOS MZ.
  • precompiled JWasm binaries are available for DOS, Windows and Linux. For OS/2 and FreeBSD, makefiles are supplied.
__________________
Gruß, Frank


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

Zitat:
Zitat von Frabbing Beitrag anzeigen
Kann JWasm doch auch:
Hab ja auch nichts gegenteiliges Behauptet, dafür kenne ich den zu wenig.
Ich weiß, ist Dein LieblingsAssembler, weil er die steinalte Syntax von MASM
unterstützt . Für Einsteiger sollte das aber egal sein und FASM ist
wesentlich bekannter, deshalb mein Hinweis. Entscheiden muss er wohl selber.
__________________
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 25.11.2011, 20:40   #10 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Die tun sich alle (ausser vieleicht der antike NASM) von der Syntax her nicht viel - ist wirklich minimal. Masm32/JWasm hat aber High-Level-Syntax und ist für Umsteiger daher optimal geeignet. Und es gibt dafür sehr aktive Foren zum Austauschen, wenn auch nur englisch-sprachig. Die deutschen Foren taugen nicht viel.
__________________
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 25.11.2011, 20:51   #11 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

High-Level-Syntax kann FASM auch, das was Du vielleicht vermißt, dafür
gibt es Macros, sollten im Ergebnis sogar effektiver sein, als eingebaute
Funktionen.
Aber im Endeffekt ist es ziemlich egal, die nehmen sich nicht viel und ASM
ist für heutige PCs sowieso kein Werkzeug der ersten Wahl mehr.
Außer zur PIC-Programmierung sollte ASM nutzlos sein
__________________
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 25.11.2011, 21:11   #12 (Direktlink)
Stammuser
 
Registriert seit: 21.04.2011
Ort: Hessen
Alter: 15
Beiträge: 327
Standard

@Frabbing: Danke!!! Genau sowas habe ich gesucht

@Alle: Ich bevorzuge die Syntax von MASM - die bin ich schon von meinen 8-Bit-Käfern gewohnt


Gruß
Jonathan
__________________
ASUS K50IJ Notebook --- Pentium T4500 2x 2,4GHz --- 4GB RAM --- 64GB m4 SSD --- Win 7 Home Premium 32-Bit --- XProfan X2.0b

Das Schönste am Programmieren ist immernoch die Fehlersuche

Dieser Beitrag besteht zu 100% aus Recycling-Bytes.
Jonathan ist offline   Mit Zitat antworten
Alt 25.11.2011, 21:38   #13 (Direktlink)
Stammuser
 
Registriert seit: 21.04.2011
Ort: Hessen
Alter: 15
Beiträge: 327
Standard

Zitat:
Zitat von ts-soft Beitrag anzeigen
Außer zur PIC-Programmierung sollte ASM nutzlos sein
Ach, ein PIC-ler
Ich benutze ja die AVRs von ATMEL.


Gruß
Jonathan
__________________
ASUS K50IJ Notebook --- Pentium T4500 2x 2,4GHz --- 4GB RAM --- 64GB m4 SSD --- Win 7 Home Premium 32-Bit --- XProfan X2.0b

Das Schönste am Programmieren ist immernoch die Fehlersuche

Dieser Beitrag besteht zu 100% aus Recycling-Bytes.

Geändert von Jonathan (25.11.2011 um 21:44 Uhr)
Jonathan ist offline   Mit Zitat antworten
Alt 25.11.2011, 22:28   #14 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

MASM32 kann natürlich ebenfalls Makros. Die Wahl des passenden Assemblers ist wohl reine Geschmackssache.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 26.11.2011, 11:55   #15 (Direktlink)
Stammuser
 
Registriert seit: 21.04.2011
Ort: Hessen
Alter: 15
Beiträge: 327
Standard

So...

Das hier müsste doch eigentlich die Byte-Folge 0-1-2-3-4-5-6-7-8-9 in "MeinArray" schreiben, oder? Kann da mal jemand drüberschauen?

Code:
.code
  PUSHF
  PUSH eax
  PUSH ebx
  PUSH ecx
  LEA eax, MeinArray
  MOV ebx, eax
  
  Schleife:
    MOV ecx, eax
    SUB ecx, ebx
    MOV [eax], cl
    INC eax
    CMP ecx, 10
  JB Schleife
  
  POP ecx
  POP ebx
  POP eax
  POPF
  
  RET
.data
  MeinArray db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Ist das so richtig? Ist nämlich mein erster Gehversuch mit x86-Assembler


Gruß
Jonathan
__________________
ASUS K50IJ Notebook --- Pentium T4500 2x 2,4GHz --- 4GB RAM --- 64GB m4 SSD --- Win 7 Home Premium 32-Bit --- XProfan X2.0b

Das Schönste am Programmieren ist immernoch die Fehlersuche

Dieser Beitrag besteht zu 100% aus Recycling-Bytes.
Jonathan ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Spezielles

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
Assembler Destruction Sonstige Programmiersprachen 2 29.10.2007 22:43
Gutes C++ tutorial 1989moni1989 C/C++, Visual C++, Visual C++.NET 1 08.04.2007 10:03
Assembler ISR Don_Pazo Sonstige Programmiersprachen 1 04.02.2007 19:59
Will php lernen, weiß jemand ein sehr gutes tutorial? Dönerman PHP/MySQL 3 28.05.2005 15:16
Suche gutes C/C++ Tutorial Schwabenpfeil! C/C++, Visual C++, Visual C++.NET 5 20.02.2005 20:14



Alle Zeitangaben in WEZ +2. Es ist jetzt 06:13 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