Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

ASM<->QB und wie mache ich die ASM Progs?
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 06.05.2005, 17:29    Titel: ASM<->QB und wie mache ich die ASM Progs? Antworten mit Zitat

Hallo
Bin grad der so ziemliche Nullchecker da drin.
Ich dachte auch für ASM braucht man einen Compiler - find ich nicht.
Worin schreib ich die Progs (im Editor??)- wo gibts Tutorials?
Wie binde ich sie in QB ein?
Oder kann ich mir die irgendwo auch runterladen.
mit dem Kopf durch die Mauer wollen peinlich Kopf schütteln missbilligen Zunge rausstrecken weinen durchgeknallt böse geschockt verlegen mit den Augen rollen verwundert traurig neutral lachen lachen lachen lachen grinsen grinsen lachen lachen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 06.05.2005, 18:27    Titel: Antworten mit Zitat

Moin,
erstmal danke für die vielen tollen Smileys peinlich

Ich empfehle den NASM (ein kleines Commandline Tool)
www.icc-software.de/files/asm/nasm.zip
Die Progs schreibst du im Editor.
Viel Spaß mit Assembler happy Hat nämlich kein bisschen was mit QB zu tun
Für Tutorials gibts ne tolle Seite: www.google.de

Was willst du überhaupt mit ASM machen wenn man fragen darf ?
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 06.05.2005, 19:15    Titel: hierzu ein Tutorial... Antworten mit Zitat

http://www.iconsoft.de/?show=tutorial_asm

MFG A.K.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 06.05.2005, 19:31    Titel: Antworten mit Zitat

AK ? Du im Forum ? Yahooo!!!!
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 07.05.2005, 11:12    Titel: Antworten mit Zitat

tja...

was muß, das muß....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 07.05.2005, 16:19    Titel: Antworten mit Zitat

Schon klar das ASM nicht grad grinsen ist.
Werd dannn wohl des öfteren mit dem Kopf durch die Mauer wollen weinen böse machen.
So die nächsten 10JAhre.
Ich will eigentlich nur Programme schneller machen.
Wenn sie grad ne Rechnung machen.
Ich denk mal normale Rechnung wie +,-,:,* werden in ASM nicht umbedingt meinen Kopf fordern.
Aber Tutorials: Wenn ich nach einem in google suche find ich z.B.
zehn Seiten text wie schwer das doch ist und wie ein PC aufgebaut ist..blabla. Ich muss nicht wissen wie viele Tranisistoren meine CPU hat um 5+2 auszurechnen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 07.05.2005, 16:33    Titel: Antworten mit Zitat

Erstmal danke @A.K. die Seite kann ich gut gebrauchen.
so hab mir jetzt nasm runtergeladen und mir deine Hochspannungsseite angeguckt. Mal ehrlich wie oft stehen die die Haare zu Bergen? zwinkern
Was mache ich den mit nasm.
Mal angenommen ich habe jetzt im Editor ein kleines prog geschrieben.
Was nun? Der zeigt mir nur die eine Hälft der Hilfe an - liegt halt am alten Windows - bei XP wär das jetzt kein prob aber so...
Und wie binde ich so was in QB ein?
Über SHELL oder wie? Und wenn wie gebe ich die Befehle?
Ich bin halt noch'n bisschen Nullcheckend. weinen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 07.05.2005, 17:09    Titel: Antworten mit Zitat

Hi,

wenn du deinen fertigen Quellcode eingegeben hast, dann mußt du aus diesem Quellcode ein Maschinensprachenprogramm erstellen lassen.

Dazu bietet dir NASM auch irgendwo eine Option. (Ich glaube bei NASM sind das die BINARY-Dateien oder so ähnlich....hab nie mit gearbeitet).

Falls du DEBUG.EXE benutzen solltest, dann werden dort die Dateien auch direkt als Maschinencode abgespeichert. (.COM-Dateien).

Wichtig ist, das du auf keinen Fall eine EXE-Datei erstellst, denn dort gibts noch einen störenden Head den man nicht braucht.
Heißt im Grunde genommen das du eine Datei brauchst die reinen Assembler/Maschinencode enthält.

Wenn du diese Datei dann hast, dann kannst du den Inhalt dieser Datei in eine HEX-Zeichenkette umwandeln und sie erstmal in einer String-Variable in deinem QB-Programm speichern.
Damit hast du die Assemblerprogramme schonmal in deinem QB-Prog zum weiterverarbeiten.

