Wenn der 16-Bit-Zeiger im Mega8 NULL ist, dann (und nur dann) soll etwas NICHT getan werden ? Habe es derzeit so gemacht: cpi ZL, 0 brne weiter cpi ZH, 0 breq Ende weiter: rcall AuszuführendeRoutine Ende: Man sehr muss aufpassen,dass man das brne und das breq nicht vertauscht. Und dann noch Zwei Labels, die sich auch noch überschneiden!!! Geht das nicht auch einfacher?
Nichts leichter als das, sagte Frederick zu Piggeldy: adiw Z,0 breq weiter rcall AuszuführendeRoutine weiter: zu Z (word) wird 0 addiert. Wenns 0 war bleibts 0 , ansonsten bleibt es was es vorher war.
Wow, da muss man erst mal drauf kommen! Dass so etwas Unsinniges, wie Null zu einer Zahl zu addieren indirekt die Information gibt, dass die ursprüngliche Zahl Null war. Aber jetzt, wo ich es sehe, ist es sonnenklar. Falls Z Null ist, dann setzt adiw Z,0 das Zeroflag was dann von breq erkannt wird. Genial! Danke:)))
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.