Re: Beispielprogramm für Assemblereinsteiger Kategorie: Programmierung Assembler (von PeterS - 29.10.2010 9:19) | |
Als Antwort auf Re: Beispielprogramm für Assemblereinsteiger von PeterS - 29.10.2010 9:16
| |
> > Hallo zusammen, > > nachdem ich von Ernst H die Taktmessung probiert habe, war ich eben so erstaunt wie er > > das soviele Takte für einfache Befehle gebraucht werden. Mit dieser hilfreiche Routine > > konnte ich aber einige Verbesserungen in der Quellcodegestaltung vornehmen. > > Ebenso habe ich mich an meine bescheidenen 8088/86 Kenntnisse erinnert und das > > Beispiel der Assemblereinbindung ausprobiert. Der 2. Teil dieses Beispiels funktioniert > > nicht einwandfrei. In der Beschreibung ist zu finden, dass einige Register nicht zu sichern sind. > > R28 wird in dem Beispiel benutzt obwohl es gesichert(PUSH R28) werden sollte. > > Wenn in dem Beispiel (proc2:) als erstes PUSH R28 und als letzte Zeile POP R28 > > hinzugefügt wird gibt es keine nachfolgenden Störungen im Programm. > > > > Gibt es deutsche Befehlsbeschreibungen der MOVW, LDD usw. Ich tue mich da etwas schwer.... > > > > Gru�, Manfred > > Hallo Manfred, > > ich habe es im Forum mehrfach geschrieben, und auch in der neuen Beta Doku ist es korrigiert: > Bitte nicht das Y-Register (R28,R29) benutzen! Das Y-Register wird im Interrupt gebraucht und > selbst wenn man es sichert, könnte die Interruptroutine schaden nehmen. Diese Erkenntnis habe > ich auch selbst später gewonnen, so da� es in der aktuellen Doku noch falsch steht. > > Die Zählung der Takte von Ernst H ist für manche Befehle irgendwo fehlerhaft. Gerade der > "Var++" verbraucht weniger Takte als ein "Var= Var+1". Ich werde dazu noch was schreiben. Ooops, hatte ich gerade falsch im Gedächtnis: Ernst hatte ja "Var++: 260 Takte", und "Var= Var+1" 291 Takte" gemessen. Die Werte sind aber trotzdem zu hoch. > > Gruss Peter | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum