Dyskusja:Biblioteczka kodera Atari XL/XE

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
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)

Personal tools