Forum: Mikrocontroller und Digitale Elektronik Arm Assembler richtig kommentiert?


von Dolphon (Gast)


Lesenswert?

Hi,

ich habe folgenden Assembler Coder bekommen, und sollte diesen 
kommentieren.
Ich würde euch bitten, einmal zu schauen ob ich den Code richtig 
beschrieben habe.
1
puts:
2
  stmfd sp!,{lr}  @ Retten der Register
3
4
  mov    r1, r0        @Übergebenen Parameter von R0 nach R1 kopieren
5
puts_loop1:  
6
  ldrb    r0, [r1], #1  @1. Byte von R1 nach R0 und dannach erhöhen
7
  cmp    r0, #0        @Vergleich ob R0 0 ist
8
  beq    puts_end      @Ist R0=0 dann zum Label puts_end springen ansonsten weiter
9
  swi    1          @swi 1 ausführen
10
  cmp    r0, #0xa      @Prüfung ob R0 Newline ist
11
  moveq  r0, #0xd      @Wenn Vergleich stimmt Cariage Return in R0
12
  swieq  1          @Wenn Vergleich stimmt swi 1 ausführen
13
  b      puts_loop1    @wieder von vorne beginnen
14
  
15
puts_end:
16
  ldmfd sp!,{pc}  @ Rücksprung

von Wolfgang Mües (Gast)


Lesenswert?

Hallo Dolphon,

wenn Du für mich arbeiten würdest, würde ich Dir für diesen Kommentar 
die Ohren langziehen!

Weil: Du hast kommentiert, was der Code tut. Das kann aber jeder selbst 
sehen, der ein bisschen Ahnung von Assembler hat.

Der Sinn von Kommentaren ist, das zu kommentieren, was NICHT im Code 
steht und dort herausgelesen werden kann.

Also z.B. zu was diese Funktion eigentlich gut ist, welche 
Besonderheiten sie hat und warum der Coder ausgerechnet diese Lösung für 
das Problem gewählt hat.

Wahrscheinlich lernst Du gerade programmieren. Dann sollte Dir Dein 
Lehrer auch beibringen, wie man richtig kommentiert.

Gruß

Wolfgang

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Wolfgang Mües schrieb:
> wenn Du für mich arbeiten würdest, würde ich Dir für diesen Kommentar
> die Ohren langziehen!

Und die desjenigen, der das programmiert hat -- dafür, dass der Stack 
nicht 8-byte aligned ist. Oder für das Fehlen eines Kommentars, der 
sagt, warum das in diesem Fall nicht für nötig gehalten wird :-)

Gruß
Marcus
http://www.doulos.com/arm/

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
Noch kein Account? Hier anmelden.