π
<-
Chat plein-écran
[^]

[ASM] Snake en assembleur

Assembleur, Axe, C/C++, ICE...

Re: Snake en assembleur

Message non lude Dark coco » 08 Mar 2017, 22:32

Merci TheMachine02 et Epharius . Oui j'ai complètement oublié que le registre bc etais utilisés pour x . Donc sa aurais fonctionner que pour une ligne de pixel . :?

PT_ a écrit:
Code: Tout sélectionner
ld a, y
ld de, pointeur
ld hl, data

CopyLine:
ld bc, x
ldir
ex de, hl
(inc b)
ld c, 320-256-x
add hl, bc
ex de, hl
dec a
jr nz, CopyLine

:troll:


Why you inc b and you subtract to c 256 ? :p
Dernière édition par TheMachine02 le 08 Mar 2017, 22:40, édité 1 fois.
Raison: Posts combinés
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
Avatar de l’utilisateur
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 65.8%
 
Messages: 95
Inscription: 15 Jan 2017, 14:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: dut gte

Re: Snake en assembleur

Message non lude Dark coco » 09 Mar 2017, 20:20

Aujourd’hui décidément, :? . Je rencontre un petit problème et donc je manque de registre .
Voilà pour contrer ça j'utilise la pile :p , mais quand il faut récupérer le contenu d'un registre en particulier cela devient assé difficile .
Bon voilà le problème :

j'ai 5 instructions qui sont entré dans cette ordre "DE","BC",BC,HL,"AF" et je veux récupéré ceux qui son entre guillemet sachant que c'est dernier entrer premier sortie . Et je dispose de AF,BC,DE,HL

Donc pour illustrer:
PUSH DE
PUSH BC
PUSH BC ; ça peut paraitre bizard mais c'est bien cette ordre . :p
PUSH HL
PUSH AF

Je ne sais pas si c'est possible mais bon je veux bien votre avis :p .
Merci
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
Avatar de l’utilisateur
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 65.8%
 
Messages: 95
Inscription: 15 Jan 2017, 14:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: dut gte

En ligne

Re: Snake en assembleur

Message non lude Epharius » 09 Mar 2017, 21:56

Eh bien oui, il n'y a aucune raison que ça ne marche pas. Pourquoi ? Pense aussi que tu peux utiliser IX.
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: Snake en assembleur

Message non lude Dark coco » 09 Mar 2017, 23:35

Merci je viens de résoudre Le problème j'avais complètement oublier les registres IX et IY merci :p
Dernière édition par Dark coco le 11 Mar 2017, 14:53, édité 1 fois.
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
Avatar de l’utilisateur
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 65.8%
 
Messages: 95
Inscription: 15 Jan 2017, 14:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: dut gte

En ligne

Re: Snake en assembleur

Message non lude Epharius » 10 Mar 2017, 09:31

Fais attention cependant en utilisant IY car il est utilisé pour les flags (genre set 7, (IY+9) tas du voir ça quelque part), je ne sais pas si c'est nécessaire de le restaurer à la fin de ton programme (avec D00080) mais bref, si tu utilises IY fais gaffe :P
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: Snake en assembleur

Message non lude TheMachine02 » 10 Mar 2017, 10:16

Oui c'est nécessaire de le restaurer sinon ça crash au retour. Au moins tu peux l'utiliser même avec les interruptions systèmes maintenant.
Avatar de l’utilisateur
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 29.4%
 
Messages: 341
Images: 0
Inscription: 16 Jan 2013, 18:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Médecine

Re: Snake en assembleur

Message non lude Dark coco » 12 Mar 2017, 00:32

Ok je vais faire attention quand j'utiliserai le registre IY :p sinon j'ai bientôt finit le coeur du programme ( la gestion des touches et l'affichage) :) . J'utilise une matrice pour l'effacement et les autres sprites qui suivent (corps, changement de direction, la queue) . Par contre j'aurait besoin de conseil pour les détections de collisions (pomme, les serpents qui touche les bords.
Merci de votre aide :) .
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
Avatar de l’utilisateur
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 65.8%
 
Messages: 95
Inscription: 15 Jan 2017, 14:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: dut gte

En ligne

Re: Snake en assembleur

Message non lude Epharius » 12 Mar 2017, 11:06

Si c'est stocké dans une matrice tu peux simplement comparer la position du sprite avec ce qu'il y a dans la matrice.
Si tu veux faire simple (mais contraignant) tu peux juste récupérer la couleur qu'il y a devant le snake et voir si c'est la couleur de la pomme d'un mur etc.
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: Snake en assembleur

Message non lude Dark coco » 12 Mar 2017, 21:48

Ok, merci, je vais faire ça :p . J'ai enfin fini la partie d'affichage des sprites avec le réglage de la matrice . Voici, le code B-) :D http://pastebin.com/qsZYyAPw, si vous pensez qu'il y a plus rapide, par exemple au lieu d'utiliser la pile à certain endroit je ne sais pas si utiliser la SafeRAM Areas serais mieux :) .
Bon je sais qu'il est imbuvable mais vous avez l’habitude avec ce que vous faîtes comme code :D .
Je n'ai pas encore réalisé les sprites, ni les adresses de la matrice, ni la position des pointeurs . >:]
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
Avatar de l’utilisateur
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 65.8%
 
Messages: 95
Inscription: 15 Jan 2017, 14:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: dut gte

Re: Snake en assembleur

Message non lude Dark coco » 17 Mar 2017, 22:38

Bonsoir,

Je rencontre un petit soucis :) . Je dois récupérer une valeur ne dépassant pas 450, pour cela je voulais utilisé AND pour sélectionner les bits . Et c'est là que vient le problème c'est que je ne peux pas avoir accès à Hyper bite :troll: . Je comptais passer par des push et des POP :
PUSH HL ; ->HLU, H, L
POP AF ; <- HLU, H
;Instruction
PUSH AF ; -> HLU, H
POP HL ; <- HLU, H, L


mais je ne sais pas si ça marche comme ça . :)
Merci de votre aide . :p
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
Avatar de l’utilisateur
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 65.8%
 
Messages: 95
Inscription: 15 Jan 2017, 14:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: dut gte

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 28 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1505 utilisateurs:
>1451 invités
>49 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)