Forum
Wann gilt der Begriff Übersetzen? (Elektronik)
» Da ist mir auch nie etwas ganz klar geworden. Wenn man im
» Assemblerprogramm z.B. den move-Befehl eingibt, dann erzeugt das Programm
» den entsprechenden Maschinen-Befehlscode. Es wird also übersetzt...
Im Prinzip ja. Allerdings wird Assembler 1:1 in Maschinencode übersetzt. MOV A, #data wird übersetzt in 2 Bytes: 74h #data
Und statt für einen Jump die absolute Speicheradresse auszurechnen, darf man eine Marke setzen und die Rechnung dem Assembler überlassen.
In den Datenblättern sind oft beispiele für die Bedienung enes bestimmten Registers in Assembler und in C gegeben. Z.B:
Assembly Code Example
in r16, SREG ; store SREG value
cli ; disable interrupts during timed sequence
sbi EECR, EEMWE ; start EEPROM write
sbi EECR, EEWE
out SREG, r16 ; restore SREG value (I-bit)
C Code Example
char cSREG;
cSREG = SREG; /* store SREG value */
/* disable interrupts during timed sequence */
_CLI();
EECR |= (1<
» Worin liegt genau der Unterschied zwischen dem Übersetzen eines
» Hochsprache-C-Befehles und den eines Assemblerbefehles?
In der 1:1 Umsetzung.
Beim obigen Beispiel kommt das nicht klar heraus. Aber versuchs mal mit einem
Case Variable
...
end
» Falls in Assembler nicht übersetzt wird, was passiert dann?
Lesbare Variablennamen statt bitweise Speicheradressen bzw Sprungmarken.
» BTW.: Es gibt Leute die wehren sich dagegen C als Hochsprache zu
» bezeichnen, wogegen C++ würdig genug für diesen Titel ist...
Nunja, manche weigern sich auch, Basic als Programmiersprache anzuerkennen. Kommt halt drauf an, wie gut man ein Problem mit einer Sprache lösen kann.
hws
Gesamter Thread:











