PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Überssicht der Assembleranweisungen gesucht



pacer_one
25.11.2007, 17:18
Hallo,

kann mir jemand sagen wo ich Assembleranweisungen finde? Ich meine nicht den Befehlssatz des Microcontrollers. Als Assembler nutze ich AVR-Studio.

Soo, mit einem kleinem Trick hab ich in der hilfe jetzt doch gefunden. Nun habe ich aber gelsen, dass die Anweisung def seit AVR Assembler 2 nicht mehr unterstützt wird, muss ich das jetzt verstehen?! Meiner Meinung nach ist die def Funktion nicht schlecht.

Gruß, pacer

thewulf00
25.11.2007, 18:57
Wo ist der Unterschied zwischen Assembleranweisungen und Befehlssatz des Microcontrollers? Ich hätte Dich auch nur aufs Datenblatt verwiesen.

oberallgeier
25.11.2007, 19:12
Na dort steht aber auch:

The AVRASM2 preprocessor is modeled after the C preprocessor, with some exceptions: ...

und bei dem heisst es eben statt .DEF neuerdings #define.

Es heisst leider immer rtfm - und das ist soooo mühselig zu lesen. Geht mir ganz genauso.

izaseba
25.11.2007, 19:23
dass die Anweisung def seit AVR Assembler 2 nicht mehr unterstützt wird

:shock: :shock: na das ist mir ganz neu, habe eben was mit Assembler 2 assembliert, wo mindestens 20 defs drin stehen und es hat mir keine Fehler gehagelt .

Viel mehr würde es mich interessieren, wo der Unterschied zwischen Simulator und Simulator V2 liegt.
Wahrscheinlich seht es irgendwo in der Hilfe geschrieben, vielleicht weiß es aber jemand schon ;-) ?

Gruß Sebastian

JanB
25.11.2007, 19:30
.DEF als Assemblerdirektive zur Definition von Namen
für Register funktioniert immer noch wie gehabt.
zB.:
.def COUNT = R20

Was konnte man denn bisher noch mit .def machen ?

Alle Anweisungen die mit # beginnen also auch #DEFINE
sind Anweisungen für den Preprocessor.

Gruß Jan

T.J.
25.11.2007, 20:02
äh, jo, hier evtl. http://blog.cc-robotics.de/wp-content/uploads/2007/11/8-bit_risc_befehlssatz.pdf

pacer_one
25.11.2007, 20:30
@thewulf00

Eine Assemblerdirektive ist eine Anweisung an den Complier und wird nicht mit übersetzt. def ist zB. solch eine Anweisung. (Sorry hab gerade gemerkt dass ich mich falsch in meinem ersten Post ausgedrückt habe )

@izaseba
da ich mich erst seit diesem Wochenende mit der µC-Programmierung beschäftige habe ich die Hilfe durchforstet und folgendes gefunden:

Changes between Assembler 1 and Assembler 2

Tightened syntax
The assembler syntax has been tightened up a bit, assembler keywords (instructions, registers, built-in functions) can no longer be used as user-defined symbols (labels, names in .def/.equ/.set directives). Even though this breaks some existing code, it should help avoiding some nasty bugs and generally cause programs to become more readable.

oberallgeier hat recht, ich habe die neue schreibweise der directive in der Hilfe gefunden

izaseba
25.11.2007, 21:48
Hallo,
Mir scheint, als wollen sie C Präprozessor mit avrasm verheiraten,
warum auch nicht, wobei ich sehe da keine großen Vorteile.

Zurück zum Topic,
die Befehle sowie alle Register findest Du auch in jedem Dattenblatt.

Gruß Sebastian

T.J.
26.11.2007, 08:49
Jo, aber im Datenblatt ist es nicht so schön wie in dem AppNote von Atmel oder?

izaseba
26.11.2007, 15:58
Jo, aber im Datenblatt ist es nicht so schön wie in dem AppNote von Atmel oder?Ja klar ist die Appnote Spitze und jeder, der mit Assembler was programmiert sollte die haben.

Im Dattenblatt stehen auch nicht alle Befehle drin, sondern nur die, die von dem entsprechendem µC unterstützt werden, was man auch als gewissen Vorteil sehen könnte, bevor man z.B. mul auf einen Tiny losschickt.

Gruß Sebastian