Wielobajtowe NOP-y

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 21:20, 27 gru 2007
Xxl (Dyskusja | wkład)

← Previous diff
Wersja z dnia 21:25, 27 gru 2007
Xxl (Dyskusja | wkład)

Next diff →
Linia 2: Linia 2:
-'''1. Wartość w rejestrze A,X,Y zależy od parametru.'''+'''Wartość w rejestrze A,X,Y zależy od parametru.'''
przykład: IF zmienna=dana THEN A=dana1 ELSE A=dana2 - badane mogą być inne relacje zmienna - dana. przykład: IF zmienna=dana THEN A=dana1 ELSE A=dana2 - badane mogą być inne relacje zmienna - dana.
standardowo: standardowo:
- +<pre>
LDA zmienna LDA zmienna
CMP dana CMP dana
Linia 15: Linia 15:
_1 LDA #dana2 _1 LDA #dana2
_2 ... _2 ...
 +</pre>
można zapisać również tak: można zapisać również tak:
- +<pre>
LDA zmienna LDA zmienna
CMP dana CMP dana
Linia 23: Linia 24:
LDA #dana2 LDA #dana2
_1 BIT $xxA9 ; $xx - dana1, $A9 kod rozkazu LDA _1 BIT $xxA9 ; $xx - dana1, $A9 kod rozkazu LDA
 +</pre>

Wersja z dnia 21:25, 27 gru 2007

Na stronie znajdują się metody pozwalające skrócić kod, często kosztem szybkości działania programu.


Wartość w rejestrze A,X,Y zależy od parametru.

przykład: IF zmienna=dana THEN A=dana1 ELSE A=dana2 - badane mogą być inne relacje zmienna - dana.

standardowo:

   LDA zmienna
   CMP dana
   BNE _1
   LDA #dana1
   BNE _2      ; BEQ
_1 LDA #dana2
_2 ...

można zapisać również tak:

   LDA zmienna
   CMP dana
   BNE _1+1
   LDA #dana2
_1 BIT $xxA9   ; $xx - dana1, $A9 kod rozkazu LDA
Personal tools