Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Schachcomputer / Chess Computer: > Die ganze Welt der Schachcomputer / World of chess computers


Antwort
 
Themen-Optionen Ansicht

  #1  
Alt 11.08.2009, 16:37
Benutzerbild von EberlW
EberlW EberlW ist offline
Lebende Foren Legende
 
Registriert seit: 09.01.2005
Ort: Leverkusen-Küppersteg
Alter: 59
Land:
Beiträge: 3.111
Abgegebene Danke: 45
Erhielt 58 Danke für 43 Beiträge
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 sssss3111
AW: D+ und D++

Ich meine, das Carry-Flag wird bei "=" gesetzt und bei "<>" nicht. Ist schon ein paar viele (ca. 20 !) Jahre her das ich mich zuletzt mit dem 6502 befasste, aber ich bin mir ziemlich sicher. Also nix mit >= oder so. Ansonsten stimmt es aber, die Befehle vergleichen den Inhalt zweier Speicherzellen. Es werden bei beiden Programmen die gleichen Zellen verglichen. Das sie das in umgekehrter Reihenfolge tun ist zunächst irrelevant, da es auf das Ergebnis des Vergleichs ankommt der ja nur "wahr" oder "unwahr" sein kann.

Aber:
Der D+ verzweigt wenn der Vergleich "wahr" ist (Carryflag gesetzt) und
der D++ verzweigt wenn der Vergleich "unwahr" ist (Carryflag NICHT gesetzt)

Das steht jedenfalls nicht gegen die These, dass beim D++ andere Routinen angesprochen werden als beim D+. Leider genügt das auch nicht zum Beweis...

Gruß, Willi
Mit Zitat antworten
  #2  
Alt 11.08.2009, 16:46
Benutzerbild von Mach2000
Mach2000 Mach2000 ist offline
Mephisto Genius 68030
 
Registriert seit: 29.01.2007
Ort: Mainz
Alter: 55
Land:
Beiträge: 321
Abgegebene Danke: 21
Erhielt 19 Danke für 10 Beiträge
Aktivitäten Langlebigkeit
0/20 18/20
Heute Beiträge
0/3 ssssss321
AW: D+ und D++

 Zitat von EberlW Beitrag anzeigen
Ich meine, das Carry-Flag wird bei "=" gesetzt und bei "<>" nicht. Ist schon ein paar viele (ca. 20 !) Jahre her das ich mich zuletzt mit dem 6502 befasste, aber ich bin mir ziemlich sicher.

Gruß, Willi
Ich habe nochmal Google bemüht ...

http://www.6502.org/tutorials/compare_beyond.html

A surprisingly common sequence in 6502 code is:

LDA NUM1
CMP NUM2
BCC LABEL
BEQ LABEL

(or something similar) which branches to LABEL when NUM1 <= NUM2. (In this case NUM1 and NUM2 are unsigned numbers.) However, consider the following sequence:
LDA NUM2
CMP NUM1
BCS LABEL

which branches to LABEL when NUM2 >= NUM1, which is the same as NUM1 <= NUM2. Not only that, it's shorter and (in many cases) faster.


Scheint meine Erinnerung mich doch nicht getäuscht zu haben und vielleicht ist genau der Vergleich der Grund dafür, dass der D++ ein Tick selektiver ist, obwohl ansonsten (fast) vollkommen identsich.

Gruß Mike

P.S.: Der ein oder andere hier hat in seiner Jugend sicherlich mal eines meiner Programme mit Unmengen von Data Zeilen aus 'ner 64er oder Happy Computer abgetippt (war 6510 Assembler deshalb ist es mir noch ein wenig vertraut)
__________________
Das Universum und die Dummheit der Menschen sind grenzenlos. Wobei ich mir beim Universum nicht so sicher bin. (Albert Einstein)

Geändert von Mach2000 (11.08.2009 um 16:50 Uhr)
Mit Zitat antworten
  #3  
Alt 11.08.2009, 17:25
Benutzerbild von EberlW
EberlW EberlW ist offline
Lebende Foren Legende
 
Registriert seit: 09.01.2005
Ort: Leverkusen-Küppersteg
Alter: 59
Land:
Beiträge: 3.111
Abgegebene Danke: 45
Erhielt 58 Danke für 43 Beiträge
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 sssss3111
AW: D+ und D++

 Zitat von Mach2000 Beitrag anzeigen
