Hi, ich habe folgendes Problem.
Ich habe eien 16 bit zahl in xposl (lobyte) and xposh (highbyte)
diese zahl in dezimal wird nie grösser als 560.
Ich muss die durch sieben teilen, sprich mein ergebnis kann ich in einem 8 Byte feld speichern.
Nur , wie teilt man durch 7 ?
(PS: wircklich durch sieben und nicht durch 8!)
Hallo Besucher, der Thread wurde 1,4k mal aufgerufen und enthält 2 Antworten
letzter Beitrag von tecM0 am
-
-
du musst von der zahl so lange 7 abziehen, bis die zahl kleiner/gleich null ist. für jedes mal 7 abziehen setzt du eine zählvariable um 1 höher.
beispiel (ungetestet!):
lda #255
sta counter.loop
inc counter
lda xposl
sec
sbc #7
sta xposl
bcc .loop
dec xposh
lda xposh
bpl .loop.counter
!byte( 0 );musst mal testen, ob das so klappt, kann sein, dass das ergebnis um 1 zu hoch oder zu niedrig ist, kannst dann ja entsprechend anpassen.
-
kuck mal hier: http://www.forum-64.de/wbb2/th…hilight=standard+routinen