Asm und Win8(64bit)

02/09/2015 19:29 TeraTroll#1
Guten Abend Comm,

ich habe (mal wieder) ein Anliegen, ich möchte mich in naher Zukunft mit Mikrocontrollern beschäftigen, deswegen hatte ich vor mich nun mit ASM auseinander zu setzen(Bitte nicht schreiben, dass es kein "einfaches/ich mach mal" Vorhaben ist, dessen bin ich mir bewusst).
Nun kommt bei mir allerdings das Problem auf, dass ich schon ein Problem bei der Installation von Masm32 auf meinem "neuen" Rechner habe.
Ab einem gewissem Zeitpunkt erscheinen dauerhaft zwei Fehlermeldung(dies mehrere Male sobald ich sie geschlossen habe) welche mir sagen, dass eine gewisse Zeile(200) in verschiedenen Dll's NICHT vorhanden sind.

MfG Joshi

PS: Ich freue mich über jede hilfreiche Antwort
02/09/2015 19:39 Dr. Coxxy#2
vllt. die genaue fehlermeldung?
Du kannst übrigens in visual studio einfach in ein C/C++ Projekt .asm dateien einbinden - musst noch in den buildabhängigkeiten den masm anhaken (bringt vs schon von sich aus mit, musst du nicht installieren) und dann eine assembler main per extern bekannt machen und aus der C-Main funktion heraus aufrufen.
VS hat allerdings kein syntax highlighting für assembler, ich erstell meine immer mit RadASM und bind sie dann in vs ein, falls es nicht was komplett eigenständiges ist.
Du kannst auch den MASM den vs von sich aus mitbringt per kommandozeile ansteuern (heißt ml.exe bzw. ml64.exe und liegt in C:\Program Files (x86)\Microsoft Visual Studio <version>.0\VC\bin\), parameter findest du hier:
[Only registered and activated users can see links. Click Here To Register...]
benutz ich z.b. hier:
[Only registered and activated users can see links. Click Here To Register...]

Frage ist zudem, ob du überhaupt assembler brauchst - ich programmier öfters microprozessoren und benutz eigtl fast ausschließlich C (ab und zu paar zeilen in assembler, aber eher selten).

edit:
achja, das assembler was du auf mikroprozessoren benutzst kann sich je nach mikroprozessor auch ein gutes stück von dem intel assembler unter windows unterscheiden!
02/09/2015 19:43 TeraTroll#3
Ich würde an sich lieber mit Asm anfangen aus verschiedenen Gründen,
zum ersten wäre da, dass Asm in vielen Hinsichten Praktisch zu können ist,
weiter wäre da die Tatsache, dass ich keine C Sprache beherrsche.

Edit: Ich habe mir nun "RadASM 3.x" gedownloadet und hätte da die Frage ob es dann noch "nötig" ist, mir noch Masm32 runterzuladen/installieren?
Da ich ja theoretisch mit Rad die Programme kompilieren kann und somit eine ausführbare Datei hätte.
02/09/2015 19:45 Dr. Coxxy#4
Quote:
Originally Posted by TeraTroll View Post
Ich würde an sich lieber mit Asm anfangen aus verschiedenen Gründen,
zum ersten wäre da, dass Asm in vielen Hinsichten Praktisch zu können ist,
weiter wäre da die Tatsache, dass ich keine C Sprache beherrsche.
hab in meinen post noch paar sachen reineditiert.

inwiefern praktisch zu können? assembler hat heutzutage nur noch wenig konkrete anwendungsmöglichkeiten und wird imo auch weiter schrumpfen.

edit:
Quote:
Edit: Ich habe mir nun "RadASM 3.x" gedownloadet und hätte da die Frage ob es dann noch "nötig" ist, mir noch Masm32 runterzuladen/installieren?
ja, ist es ;)
deswegen ja mein hinweis, dass du den von vs mitgebrachten masm auch direkt ansteuern kannst - hast du ein buch nach dem du lernst?
02/09/2015 19:51 TeraTroll#5
Ja das es Abweichen kann ist mir bewusst, falls ich es mit Asm richtig verstanden habe dann verhält es sich so wie mit der Deutschen Sprache und den -zig Dialekten, oder?
Ich dachte mit den Anwendungsmöglichkeiten eher an sowas wie, "hacken/modden" usw. sowie die Tatsache, dass es weniger "Speicherplatz" in Anspruch nimmt oder würdest du sagen, dass es sich mehr lohnen würde Bsp. C++ "anzufangen"?
Verhält es sich denn mit Microcontrollern und C++ genauso wie mit Asm(also Abweichungsmöglichkeit).
02/09/2015 20:16 Dr. Coxxy#6
Quote:
Originally Posted by TeraTroll View Post
Ja das es Abweichen kann ist mir bewusst, falls ich es mit Asm richtig verstanden habe dann verhält es sich so wie mit der Deutschen Sprache und den -zig Dialekten, oder?
so ähnlich, befehlssatz kann unter umständen eingeschränkt/anders, register weichen meist ab, etc.

