Hallo,

für Windows 32bit kann ich nur MASM/JWASM empfehlen, für Win64 jedoch nur JWASM da hier noch alle Hochsprachenelemente unterstützt werden.

In der Hilfedatei ist für alles ein Codebeispiel vorhanden.

Ansonsten schau dir das Buch von Rhode/Roming "Assembler 2. Auflage" an. Von 16 Bit DOS über Fenstererstellung in Win32 sowie alles über DLLs, Einbindung und Erstellung, ist alles drin.

Gruß und viel Erfolg

Nicky

...zur Antwort

Hallo,

du willst Assembler unter Windows lernen? Gut.

Warum ausgerechnet NASM weiss ich nicht, aber du solltest dir auf jeden Fall 

auch mal MASM und JWASM ansehen. Diese bieten dir einiges an Komfort bei der Erstellung deiner Programme. 

Als IDE empfehle ich WinASM.

Bücher gibts zuhauf bei Amazon. Rhode/Roming für Dos/Windows sowie H.P. Messmer und M. Tischer sind zur Programmierung der Hardware (z.B. unter Dos) sehr zu empfehlen. Das ganze sollte Anfangs in einer VM stattfinden :-)

Ich habe hier mal ein MASM Tutorial erstellt, finde es aber grad nicht.

viel Erfolg,

Nicky

...zur Antwort

Hallo Wolfgang,

ich selbst arbeite z.Z. mit MS C und FASM, beides unter 64Bit.
Das SSE(2) vom Compiler verwendet wird, kann ich nur bestätigen.

Ich meine gelesen zu haben das der Compiler von Intel selbst, den Befehlssatz
"seiner" CPU am besten unterstützt. Also wird dort bestimmt von den Erweiterungen reger Gebrauch gemacht.

Ich selbst habe mich für beide Sprachen entschieden, was die eine nicht "so gut" kann, kann die andere dafür und mir wird nicht langweilig :-)

Gruß, Nicky

...zur Antwort

Hallo,

Eine Empfehlung: lade dir Nethserver und nutze den für deine Mails.

Alles kostenlos und fix und fertig konfiguriert. 

Den kannst du auch in einer Win-Umgebung einsetzen.

Besser geht's nicht.

Nicky

...zur Antwort

Hallo,

wo es Computer gibt, gibt es auch Assembler.

Schau mal nach Büchern auf Amazon, gerade englische Bücher sind sehr viele vorhanden.

Ich programmiere nur privat und seit ca. 5 Jahren nur mit NASM/MASM. Da ich keinen Zeitdruck habe und damit alles machen kann, bin ich damit sehr zufrieden.

Auch die Entwicklungszeit hält sich wirklich in Grenzen. Mit MASM unter Windows und WinASM als IDE geht das genauso gut wie mit C. Ob MASM verbuggt ist, weiß ich nicht.

Konnte ehrlich gesagt nichts finden und alle Programme liefen wie gewünscht. Der Vorteil von MASM oder auch FASM/JWASM sind die Hochsprachenelemente

.if eax == 55d || ebx >= 3d && ecx < 111d
     ;irgendein Code
.else
     ;ein anderer Code
.endif

genauso kann man auch .while, .until und .loop verwenden... Da es nicht ganz soviel ist, kann man sich das sehr schnell merken.

Ein weiterer Vorteil sind auch lokale Variablen, die mit Namen angesprochen werden können.

Ich habe auch eine kleine Anleitung für eine Konsolenanwendung mit MASM unter Windows hier erstellt. Schau es dir einfach mal an.

Nicky

...zur Antwort

Hallo,

Hast du deinen Code mal von Diskette booten lassen? Das kannst du ganz einfach mit Virtual PC oder Virtual Box machen.

Mit einfach auf CD brennen ist das nicht getan.

Nicky

...zur Antwort

Hallo,

