Seite 1 von 1
10 % - Wert einer Zahl
Verfasst: 31.05.2025 22:32
von Dr. Irata
noch mal eine "knifflige" Aufgabe:
LDA Wert
LSR ;(50%)
LSR ;(25%)
LSR ;(12%)
Aber wie bekomme ich möglichst effektiv die 10% ??
Wer hat den smartesten und schnellsten / kürzesten Ansatz in Assembler??
Re: 10 % - Wert einer Zahl
Verfasst: 01.06.2025 11:32
von Dr. Irata
... hier mal mein schneller Ansatz: (ist natürlich nur eine recht gute Näherung)
Code: Alles auswählen
LDA Wert
LSR
LSR
LSR
TAX
LDA TabKorr,x
STA Ergebnis
TabKorr
.byte 0,1,2,3,4,5,6,6,7,8,9,9,10,11,12,13,13,14,15,16,17,17,18,19,20,21,21,22,23,24,25
Re: 10 % - Wert einer Zahl
Verfasst: 01.06.2025 15:58
von RhoSigma
Du könntest 1.5 / 16 als Näherung für 1/10 nehmen, also:
Re: 10 % - Wert einer Zahl
Verfasst: 01.06.2025 16:06
von RhoSigma
Vielleichst solltest Du für Deine "Aufgaben" mal dem GNU-Superoptimizer 6502 beibringen
https://www.gnu.org/software/superopt/
Einmal gemacht, löst der dann ohne KI alle Aufgaben für Dich

Re: 10 % - Wert einer Zahl
Verfasst: 01.06.2025 17:13
von LarsImNetz
Was wäre denn effektiv für Dich, Peter?
Sind 30 Zyklen noch ok, dann das Original Accu/10 Ergebnis steht im Akku.
Quelle:
https://forums.nesdev.org/viewtopic.php?f=2&t=11336
Code: Alles auswählen
lsr
sta temp
lsr
adc temp
ror
lsr
lsr
adc temp
ror
adc temp
ror
lsr
lsr
Sonst nimm die Näherung.
Re: 10 % - Wert einer Zahl
Verfasst: 01.06.2025 17:18
von Dr. Irata
ja super Lösung
Re: 10 % - Wert einer Zahl
Verfasst: 01.06.2025 17:20
von Dr. Irata
... es geht gar nicht um Lösungen für mich...
Bald unterhalten sich hier im Forum dann eh nur noch KI´s und wir können dann ganz entspannt passiv mitlesen, das wäre wohl für alle am einfachsten...
Re: 10 % - Wert einer Zahl
Verfasst: 01.06.2025 17:24
von atarixle
Der Atari soll doch einen Dezimal-Modus haben, den würde ich dafür benutzen.
Re: 10 % - Wert einer Zahl
Verfasst: 02.06.2025 10:56
von RhoSigma
atarixle hat geschrieben: ↑01.06.2025 17:24
Der Atari soll doch einen Dezimal-Modus haben, den würde ich dafür benutzen.
Nutzt nix, weil es keine Konvertierungsinstruktionen gibt. D.h. die Umwandlung von Hex in Dezimal ist trotzdem teuer. Wenn natürlich der ganze Code in BCD ist, dann ja, vier LSR