Quote:
Ich dachte mit den Anwendungsmöglichkeiten eher an sowas wie, "hacken/modden" usw. sowie die Tatsache, dass es weniger "Speicherplatz" in Anspruch nimmt oder würdest du sagen, dass es sich mehr lohnen würde Bsp. C++ "anzufangen"?
jop, bei hacks/modden ist es zmdst hilfreich assembler zu verstehen (programmieren wirste damit idr. auch nicht, bzw. nur kleine bruchteile).
Würde aber erstmal mit C++ bzw. eher C (hateposts incoming) anfangen.

Quote:
Verhält es sich denn mit Microcontrollern und C++ genauso wie mit Asm(also Abweichungsmöglichkeit).
Jein.
Der sprachstandard, also syntax, etc. ist in C/C++ immer gleich, allerdings gibt es unterschiede in der kommunikation mit dem betriebssystem, unter windows wirst du oft die WinAPI benutzen, die allerdings nur unter Windows funktioniert.
02/09/2015 20:23 Schlüsselbein#7
Was möchtest du denn verwirklichen und hast du schon einen µC im Blick? Für sehr kleines Geld bekommst du heute schon Mikrocontroller, die mehr als genug Speicher haben. C ist vollkommen ausreichend. Halte es aber auch für eine gute Idee, sich mal wenigstens den entsprechenden Assembler anzuschauen um ein Gefühl für die Funktionsweise des Chips zu bekommen.
02/09/2015 21:04 TeraTroll#8
Ich habe mich nun für C entschieden da es für Mc's mehr empfohlen wird und leichter zu lernen sei, aufgrund der fehlenden OOP.
Ja ich ich habe zwei im Blick, für den Anfang dachte ich da an Atmel der "ATmega8" oder "ATtiny8" je nachdem muss ich mal schauen.
Wie sieht es denn aus mit günstiger Anschaffung? Da ich möglichst günstig anfangen möchte da ich noch ein Schüler bin. Ich bin gerne dazu bereit mir selber ein Board zu bauen/löten.
02/09/2015 22:08 Dr. Coxxy#9
da schauste am besten mal in der deutschen mikrocontroller szene vorbei:
[Only registered and activated users can see links. Click Here To Register...]
nette community, mit zig tuts, etc. auch für anfänger.
02/09/2015 22:15 TeraTroll#10
Ich möchte mich schon mal bedanken für die schnellen Antworten und ich wünsche euch noch einen schönen Abend.

MfG Joshi
02/09/2015 22:52 Schlüsselbein#11
Quote:
Wie sieht es denn aus mit günstiger Anschaffung? Da ich möglichst günstig anfangen möchte da ich noch ein Schüler bin. Ich bin gerne dazu bereit mir selber ein Board zu bauen/löten.
Tutorials zum selber basteln gibt es zu genüge im Netz oder (was ich dir empfehlen würde) du legst dir sowas hier zu: [Only registered and activated users can see links. Click Here To Register...]
Damit bist du dann so ziemlich startklar für den Einstieg (Lötstation mal vorrausgesetzt). Im Laufe der Zeit kannst du dir dann noch Steckbretter und Bauteile nach deinen Bedürfnissen bestellen (ggf. wird dann auch ein Netzteil benötigt, da du über USB maximal 500mA bekommst).
02/09/2015 23:20 TeraTroll#12
Ist das ein "Board" für die Programmierung des uC auf welchem ich gleichzeitig eine Schaltung bauen kann?
02/09/2015 23:33 Schlüsselbein#13
Erstmal ist es für die Programmierung, ja.
Quote:
Sicher experimentieren: Sie können völlig beruhigt eigene Schaltungen mit dem Board ansteuern, eine 500mA Sicherung (selbstrückstellend) schützt Ihren PC vor möglichen Kurzschlüssen
Das ist für die ersten Gehversuche optimal. 500mA sind erstmal dick ausreichend. Bequem daran ist, dass du fürs erste noch kein Netzteil benötigst, da der Saft dem USB-Port entnommen wird. Also Board mit µC an Rechner anstöpseln, Programmieren, ans Steckbrett hängen und rumspielen.
02/10/2015 00:47 TeraTroll#14
Das sind gute Vorraussetzungen für mich als Anfänger, und der Preis ist auch gut ich werde mal drüber nachdenken. Vielen dank für die Empfehlung. ;)
02/11/2015 13:11 Akorn#15
Wen du lernen willst Microcontroller zu programmieren dann würde ich dir von Atmel abraten. Die Dinger sind nicht mehr Zeitgemäß und sie müssen sehr hardware nah programmiert werden. Außerdem sind die Dev-Boards recht teuer.

Ich empfehle dir eher mit Microcontroller auf ARM basis anzufangen. Z.b. STM32
Controller. Die fangen im Einsteiger Segment schon bei 48mhz an und haben alle 32bit register(also genug leistung vorhanden). Ausserdem gibt es die Dev-Boards schon für ein paar euro bei mouser.de . Alternativ kann man auch die Controller von NXP nehmen die gibt es sogar im DIP format.
Und zum Programmieren würde ich dir empfehelen C++ zu lernen. Den für die Controller familien STM32 und die von NXP gibt es extra Klassen Bibliotheken die
das Programmieren erheblich vereinfachen.Und der allgeimeine trend bei der microcontroller entwicklung geht weg von lowlevel programmierung mittels ASM und C hin zu Highlevel Programmierung und OOP. Und wenn man umbedingt in Assembler programmieren will dan kann man das bei diesen Controllern natürlich auch.