Bon je n'ai pas une longue expérience dans ce domaine, du coup je me pose des questions mais elles sont relatives à l'expérience acquise.
Je n'ai pas une question technique sur un processeur particulier mais je code en asm 65816.
Bon ma première question : privilégier MACRO ou fonction ?
Personnellement, je n'utilise que des macros, du coup l'instruction JSR (cycle 6-8) ne me sert pas.
Après j'imagine que le mieux est d'utiliser une fonction quand les macros commencent à être limitées ? Ou un probleme de la taille d'exécutable (mais il faut écrire vraiment pas mal j'imagine).
Donc quand utiliser JSR ?
Ensuite je n'utilise pas le push et pop, PHA et PLA (cycle 3 chacun), alors que LDA (cycle 2-4 (const-addr) ) et STA (cycle 4) reviennent au même et je préfère stocker en mémoire .
Sinon question 'bête' : y a-t-il un moyen de savoir quel est la capacité de la pile en stockage ?
Je n'arrive vraiment pas à trouver un moment où il serait plus avantageux.
Avec push/pop
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 lda $4219 ; read joypad (cycle 4) AND #$01 cmp #$01 bne + lda 0 inc A sta 0 + lda $4219 ; read joypad AND #$02 cmp #$02 bne + lda 0 dec A sta 0 +
Voilà pour mes petites questions, enfin elle me sont importantes vu que cela déterminera comment je coderai en asm.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 lda $4219 ; read joypad (cycle 4) pha ( cycle 3 ) pha ( cycle 3 ) pla (cycle 3) AND #$01 cmp #$01 bne + lda 0 inc A sta 0 + pla (cycle 3) AND #$02 cmp #$02 bne + lda 0 dec A sta 0 +
Bien sûr le but est d'optimiser le code .
Partager