10 % - Wert einer Zahl

Moderator: Rockford

Antworten
Benutzeravatar
Dr. Irata
Beiträge: 1265
Registriert: 24.08.2021 14:40
Has thanked: 182 times
Been thanked: 417 times
Kontaktdaten:

10 % - Wert einer Zahl

Beitrag 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??

Benutzeravatar
Dr. Irata
Beiträge: 1265
Registriert: 24.08.2021 14:40
Has thanked: 182 times
Been thanked: 417 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

Beitrag 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


Benutzeravatar
RhoSigma
Beiträge: 84
Registriert: 29.04.2024 22:44
Has thanked: 1 time
Been thanked: 14 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

Beitrag 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

Benutzeravatar
RhoSigma
Beiträge: 84
Registriert: 29.04.2024 22:44
Has thanked: 1 time
Been thanked: 14 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

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

Benutzeravatar
LarsImNetz
Beiträge: 216
Registriert: 24.08.2021 18:27
Has thanked: 201 times
Been thanked: 112 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

Beitrag 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.

Benutzeravatar
Dr. Irata
Beiträge: 1265
Registriert: 24.08.2021 14:40
Has thanked: 182 times
Been thanked: 417 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

Beitrag von Dr. Irata »

ja super Lösung

Benutzeravatar
Dr. Irata
Beiträge: 1265
Registriert: 24.08.2021 14:40
Has thanked: 182 times
Been thanked: 417 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

Beitrag 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...

Benutzeravatar
atarixle
Beiträge: 381
Registriert: 18.06.2021 21:19
Has thanked: 39 times
Been thanked: 73 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

Beitrag von atarixle »

Der Atari soll doch einen Dezimal-Modus haben, den würde ich dafür benutzen.

Benutzeravatar
RhoSigma
Beiträge: 84
Registriert: 29.04.2024 22:44
Has thanked: 1 time
Been thanked: 14 times
Kontaktdaten:

Re: 10 % - Wert einer Zahl

Beitrag 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

Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast