Forum: Mikrocontroller und Digitale Elektronik "select case" in ASM... ?


von Christian (Gast)


Lesenswert?

Hallo zusammen,

folgendes Programmierproblem : Ich habe ein 16-Bit-Datenwort welches ja
Werte von 0(dec) bis 65535(dec) annehmen kann. Wie mache ich es nun,
dass bei 0(dec)-2954(dec) Pin1 geschaltet wird, bei 2970(dec)-3570(dec)
Pin2 geschaltet wird, usw... ach ja, in ASM (Werte frei erfunden, es
geht nur ums Prinzip). In C wäre mir das schon klar, da würd ich das
mit einer select-case-Anweisung und ein paar If-Schleifen machen, aber
in ASM ? Mir fällt nicht der kleinste Lösungsansatz ein. Vielleicht
weiß jemand von euch was ... ?

Gruß

Christian

von Forest (Gast)


Lesenswert?

Dividieren. Beim überlauf wird das Carry Bit gesetzt.
mfg

von mmerten (Gast)


Lesenswert?

mit den Befehlskominationen
CPI
CPC
bzw.
CP
CPC
und entsprechenden bedingten Sprüngen kannst du nahezu beliebige
"lange" Werte miteinander vergleichen.

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.