Hardwarebücher gibt es viele. Ich habe einige Bücher von Michael Fischer und Hans-Peter Messmer, PC Intern und Pc-Hardware heißen die Buchreihen. Da schon alt aber noch gültig kosten die sehr wenig.

Für USB kann ich die das Buch von Benjamin David Lust empfehlen. Für Assembler die Bücher von Joachim Rhone von dem auch eine Referenz vorliegt.

Kostenlos sind die Dokumente von Intel und AMD die wirklich alles enthalten was du über den Prozessor wissen musst und wie er programmiert wird.

Im Internet findest du auch eine ganze Menge. henkessoft.de, wiki.osdev.org, lowlevel.eu

Viel Erfolg, Nicky

...zur Antwort

Hallo,

erstmal zu deinen Fragen.

Ist es schwer Assembler zu lernen?

Das hängt ganz vor dir und deinen Unterlagen ab. Da du nicht geschrieben hast was du mit Assembler machen willst, noch für welche Plattform kann ich dir folgendes sagen: Wenn du unter Windows z.B. mit MASM programmierst ist es genauso schwer/leicht wie mit C. In Windows nutzt du nämlich nur Funktionsaufrufe und ob ich

call SetWindowText........

invoke SetWindowText.....

oder einfach nur SetWindowText schreibe ist vollkommen egal.

Wenn du die ersten Programme geschrieben hast, brauchst du für "normalen" Code nicht mal mehr ein Buch. Es sind oft immer die selben Befehle die man benutzt. Dazu ist Assembler und die Intel bzw. AMD CPU sehr gut dokumentiert.

Was bringt Assembler einen überhaupt (Pro/Kontra)?

Pro: du lernst eine ganze Menge und verstehst somit auch alles andere besser. Die Aussage das heute kein Mensch mehr in Assembler programmiert kann ich nicht verstehen. Vielleicht keine kompletten 3-D Spiele oder Office Anwendungen aber kleine Funktionen die man in DLL's packt und somit in allen Sprachen nutzen kann.

Somit ist es möglich MMX, SSE2/3/4 z.B. mit Visual Basic zu nutzen, was von haus aus nicht sehr performant ist.

Es gibt bei Assembler kein Kontra.

Habt ihr gute Anfängertipps bzw. Projekte mit denen man starten könnte?

Lade dir einfach eine virtuelle Maschine runter (Virtual Box, Virtual PC), dazu FreeDos und das MASM Packet (alles über Google zu finden und kostenlos). Dazu ein kleines Buch von Amazon (Rainer Backer und Joachim Rhode) sowie die Manuals von Intel/AMD und los gehts. Die IDE WinASM ist zu MASM sehr zu empfehlen.

Ansonsten kann ich mich TeeTier nur anschliessen...

Viel Erfolg, Nicky

...zur Antwort

Hier die ISBN: 978-3-8266-1756-0 Einfach bei Amazon eingeben.

Die Links zu den Manuals http://wiki.osdev.org/Resources

Nicky

...zur Antwort

Hallo,

meinst du man benutzt "nur" 5 - 10 Befehle bei Assembler die man schnell erklären kann?

Habe ein Taschenbuch hier. "Joachim Rhode - Assembler Ge-Packt" Schlappe 581 Seiten. Das kannst du dir für ein Taschengeld bei Amazon kaufen.

Register sind die internen Variablen vom Prozessor. In denen kann er Werte speichern und verarbeiten. Die "normalen" Befehle sind für alle Prozessoren gültig.

MOV z.B.gibt es nicht als 16,32 oder 64 Bit Version. Es sind nur die Register die erweitert wurden. Aus 32Bit EAX wurde 64Bit RAX.

Also Buch kaufen und lernen und noch kostenlos die Manuals von Intel und AMD downloaden. Dort stehen alle Befehle und ihre Erklärung drin, halt nur auf englisch :)

Viel Erfolg

Nicky

...zur Antwort

Hallo,

