Hallo miteinander , ich bin schon länger auf der suche nach einer genauen Definition für die "Zuweisung in Assember" am besten mit Beispielen. Nätürlich ist mir allgemein klar was damit gemeint ist aber gibt es noch irgendwelche Besonderheiten im Assembler Bereihc ????
ps wenn ich hobel fallen sähne du gehst heut nach hause ohne deine zähne
hey horst, zuweisungen sehen wie folgt aus a = 1 a wird also der wert 1 zugeordnet. Mir stellt sich im übrigen auch die Frage wie das in einem Programm aussehen soll.
ja ich weis aber wie sieht es den jetzt anders aus nach deiner ausführlichen Erklärung stellt sich mir die frage was sind Timer und was sind Interruptus ???
hihi lieber horst, den Spruch find ich richtig ulkig :) die anderen gebiete sind mir leider fremd.. grüße max
Horst-Martin schrieb: > Nätürlich ist mir allgemein klar was damit gemeint ist aber gibt es noch > irgendwelche Besonderheiten im Assembler Bereihc ???? Ja. Im Assembler gibts keine Zuweisungen. Auf Assemblerebene gibt es Register und Speicher. Und es gibt es gibt Load bzw Store Operationen (die manchmal auch Move heißen) mit denen man einen Wert (der auch von einem anderen Register stammen kann, oder aus dem Speicher) in ein Register bugsieren kann (bzw. beim Store in die andere Richtung). Aber Zuweisungen gibt es nicht.
Hallo! Natürlich gibt es auch in Assembler Zuweisungen. Man kann Registern Werte zuweisen (Store, Load, Move...), Marken Adressen zuweisen (EQU, ORG...), Speichersegmente zuweisen (CSEG, DSEG..), reservierte Speicherbereiche zuweisen (DEFS...) usw. Alles hängt natürlich vom Prozessor und vom Assembler ab.
Route_66 schrieb: > Natürlich gibt es auch in Assembler Zuweisungen. Nein. Gibt es nicht. Das, was du bei einem Register "Zuweisung" nennst, ist die Adressierungsart "Immediate". Route_66 schrieb: > Alles hängt natürlich vom Prozessor und vom Assembler ab. Nein. Das hängt nur davon ab, ob jemand den Fachjargon beherrscht oder nicht. mfg.
Route_66 schrieb: > Alles hängt natürlich vom Prozessor und vom Assembler ab. Es gab schon Assembler, bei denen man einen Load mittels einer Zuweisung schreiben konnte. Ich glaube es war ein Osborn Z80 Assembler, bei dem man schreiben konnte BC = 256 D = H und der Assembler machte daraus LDI BC, 256 LD D, H Aber das ist von dem was man in einer Programmiersprache eine "Zuweisung" nennt, meilenweit entfernt. Man kann eine Bierkiste auch als "Sessel" bezeichnen. Kann man, man kann sie ja umdrehen und darauf sitzen. Aber im Allgemeinen versteht man unter einem Sessel alles mögliche, aber sicher keine Bierkiste.
Hallo, der Begriff Zuweisung ist schon deshalb abwegig, weil es in Assembler ja keine Variablen gibt, sondern Register und Adressen - eine Zahl ins Register R4 oder B zu laden ist nur verständlich in dem Kontext, wofür dieses Register gerade verwendet wird. Das ist eine ms später was ganz anderes, eine der Fehlermöglichkeiten in Assembler, die man in einer Hochsprache so nicht hat. Ein Register KANN eine Variable (im Sinn eines bestimmten Speicherplatzes) enthalten, wenn man die vorher von ihrer Speicheradresse ins Register geladen hat, und/oder wenn man vorhat, sie nachher dorthin zu speichern. Als Zwischenspeicher für eine logische oder Rechenoperation entspricht ein Register keiner Variablen. Abgesehen davon gibt es eh nur Bytes oder 16, 32 und 64 Bit-Worte je nach Prozessor, mit einer String-Variablen wie z.B. einer Telefonnummer muss man selbst alles byteweise organisieren. Gruss Reinhard
Thomas Eckmann schrieb: > Karl Heinz Buchegger schrieb: >> BC = 256 >> D = H > Aber das sind doch Makros. Ich weiß nicht wie das genau realisiert wurde. Makros glaub ich ehrlich gesagt nicht. Denn diese "Zuweisung" löste alle Adressierungsmodi richtig auf. Aber nagle mich da jetzt nicht fest. Das ist 25 Jahre her. Mir ist es nur aufgefallen, weil das komplett anders aussah als die Zilog Assembler Notation.
Auch heute noch gib es Assembler wo etwa ein UND geschrieben wird als R1 = R2 & R3 und der Assembler dies nativ unterstützt. Entsprechend sieht eine Zuweisung so aus — oder eben ein Load wenn man Zuweisung nicht mag: R1 = R2 Beispiel: Blackfin wie zu sehen hier: http://gcc.gnu.org/viewcvs/trunk/gcc/config/bfin/bfin.md?content-type=text%2Fplain&view=co http://docs.blackfin.uclinux.org/doku.php?id=toolchain:inline_assembly Der Compiler (hier bfin-gcc) gibt das tatsächlich aus nud es ist die Schnittstelle zum Assembler.
Bei ASM wird ja fast immer irgentwas irgentwie transportiert. Ob man das nun Zuweisung nennt oder nicht ist doch reine Geschmackssache. ------------------------- Die von Blackfin wollten es mit Ihrem ASM (dem man "in Hochsprachensyntax" schreiben kann) besser machen als Andere. ...Was aber nicht gelungen ist, denn den meisten Leuten missfällt diese Syntax total. Aussendem sehen viele Befehle davon echt bescheuert aus! Die haben weder Ähnlichkeit mit herkömmlichem ASM noch mit herkömmlicher Hochsprache!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.