Ich habe nochmal Google bemüht ...

http://www.6502.org/tutorials/compare_beyond.html

A surprisingly common sequence in 6502 code is:

LDA NUM1
CMP NUM2
BCC LABEL
BEQ LABEL

(or something similar) which branches to LABEL when NUM1 <= NUM2. (In this case NUM1 and NUM2 are unsigned numbers.) However, consider the following sequence:
LDA NUM2
CMP NUM1
BCS LABEL

which branches to LABEL when NUM2 >= NUM1, which is the same as NUM1 <= NUM2. Not only that, it's shorter and (in many cases) faster.


Scheint meine Erinnerung mich doch nicht getäuscht zu haben und vielleicht ist genau der Vergleich der Grund dafür, dass der D++ ein Tick selektiver ist, obwohl ansonsten (fast) vollkommen identsich.

Gruß Mike
Ich werde eben alt, Alzheimer lässt grüßen!
Die Existenz von BEQ hatte ich schon ganz vergessen...

Ja, die Befehle bewirken prinzipiell das gleiche ... mit eben den von Dir bereits festgestellten Unterschied von >= zu >. Das heisst, der D+ verzweigt auch dann, wenn beide Speicherinhalte gleich sind. Der D++ tut das nicht. Damit bleibt es aber dabei: Thorsten's These wird dadurch nicht entkräftet (eher erhärtet), aber beweisen kann das leider auch nix...
Zitieren:

P.S.: Der ein oder andere hier hat in seiner Jugend sicherlich mal eines meiner Programme mit Unmengen von Data Zeilen aus 'ner 64er oder Happy Computer abgetippt (war 6510 Assembler deshalb ist es mir noch ein wenig vertraut)
In meiner Jugend warst Du noch etwas jünger (komisch, ist bis heute so geblieben... ) - aber abgetippt habe ich gelegentlich auch, wie wohl die meisten in unserem Alter. Hast Du mal eine Programm-Liste parat? Vielleicht finde ich was wieder. Keine Angst, wenn damals was nicht funzte erwachte zwar stets der Killer in mir, aber das ist heute längst verraucht!

Gruß, Willi
Mit Zitat antworten
  #4  
Alt 11.08.2009, 17:31
Benutzerbild von Mach2000
Mach2000 Mach2000 ist offline
Mephisto Genius 68030
 
Registriert seit: 29.01.2007
Ort: Mainz
Alter: 55
Land:
Beiträge: 321
Abgegebene Danke: 21
Erhielt 19 Danke für 10 Beiträge
Aktivitäten Langlebigkeit
0/20 18/20
Heute Beiträge
0/3 ssssss321
AW: D+ und D++

 Zitat von EberlW Beitrag anzeigen
Keine Angst, wenn damals was nicht funzte erwachte zwar stets der Killer in mir, aber das ist heute längst verraucht!
An den falschen Prüfsummen in den Listings war ich nicht schuld, das war stets das Werk des Verlages

Gruß Mike
__________________
Das Universum und die Dummheit der Menschen sind grenzenlos. Wobei ich mir beim Universum nicht so sicher bin. (Albert Einstein)
Mit Zitat antworten
  #5  
Alt 11.08.2009, 17:37
Benutzerbild von EberlW
EberlW EberlW ist offline
Lebende Foren Legende
 
Registriert seit: 09.01.2005
Ort: Leverkusen-Küppersteg
Alter: 59
Land:
Beiträge: 3.111
Abgegebene Danke: 45
Erhielt 58 Danke für 43 Beiträge
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 sssss3111
AW: D+ und D++

 Zitat von Mach2000 Beitrag anzeigen
An den falschen Prüfsummen in den Listings war ich nicht schuld, das war stets das Werk des Verlages

Gruß Mike
Was haben falsche Prüfsummen mit nicht funzenden Proggis zu tun?
Du willst Dich nur rausreden noch bevor Du dich als Verfasser diverser Reinfälle outest!

Gruß, Willi <--- der sich eben noch was weinhaltiges besorgen muss, weil er sonst das Spiel gleich nicht erträgt...
Mit Zitat antworten
Antwort


Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:59 Uhr.



Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info