sowas habe ich mit .Net als Webanwendung erstellt (für Thumbnails). Mit .Net ist das ein Kinderspiel!

Nicky

...zur Antwort

Hallo,

einen Bootloader zu erstellen ist noch das einfachere an der Sache. Versuch es einfach mal, im Internet gibt es genug Material dazu.

www.henkessoft.de z.B. hat eine Schritt-für-Schritt Anleitung!

Wenn du das nicht schaffst, brauchst du gar nicht erst anfangen.

Falls du Probleme bei einzelnen Sachen hast, kannst du aber hier gern fragen.

Und nun viel Erfolg

Nicky

...zur Antwort

ganz einfach...

schalte einfach mittels VM86 den Vesa Modus mit den gewünschten Grafikeinstellungen ein. Lade dir eine Bilddatei von Disk oder USB in den Ram.

Suche über das Pci Bios die Basisadresse (LFB) des Grafikspeichers und schreibe die Bilddaten dort hinein. Fertig.

Das Bitmapformat ist sehr einfach.

Aber mal ehrlich, nach einem Monat hast du noch kein Os geschrieben ;-)

Weitermachen, Nicky

...zur Antwort

hallo,

hole dir eine VM (Virtual Pc, Virtual Box), lade dir Freedos und das Masm32 Packet herunter. Ein Buch von Amazon für 2-5€ und los gehts. Als IDE kann ich WinASM sehr empfehlen.

Nicky

...zur Antwort

Hallo,

es gibt Menschen die haben darüber ein Buch geschrieben was nicht umsonst über 1300 Seiten hat.

Hole dir einfach das Buch "Pc Hardware" von Hans Peter Messmer.

Nicky

...zur Antwort

Die besten Handbücher sind die Manuals von Intel und AMD falls du für diese Prozessoren entwickeln willst.

Da steht alles drin.

Ein Disassembler von ASM nach C gibts nicht und wird es nie geben.

Nicky

...zur Antwort

Hallo,

natürlich kannst du mit VB.Net Webanwendungen erstellen. Ich habe selten so einen Blödsinn gelesen wie hier.

Das ganze heisst hier aber ASP.Net. ASP generiert für dich HTML und CSS. Du programmierst wie mit VB.Net auch. Alle Funktionen kannst du hier wie gewohnt nutzen.

Der Zugriff auf Datenbanken ist damit ein Kinderspiel. Dein Programmcode wird sogar kompiliert und läuft ohne Verzögerung. Nur der erste Aufruf der Seite braucht minimal länger.

Hole dir ein dickes ASP.Net Buch und leg los.

Gruss, Nicky

...zur Antwort

Hallo,

du brauchst für den Bootloader auf jeden Fall Assembler (NASM). Nach dem Umschalten in den Protected Mode kannst du mit C weitermachen (musst du aber nicht).

Der Aufbau und die benötigten Schritte kannst du dir bei Henkesoft.de ansehen. Der Start ist wirklich detailiert beschrieben mit viel Beispielcode.

Desweiteren brauchst du die Spezifikationen von Intel und AMD, Fachliteratur von Hr. Messmer kann ich auch noch empfehlen. Dort lernst du wie du die Tastatur, Maus und deine Grafikkarte über die Register programmieren kannst.

Dein Englisch- und Mathekenntnisse solltest du auffrischen, da fast alle guten Artikel und Bücher in englischer Sprache verfasst sind. (wiki.osdev.org).

Empfehlen kann ich noch Kaffee wenns mal länger dauert und Beruhigungsmittel wenn mal nichts mehr geht. (immer brav Kopien anlegen vor der Änderung!)

Als Testumgebung solltest du dir mind. zwei virtuelle Maschinen installieren. Virtual PC (ohne USB) und Virtual Box (mit USB) und Bochs ggf. noch.

Informiere uns immer über den Fortschritt :)

Nicky

...zur Antwort