[API] Assembler

ccppi

Stammgast
Ich hoffe ihr könnt mir weiter helfen.

Ich habe schon mehrmals versucht Assembler zu lernen, habe aber nie richtig begriffen, wie Assembler grundsätzlich funktioniert. Dann hab i hald met C weiter geprogt.

Da ich mit Assembler ziemlich erfolgslos gewesen war wollte ich hier mol fragen, ob jemand denn ein gutes tutorial oder gutes Buch kenne, wo Assembler von Grund auf erklärt wird.
Danke an alle Helfer und Helferinnen.
 

Nebuk

PCtipp-Moderation
Teammitglied
Hallo ccppi

In der Schule hatten wir kurz Assembler als Wahlfach. Du programmierst damit auf ziemlich tiefer Ebene. Es gibt - wie du wahrscheinlich weisst - nur zwei Zustände. Ein und Aus. Diese beiden Zustände verwendest du um die einzelnen Pins der Chips anzusteuern. Je nachdem, was du machen willst steuerst du andere Pins an. Denn praktisch jeder Pin hat eine andere Aufgabe.

Damit du einigermassen weisst was du machst, solltest du Binärrechnen können (Invertieren etc.). So kannst du je nach Aufgabe die einzelnen Schritte berechnen und programmieren. Im Prinzip programmierst du dann genau gleich wie in anderen Programmiersprachen auch, nur nicht so bequem. Du kannst ja auch Sprungmarken (Schaufen) basteln und auch Zustände vergleichen/abfragen. Je nach Chip gibts, glaube ich, andere Befehlssätze.

Ein Buch zum lernen kann ich dir leider nicht nennen. Wir hatten nur das normale Schulbuch :D
Wir bekamen aber noch einen Link mit Informationen/Tutorial zu Assembler. Ich kann aber mal nachschauen, vielleich finde ich noch was.

Glaube irgendwas mit AVR Studio oder so, sowas habe ich wenigstens im Hinterkopf :D
 

LMS

Stammgast
Hallo ccppi

Da kommt mir dieser Thread in den Sinn:
https://www.pctipp.ch/forum/showthread.php?t=14253

Um mal einen ersten Überblick zu bekommen würde ich dir das C64 Tutorial empfehlen. Das erklärt die Grundlagen aus meiner Sicht schon mal recht gut.

... ach ja, das AVR Studio, was Nebuk erwähnt hat, finde ich auch empfehlenswert. Ist einfach auf Atmel Prozessoren ausgerichtet und bietet einen integrierten Simulator.

Gruss LMS
 
Zuletzt bearbeitet:

Nebuk

PCtipp-Moderation
Teammitglied
Leider habe ich den gesuchten Link nicht mehr als Lesezeichen gespeichert. Wahrscheinlich ist er bei der letzten Räumungsaktion verschieden...

Jedenfalls habe ich kurz mal im Internet gesucht und meine ihn trotzdem wieder gefunden zu haben. Bin mir aber nicht zu 100% sicher, da ich ihn nur kurz überflogen habe :)

Hier den Link den ich meinte:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
 

ccppi

Stammgast
Danke vielmals für eure Antworten, werde mich mal in den Stoff reinlesen, und bei weiteren Schwierigkeiten werde Ich mich wieder melden.
@Nebuk
Danke viel mal für deine Erklärung. Hat mir sehr gut geholfen.
@LMS werde mir den thread bei gelegenheit genauer anschauen.

Noch ein schönes Weekend
 

deluxe

Stammgast
salü

Hallo CCPPI
hättest vielleicht doch besser elektroniker gelernt.
Frag mal den Thomas, der weiss glaub ich einiges.

gruess saemideluxe :-)))
 

Mr. White

Mitglied
Wär noch interessant zu wissen ob du dich auf einen bestimmte Prozessor oder Chip-typ beschränken möchtest, oder ob es eher um Assembler Programmierung in Richtung Elektrotechnik (Mikroprozessoren) geht. Der Befehlssatz ist spezifisch für die einzelnen Prozessoren (z.B. x86 (Intel), Motorola 68000, MIPS), da unterschiedliche Architektur, Register, etc.

Ich kenn mich nur ein bisschen beim x86 Assembler aus, da gibts jedenfalls eine Menge Material im Netz (das sich auch leicht finden lässt ...). Probiers mal mit

http://www.drpaulcarter.com/pcasm/index.php (sogar in deutscher Übersetzung)

Oder der Klassiker:
http://www.artofassembly.com

Das Buch von Trutz Eyke Podschun (lustiger Name) fand ich auch ganz ok, mittlerweile wohl etwas veraltet, aber enthält Einiges über das Einbinden von Assembler Modulen in Hochsprache Programme. Meiner Meinung nach ein wichtiger Aspekt - Programme in reinem Assembler zu schreiben ist ziemlich aufwendig (aber möglich), aber man braucht ja nicht komplett auf den Komfort der Hochsprachen zu verzichten.

Cheers
 
Oben