L'assembleur 6502/6510 #08 - LSR/ASL PHA/PLA

  Рет қаралды 118

RetroProgrammation

RetroProgrammation

Күн бұрын

Пікірлер: 8
@bond5174
@bond5174 11 күн бұрын
TMPx et CBM PRG Studio disposent également de macros. La syntaxe n’est pas la même que celle que tu utilises avec tes outils, mais ça fonctionne bien et ça allège bien le code assembleur.
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv 11 күн бұрын
Sans doute ! Je n'utilise ni l'un ni l'autre !
@bond5174
@bond5174 11 күн бұрын
Bonsoir, pour l’exercice avec ASL, je suis parti à l’envers, du bit du fire jusqu’au bit de la position up. Pour le fire 4 asl, puis un asl à chaque fois pour les autres directions. Pour le traitement de chaque appui du joystick la suite du programme et le traitement de chaque direction commence également par le fire et se termine par le up.
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv 11 күн бұрын
Bien joué... Mission complémentaire, réduire la taille du code ;)
@bond5174
@bond5174 13 күн бұрын
Bonsoir, si j’ai bien compris, une macro est une sorte de fonction qui attend un paramètre et ça évite d’alourdir le code source dans l’assembleur ? Par contre une fois assemblé en mémoire du C64, chaque appel de macro est remplacé par la totalité du code qu’elle contient, c’est bien ça ?
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv 13 күн бұрын
Hello Une macro est plutôt un script qui peut prendre un nombre variable de paramètres (0 à n) et qui va remplacer l'endroit où elle sera appelée par son propre contenu modifié via les paramètres. Soit le macro suivante : .macro IncrementeCouleurBordure()[ inc $d020 } .macro DisplayChar(x,y,char,color)[ lda #char sta (1024+x+y*40) lda #color sta (55296+x+y*40) } si dans mon code je mets ceci : main:{ :IncrementeCouleurBordure() :DisplayChar(20,12,160,7) :IncrementeCouleurBordure() rts } à la compilation, kick assembler lira et compilera ceci : main:{ inc $d020 lda #160 sta 1524 lda #7 sta 55796 inc $d020 rts }
@bond5174
@bond5174 13 күн бұрын
Bien compris, merci !
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv 13 күн бұрын
Je t'en prie 👌
L'assembleur 6502/6510 #09 - AND/ORA/EOR
26:12
RetroProgrammation
Рет қаралды 101
Advent of Code 2024 | Day 17 "Chronospatial Computer"
47:21
HyperNeutrino
Рет қаралды 56
Everything You NEED to Know about Docker
18:26
ForrestKnight
Рет қаралды 28 М.
I built my own 16-Bit CPU in Excel
15:45
Inkbox
Рет қаралды 1,6 МЛН
Le speedrun le plus cruel de tous les temps
20:57
Kombo
Рет қаралды 461 М.
DIY Surround Sound... USING LASERS!
21:26
DIY Perks
Рет қаралды 1,2 МЛН
Quel ordinateur pour apprendre à coder ?
8:02
Benjamin Code
Рет қаралды 63 М.
Best Of The Internet (2024)
30:13
Daily Dose Of Internet
Рет қаралды 2 МЛН
Why cars are getting UGLIER
20:54
Bart's Car Stories
Рет қаралды 49 М.