L'assembleur 6502/6510 #09 - AND/ORA/EOR

  Рет қаралды 103

RetroProgrammation

RetroProgrammation

Күн бұрын

Cours n°9 sur l'assembleur 65xx et son application au Commodore 64.
Au programme :
Dans le compilateur :
la création de fichiers dédiés aux macros
la mutualisation des morceaux de code
l'accès à des sous-partie de code
Dans le langage assembleur 65xx :
AND : Effectuer une opération logique AND
ORA : Effectuer une opération logique OR
EOR : Effectuer une opération logique XOR
Dans la ROM du Commodore :
Effectuer un RESET de la machine
Les prérequis pour cette vidéo sont les même que dans le cours n°1 : • L'assembleur sur Commo...
On commence par le déplacement des macros dans un fichier dédié, puis la correction de l'exercice proposé en fin de cours n°8, dans lequel vous découvrirez la mutualisation de code déjà existant.
Ensuite, je présente les 3 nouvelles instructions AND, ORA et EOR accompagnée d'un exercice pratique. Ce sera également l'occasion d'accéder à des sous-parties de code en utilisant le caractère [point] pour définir l'emplacement de code auquel vous souhaitez faire référence.
Je termine la vidéo en vous proposant un nouvel exercice pour la prochaine fois, afin de mettre en pratique l'ensemble des connaissances acquises au long de l'ensemble des vidéos de cette série de cours.
Voici la liste des liens que je présente dans la vidéo :
Les instructions du processeur 6502/6510 : www.6502.org/us...
La "Memory Map" du Commodore 64 :
sta.c64.org/cb...
La ROM (BASIC et KERNEL) du Commodore 64 :
skoolkid.githu...
N'hésitez pas à revenir vers moi dans les commentaires si nécessaire. Toutes les questions sont bonnes à prendre et je répondrai à tout le monde !!!
Et n'oubliez pas qu'un petit pouce en l'air en signe d'encouragement fait toujours plaisir, et qu'un nouvel abonnement est toujours agréable.
Prenez soin de vous.

Пікірлер: 11
@bond5174
@bond5174 6 күн бұрын
Encore merci pour cette nouvelle vidéo. Pour l’exercice, il n’y a plus qu’à mettre les mains dans le cambouis. 😊
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv 6 күн бұрын
Tout à fait 🎉 C'est pas super compliqué 😜
@jackysam2918
@jackysam2918 12 сағат бұрын
Je débute en Assembler, est ce que comprendre les bases du 6502 peut m'aider à apprendre x86?
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv 7 сағат бұрын
Bonjour, les instructions sont différentes entre les 2 types de processeurs, mais surtout, l'adressage mémoire fonctionne complètement autrement. Il est préférable de trouver des tutoriels x86 (ou mieux, x64 pour maintenant, autant apprendre sur ce qu'il y a de plus récent !)
@bond5174
@bond5174 4 күн бұрын
Pas si facile que ça : J'ai bien compris ce qu'il fallait programmer pour chaque appui ou combinaison de touches enfoncées, mais je bute sur un problème : Si je programme le UP seul, le LEFT seul et le UP+LEFT enfoncés, j'obtiens des 0 avec UP appuyé, des 7 avec le LEFT enfoncé, mais si j'appuie sur le UP et LEFT en même temps, j'aurais sois du 0 ou du 7 comme résultat. Si je laisse les touches enfoncées, je vois bien le 2, le 0 et le 7 qui défilent, mais je n'arrive jamais à afficher le 2. Pour un appui simultané de 2 touches, il faudrait que je neutralise les tests de vérification d'appui d'une seule touche. Je suis peut-être passé à côté d'un petit détail qui fait tout ....
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv 2 күн бұрын
euhhh... Tu peux me mettre le code qui te donne les 0 et les 7 ?
@bond5174
@bond5174 2 күн бұрын
@@RetroProgrammation-fq1cv Oui, voici : START_TEST_JOYSTICK ldy PRA ; port A du joystick $DC00 ; ************************************************* ; * UP Afficher des zéros à l'écran * ; ************************************************* tya and #%00000001 bne SUITE1 lda #48 ; caractère 0 jsr FILL_SCREEN SUITE1 ; ************************************************* ; * LEFT Afficher des 7 à l'écran * ; ************************************************* tya and #%00000100 bne SUITE2 lda #55 ; caractère 7 jsr FILL_SCREEN SUITE2 jmp START_TEST_JOYSTICK
@bond5174
@bond5174 2 күн бұрын
@@RetroProgrammation-fq1cv Tiens, c'est curieux, je t'avais mis une réponse vers 14H00, et celle-ci ainsi que tout le code a disparu ...
@RetroProgrammation-fq1cv
@RetroProgrammation-fq1cv Күн бұрын
OK... Alors, en fait, lorsque tu appuie sur tes 2 touches UP + LEFT, dans ton code, tu commences par tester UP sans regarder LEFT, et donc tu traites UP avec ton JSR et tu reviens pour tester LEFT ... sans UP et ainsi tu traites pour LEFT et tu reviens pour traiter la suite. Ce qu'il convient de faire est plutôt de tester les combinaisons. Si elles apparaissent, tu les traites et, surtout, tu sors de tout autre traitement pour recommencer ta boucle. Donc commencer par 2 directions + fire, puis les doubles directions, puis les simples directions avec fire, et enfin les simple direction et fire tout seul.
@bond5174
@bond5174 23 сағат бұрын
Bien compris. Je m’en étais sorti avec une méthode qui vaut ce qu’elle vaut : une variable appelée trois boutons et activée à 1 lorsque trois boutons sont appuyés et une variable appelée deux boutons et activée à 1 lorsque deux boutons sont activés. Si l’on passe dans le test d’un seul bouton appuyé et que ces 2 variables sont à 1, le test est ignoré. De même si l’on passe dans le test de l’appui de 2 boutons et que la variable 3 boutons est activée, ce test est ignoré. En fin les variables sont remises à 0 lors du relâchement de tout appui de plusieurs touches.
L'assembleur 6502/6510 #08 - LSR/ASL PHA/PLA
30:12
RetroProgrammation
Рет қаралды 121
Is 8-Bit Minecraft Possible?
12:58
Inkbox
Рет қаралды 1,4 МЛН
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 2 МЛН
L'informatique quantique, c'est simple, en fait.
8:44
V2F
Рет қаралды 430 М.
Scrolling horizontal intégral en assembleur sur Commodore 64
28:40
Commodore 64 & 6510 retro-programming
Рет қаралды 367
What is the Smallest Possible .EXE?
17:04
Inkbox
Рет қаралды 546 М.
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 3,3 МЛН
L'assembleur 6502/6510 #04 - LDY/CPY INY/DEY TAX/TXA TAY/TYA
23:47
RetroProgrammation
Рет қаралды 170
Hacking An Obscure Game From 2000 To Run On Windows 11
16:22
Nathan Baggs
Рет қаралды 104 М.
EB_#359 Introduction - Le Langage Informatique Assembleur
27:08
Électro-Bidouilleur
Рет қаралды 43 М.
Bachar al-Assad, "réfugié de luxe" à Moscou|LCI
10:27
What happens if you connect Windows XP to the Internet in 2024?
20:35
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 2 МЛН