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:

Code: Alles auswählen

	LDA Wert
	LSR
	ADC Wert
	ROR
	LSR
	LSR
	LSR
	STA Ergebnis

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 :lol:

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
RhoSigma hat geschrieben:
01.06.2025 16:06
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 :lol:
... 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