Danach benötigst du noch eine Routine die den HEX-String in einen ASCII-String umwandelt und das ASM-Prog in einer weiteren QB-String-Variable ablegt.
Die zweite Stringvariable mit dem ASCII-ASM-Programm kannst du dann per CALL ABSOLUTE aufrufen und das ASM-Programm wird ausgeführt.

Die eben beschriebene Methode ist auch ausführlich in meinem Tutorial
beschrieben: http://www.iconsoft.de/?show=tutorial_asm

Eine andere Möglichkeit wäre das Aufrufen von externen Assembler-Programmen (.COM) über die Shell. Dies ist aber nicht unbedingt zu empfehlen da die SHELL dann noch extra Speicher reserviert.

Am besten mal mein Tut Wort für Wort durchlesen und das Beispiel-"Hello World"-Programm ausprobieren und den Rest. Dann hast du schonmal einen guten Einstiegspunkt zum weitermachen.

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Exp-Soft



Anmeldungsdatum: 10.09.2004
Beiträge: 79

BeitragVerfasst am: 07.05.2005, 17:49    Titel: Antworten mit Zitat

noop hat Folgendes geschrieben:
Schon klar das ASM nicht grad grinsen ist.
Wenn ich nach einem in google suche find ich z.B.
zehn Seiten text wie schwer das doch ist und wie ein PC aufgebaut ist..blabla. Ich muss nicht wissen wie viele Tranisistoren meine CPU hat um 5+2 auszurechnen.


Hm, also wenn du schon sagt, das du nicht wissen musst wie eine CPU aufgebaut ist um in ASM zu Coden, denke ich solltest du ASM liegen lassen, ASM ist nähmlich zu mindestens 80 90 % reine theorie, da ASM selber auch kaum Befehle wie QB oder Pascal vorweisen kann, ist die Sache in ASM eine reine Bit schubserei, folglich, muss man wissen wie eine CPU aufgebaut ist, wiegroß ihr Aderessraum ist, was sie alles kann.

und um mal ehrlich zu sein auf den heutigen rechnern wie schnell kann da der geschwindigkeitszuwachs sein gegenüber einer anderen sprache? das würdest du nicht wirklich merken zwinkern

ASM lohnt sich meist nur noch für die Treiber Programmierung, oder wenn man direkt auf die Hardware zugreifen will, oder halt wenn man extrem aufwändige rechenoperationen in einer gewissen zeit berechnet haben muss (alles natürlich im rahmen der CPU möglichkeit) lächeln

und wenn du nun immer noch ASM lernen willst, solltest du dir mal Englische Tutorials suchen, die sind meiner meinung nach nähmlich etwas besser als die Deutschen.

Aber der anfang beschäftigt sich immer mit dem Aufbau der CPU und dem Rechner. lächeln

http://www.robsite.de/tutorials.php?tut=assembly hier noch ein kleiner link zu ASM Tutorials zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 08.05.2005, 13:43    Titel: Antworten mit Zitat

Erstmal danke für die Antworten.
Mal nen Beispiel:
Ich lasse eine Schleife durchlaufen - bis 100.000.
Das braucht eine Sekunde in QB(ich weiß so hat das jetzt keinen sinn aber egal).
Und in C++ (ich kann kein C++, hab nur den Befehl abgeguckt und ausprobiert.) komm ich deutlich unter eine Sekunde. ALso denk ich mir mal wenn man ASM nimmt, dass noch Hardwarenäher ist, dann geht's noch'n bisschen schneller.
Und außerdem will ich nicht alles ausreuzen was meine CPU kann.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Exp-Soft



Anmeldungsdatum: 10.09.2004
Beiträge: 79

BeitragVerfasst am: 08.05.2005, 14:47    Titel: Antworten mit Zitat

Also wenns dir nur darum geht, lern gleich C da C auch noch relativ Hardware nah ist, wie gesagt ASM würd ich nur für extrem große Rechenoperationen oder Treiber Programmierung einsetzen zwinkern

aber das muss letztendlich jeder selber wissen was er lernt, nur wenn du dich schon aufregst das jedes ASM tutorial erstmal mit der Groben Theorie einer CPU anfängt, solltest du es echt sein lassen, da du um die Theorie nicht herumkommst.

AUsserdem ist QB auch nicht die Schnellste Spreche, versuch doch mal FreeBasic oder kauf dir PowerBasic.

Greez Exp-Soft
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 09.05.2005, 17:32    Titel: Antworten mit Zitat

