Dyskusja:Biblioteczka kodera Atari XL/XE
From Atariki
(Różnice między wersjami)
Wersja z dnia 21:03, 27 gru 2007 Mikey (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 18:21, 6 maj 2008 Xxl (Dyskusja | wkład) (nie wiem czy to się nadaje) Next diff → |
||
Linia 2: | Linia 2: | ||
silwuple ;) [[Użytkownik:Mikey|Mikey]] 22:03, 27 gru 2007 (CET) | silwuple ;) [[Użytkownik:Mikey|Mikey]] 22:03, 27 gru 2007 (CET) | ||
+ | |||
+ | == nie wiem czy to się nadaje == | ||
+ | |||
+ | 1) szybkie mnożenie przez -1. | ||
+ | Z=A*(-1) to | ||
+ | EOR #$ff | ||
+ | STA Z | ||
+ | INC Z | ||
+ | 2) ujemne indeksowanie przy wyszukiwaniu rosnącym - oszczędzamy porównanie w rej. indeksowym np. szukamy wartości A w łańcuchu TAB o długości L. | ||
+ | LDY #$ff-L | ||
+ | CMP TAB-($ff-L),Y | ||
+ | BEQ _JEST | ||
+ | INY | ||
+ | BNE _DO_CMP | ||
+ | [[Użytkownik:Xxl|Xxl]] 20:21, 6 maj 2008 (CEST) |
Wersja z dnia 18:21, 6 maj 2008
proponuje dodać temat "Techniki skracania kodu" obok "Techniki przyspieszania kodu" - procedury optymalizowane nie na szybkość tylko na zajmowane miejsce. Xxl 21:56, 27 gru 2007 (CET)
silwuple ;) Mikey 22:03, 27 gru 2007 (CET)
nie wiem czy to się nadaje
1) szybkie mnożenie przez -1.
Z=A*(-1) to EOR #$ff STA Z INC Z
2) ujemne indeksowanie przy wyszukiwaniu rosnącym - oszczędzamy porównanie w rej. indeksowym np. szukamy wartości A w łańcuchu TAB o długości L.
LDY #$ff-L CMP TAB-($ff-L),Y BEQ _JEST INY BNE _DO_CMP
Xxl 20:21, 6 maj 2008 (CEST)