Joa FreeBasic fang ich jetzt an. Rall aber noch nicht so ganz die Syntax.
Man muss sich halt in jede Sprache einarbeiten, auch wenn sie fast identisch zu einer ist, die man schon kann.
ASM werd ich auf kurz oder lang "lernen" (also so einfache sachen - auch mit großen datenmengen) wollen.
C++ joa - hab ich mir auch schon überlegt. Aber irgendwie gefallen mir diese ganzen {}/)(\... nicht. Etwas verwirrend. Aber mal sehen.
Kann man sagen um wieviel schneller C++ als QB in etwa ist?
Ich benutze wenn, denn GNU_Compiler. (Ich bin Freewarenarr/fan/freak;) )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 09.05.2005, 17:35    Titel: Antworten mit Zitat

Hallo.

QB ist nicht sonderlich schnell, aber wie schnell C++ ist, hängt vom Compiler ab. C++ ist ja kein Compiler, sondern "nur" eine Sprache. zwinkern

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 09.05.2005, 17:46    Titel: Antworten mit Zitat

Zitat:
Aber irgendwie gefallen mir diese ganzen {}/)(\... nicht


lool..dann vergiss ASM. Da gibts zwar keine Klammern, aber wenn dir selbst so simple Klammern zu kompliziert sind, wirst du an ASM keine Freude finden. Glaub mir.
Du hast dort keine Arrays, keine Schleifen, keine Variablen (nur eine Handvoll Speicherregister), keine IF-Abfragen usw.
Musst du alles selber machen.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChemicalWarfare



Anmeldungsdatum: 15.09.2004
Beiträge: 152

BeitragVerfasst am: 09.05.2005, 19:21    Titel: Antworten mit Zitat

Zitat:
Du hast dort keine Arrays, keine Schleifen, keine Variablen (nur eine Handvoll Speicherregister), keine IF-Abfragen usw.


Von welchem Assembler sprichst du? Die, die ich kenne, haben alle Variablen. Und ich glaube, das es keinen Assembler gibt, der keine Variablen kennt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 09.05.2005, 19:30    Titel: Antworten mit Zitat

Was meinst du mit Variablen ?
Klar, du kannst in den Speicher schreiben und bestimmte Adressen als Variable nehmen. Ich meinte eher Stringvariablen etc., dir stehen in ASM nur die absoluten Grundfunktionen zur Verfügung. Alles weitere setzt sich aus vielen kleinen Puzzleteilen zusammen.
Die "Variablen" sind nur Pointer auf bestimmte Adressen in einem vorher fest definierten Speicherbereich, die zum Speichern von Daten genutzt werden können.

Egal, probierts aus. Macht was ihr wollt happy schlafen
_________________


Zuletzt bearbeitet von Paul am 09.05.2005, 19:33, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 09.05.2005, 19:30    Titel: Antworten mit Zitat

Zitat:

Du hast dort keine Arrays, keine Schleifen, keine Variablen (nur eine Handvoll Speicherregister), keine IF-Abfragen usw.


Uijuijui......

Schleifen: LOOP, REP, JMP....
Die Register sind Variablen...sie können variable Werte annehmen
IF-Abfragen: z.B.: JZ, JE, JA, JLE....etc......
Und die Arrays liefert QB ja schon mit, da brauch man nur noch "pointen"

lächeln

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 09.05.2005, 19:40    Titel: Antworten mit Zitat

Klar gibts die Grundbefehle, aber für 2 verschachtelte Schleifen müsste man z.B.
Code:

mov cx, 10
schleife1:

push cx
mov cx, 5
schleife2:

mov al, "X"
int 29h

loop schleife2
pop cx

loop schleife1

mov ah, 4Ch
int 21h

schreiben.
Das entspricht
Code:

FOR a = 1 TO 10
FOR b = 1 TO 5
PRINT "X";
NEXT b
NEXT a
END


Und dieser ASM Code ist noch wirklich simpel, je mehr dazu kommt, desto mehr Aufwand muss man betreiben. Naja ich will euch den Spaß nicht verderben, man muss sich halt etwas einarbeiten grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 10.05.2005, 15:13    Titel: Antworten mit Zitat

Die Klammern verwirren mich halt noch ein bisschen. Aber das wird sich ja legen.
Zum COmpiler: Ich dachte von GNU gibts nur einen Freewarecompiler. Und den würde ich dann benutzen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 10.05.2005, 15:30    Titel: Antworten mit Zitat

weiter oben im thread hab ich nen link zu NASM gemacht
kann ich nur empfehlen den compiler
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz