GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Mr ToutLeMonde et la programmation NES...

+23
brokestudio
F.L
grostonton
Ned_Flanders
Tryphon
philip
fanoplusplus64K
tfdi
Ricco59_59
Top l'âne
tetsuro
upsilandre
nemokantio
Stef
pckid
ichigobankai
suisseretrogaming
patapouf31
vingazole
koan75
joelabroc
drfloyd
vincent2105
27 participants

Page 5 sur 34 Précédent  1, 2, 3, 4, 5, 6 ... 19 ... 34  Suivant

Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Mar 2 Déc 2014 - 21:57

Non, je faisais du C, puis j'ai commencé à remplacer des routines en asm petit à petit, et j'ai appris comme ça  Wink ..
maintenant je vais plus vite en asm qu'en C, et surtout le code est déjà optimisé ..

Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par pckid Mar 2 Déc 2014 - 21:59

Je vais faire un petit jeu avec le Sgdk puis je verrais comment cela avance.
Ca donne espoir ! ce que tu dis
pckid
pckid
Infirmier

Masculin Nombre de messages : 3753
Age : 47
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Mar 2 Déc 2014 - 22:03

je t'assure que c'est pas si compliqué qu'on pense ..
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par pckid Mar 2 Déc 2014 - 22:15

De toute façon je veux arriver à faire quelque chose sur Pc engine, alors j'ai décidé
de faire en 1er sur megadrive en C, en esperant que mon algo pourra être transférer sur Nec.

Je vais mettre mes avancées dans un thread, mais je suis un peu bloqué par le boulot , ca fait plus d'une semaine que j'ai pas pu faire du Sgdk!
pckid
pckid
Infirmier

Masculin Nombre de messages : 3753
Age : 47
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Mar 2 Déc 2014 - 22:19

Le principe restera le même le code non, certaines parties devront être forcement réécrites .

Le compilateur de sgdk(sdcc) est bcp plus puissant que celui de Huc .
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Jeu 4 Déc 2014 - 11:24

J'ai légèrement modifié ma routine qui utilisait la variable "seed" pour choisir une trajectoire et suite à ça, ça passe su NES.

Après, pour rendre les échanges moins monotones, j'ai créé une liste de "vitesses de tir"... Comme pour la trajectoire, la vitesse d'un tir est choisie dans une liste en fonction de "seed".
Ca passe très bien sur émulateur.
Sur NES, je n'ai pas de problème tant que le déplacement du joueur ne coïncide pas avec la vérification de la collision "balle / joueur" et donc du choix de la nouvelle trajectoire. Or, plus le jeu s'accélère, plus ce cas se présente (lorsque le jeu est "lent", on a le temps de se positionner bien avant).
Je pense donc que j'en demande un peu trop d'un coup à ma bonne vieille NES Mr ToutLeMonde et la programmation NES... - Page 5 418468. J'imagine même plus lui demander d'actualiser le score...

A bientôt pour de nouveaux bugs MDR
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 11:44

LOL, tu as modifié quoi dans ta routine ???
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Jeu 4 Déc 2014 - 16:29

Au départ, j'ai créé 3 listes comportant les 3 trajectoires possibles à partir de chaque position :

liste_trajectoires_position_gauche:
  dw enface, droite, droitedroite

liste_trajectoires_position_milieu:
  dw gauche, enface, droite

liste_trajectoires_position_droite:
  dw gauchegauche, gauche, enface

Pour choisir une trajectoire :
D'abord, je récupère la position du joueur, puis je sélectionne la liste adéquate.
Ensuite j'appelle ma routine srand pour triturer ma variable "seed" et obtenir un nombre aléatoire.
 
Vu que je n'avais que 3 éléments dans chaque liste, et si j'ai bien compris les explications de Vingazole, je ne pouvais utiliser l'astuce du AND, j'avais donc bidouillé pour contenir ma variable entre 0 et 2.

Afin de supprimer cette bidouille qui me prenait quelques lignes, j'ai rajouté dans chacune des listes 1 élément (une trajectoire doublon) de manière à pouvoir "ANDer" ma variable (AND #$03).


Dernière édition par vincent2105 le Jeu 4 Déc 2014 - 17:38, édité 1 fois
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 16:46

Ah ok, donc avant tu avais 3 choix et tu faisais un AND #$3,c'est ça ???
Si c'est ça je comprends que qd le résultat était 3 ça sautait n'importe ou,et faisait planter ton jeu  ..
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Jeu 4 Déc 2014 - 17:36

Non, au départ, j'ai pas fait un AND #$03.
Mais, avec 3 choix, est-ce que je pouvais faire un AND #$02 ? Si j'ai bien compris Vingazole, ce n'était pas possible car ce n'est pas une puissance de 2.
Vingazole a écrit:
Touko utilise une "ruse" avec son AND : faire AND 3 revient à obtenir le reste de la division entière de A par 4 (c'est ce qu'on appelle le modulo, généralement noté mod), ici A = A AND 3 = A mod 4, cela permet de "contenir" l'indice A entre 0 et 3.

On peut généraliser cette propriété :    A  mod  (2^n)   =   A  AND  (2^n - 1)

Attention avec cette astuce : elle ne fonctionne que pour des puissances de deux, si tu ajoutes une valeur à ton tableau tu te retrouves avec 5 valeurs; 5 n'étant pas une puissance de deux tu ne peux pas faire AND 4 pour calculer le "modulo 5" (dans ce cas tu obtiendrais A AND 4 = 0 pour toute valeur de A comprise entre 0 et 3 et A AND 4 = 4 pour A=4, ce qui n'est franchement pas le résultat escompté Mr ToutLeMonde et la programmation NES... - Page 5 418468 ) !
J'ai donc contenu ma variable "seed" entre 0 et 2 grâce à quelques lignes de bidouille et ça marchait sur émulateur mais pas sur NES.
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 19:07

vincent2105 a écrit:Non, au départ, j'ai pas fait un AND #$03.
Mais, avec 3 choix, est-ce que je pouvais faire un AND #$02 ? Si j'ai bien compris Vingazole, ce n'était pas possible car ce n'est pas une puissance de 2.
En effet, tu n'obtiendrais que les résultats 0 et 2 avec un AND #$02 (2 étant codé par 00000010 en binaire sur 8 bits, tu ne conserverais que le bit n°1 - le deuxième bit à partir de la droite - de la valeur initiale).

Le problème avec ta trajectoire doublon c'est que si ton nombre est "vraiment" aléatoire, tu auras statistiquement deux fois plus souvent la trajectoire doublon par rapport aux deux autres Wink
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 19:10

Si j'ai bien compris il utilise une jump table ??
Il suffit d'envoyer son choix doublon sur un RTS, comme ça les stats sont sauves  Mr. Green
Ou rajouter après le and #03
cmp #03
bcc .inf_a_3
dec A

.inf_a_3
tax


Et le tour est joué .. Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 19:32

TOUKO a écrit:Ou rajouter après le and #03
cmp #03
bcc .inf_a_3
dec A

.inf_a_3
tax

D'après ce que je comprends tu traites le cas "3" en le ramenant au cas "2", ça revient à faire un doublon et donc deux fois plus de chances de tomber sur la trajectoire "2" que sur les trajectoires "0" et "1" prises individuellement Mr. Green


Edit : ah ben non, vu que tu as limité les valeurs dans l'intervalle [0;3] avec le AND, la comparaison avec #03 laissera toujours la CARRY à zéro (3-3 = 0 et C=0), et tu brancheras toujours vers le label inf_a_3, non ?
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 19:48

Non, bcc c'est inférieur à (if carry clear), donc ça branche si A = 0 -> 2
ici le flag Z (zero), et C(carry) sont à 1 après le cmp si A=3 ou plus (bon après le and pas plus que 3) .

PS: C'est pas valable, ce con de 6502 ne peut pas incrémenter/décrémenter l'accumulateur  Evil or Very Mad

PS2/ En fait tout dépend de la version du 6502  Sad


Dernière édition par TOUKO le Jeu 4 Déc 2014 - 20:15, édité 3 fois
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 19:56

C'est bizarre, sur les autres CPU une comparaison c'est une soustraction dont tu ne conserves pas le résultat mais seulement l'état des flags...

Si tu soustrais 3 de 3, tu obtiens zéro et la carry est "clear" (elle serait à 1 à partir de 4), ce qui fait que le branchement serait effectué pour toutes les valeurs de 0 à 3.

Mais ça c'est sur les autres CPU Wink
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 20:08

C'est vrai que logiquement c'est pas faux, mais avec les 65xx des fois faut pas chercher la logique  Mr. Green

En fait tu as 2 opcodes
bcc (branch if carry clear) branche si inférieur,et bcs qui branche si supérieur ou egal (carry set).
Peut être que sur les autres CPU c'est le contraire ??


Dernière édition par TOUKO le Jeu 4 Déc 2014 - 21:30, édité 1 fois
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 20:20

Sur z80 c'est JP C,label et JP NC,label qui branchent sur label quand la carry est à 1 pour le premier et quand elle est à zéro pour le second.
Sur 8086/8088 tu as des mnémoniques différents ayant la même fonction pour éviter les problèmes (selon que tu fais une comparaison signée ou non signée, par exemple).

Tu es bien sûr que ton bcc n'est pas un "branche si inférieur ou égal", je serais vraiment étonné du contraire (même venant d'un 65xx lol! ).
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 20:25

LOL, bah aucun de mes programmes ne marcherait sinon, parce que c'est difficile de pas en utiliser une centaine de ces opcodes dans un jeu  Mr. Green

Tu peux même t'amuser à tester ici si tu veux  Wink:
http://skilldrick.github.io/easy6502

Sur Z80 le jr c c'est aussi un test si seulement moins non ??
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 20:35

Non, c'est bon, je viens de comprendre le truc : sur z80 on a une "vraie" soustraction (SUB), différente de la soustraction avec retenue (SBC - substract with carry) : c'est cette soustraction qui est employée, laissant la carry à zéro quand tu compare 3 avec 3.

Sur les 65xx il n'y a que la soustraction avec retenue (il me semble), et la comparaison CMP xx est équivalente à la séquence SEC (Set Carry) et SBC xx, ce qui fait que le microprocesseur calcule la différence "moins 1", d'où les comportements différents !

C'est vraiment tordu, quand même Mr ToutLeMonde et la programmation NES... - Page 5 435303
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 20:41

LOL, non pas du tout, les comparaisons sur 65xxx sont des sub sans carry aussi.
En fait tout est très simple sur 65xxx, et l'inverse est vrai aussi, tout me semble compliqué sur Z80  Wink

The CMP instruction supports eight different addressing modes, the same ones supported by the ADC and SBC instructions. Since the X and Y registers function primarily as counters and indexes, the CPX and CPY instructions do not require this elaborate addressing capability and operate with just three addressing modes (immediate, absolute, and zero page).
The compare instructions subtract (without carry) an immediate value or the contents of a memory location from the addressed register, but do not save the result in the register. The only indications of the results are the states of the three status flags: Negative (N), Zero (Z), and Carry (C). The combination of these three flags indicate whether the register contents are less than, equal to (the same as), orgreater than the operand "data" (the immediate value or contents of the addressed memory location. The table below summarizes the result indicators for the compare instructions.
Compare Instruction Results
Compare ResultNZC
A, X, or Y < Memory*00
A, X, or Y = Memory011
A, X, or Y > Memory*01

C'est une question d'habitude .
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 20:55

M'enfin !?

Quand tu fais 3-3 ça donne bien zéro et pas de retenue avec une soustraction "normale", c'est bien le traitement de la carry par le 65xx qui est particulière.

Après, je te concède qu'on peut s'habituer à toutes les bizarreries (comme youki avec les gladiateurs Wink ).
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 21:23

Après, je te concède qu'on peut s'habituer à toutes les bizarreries (comme youki avec les gladiateurs Mr ToutLeMonde et la programmation NES... - Page 5 Icon_wink ).
MDR 
trop excellente celle là ..

Mais sinon tu as raison, c'est pas logique, 3-3 = 0 il ne devrait pas y avoir de retenue ..
Dans le style bizarrerie, y'a aussi ASL mais pas ASR,remplacé par LSR  Mr. Green
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 21:34

TOUKO a écrit:Dans le style bizarrerie, y'a aussi ASL mais pas ASR,remplacé par LSR  Mr. Green

J'ai voulu vérifier (là : http://homepage.ntlworld.com/cyborgsystems/CS_Main/6502/6502.htm#ASL ) et apparemment ASL n'est déjà pas un décalage arithmétique "classique" (normalement le bit de signe doit être conservé), c'est vraiment un dialecte particulier, cet ASM^^
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 22:24

On est des être élus c'est tout  Mr ToutLeMonde et la programmation NES... - Page 5 517947

On vénère le dieu du BCD 
MDR
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Stef Jeu 4 Déc 2014 - 22:28

TOUKO a écrit:
Compare Instruction Results
Compare ResultNZC
A, X, or Y < Memory*00
A, X, or Y = Memory011
A, X, or Y > Memory*01

Alors là ça me trouifie ^^ Le coup du equal qui set le carry... pour l'egalité normalement tu testes le Z flag et rien d'autre...
Enfin j'imagine le carry fonctionne correctement sur le SBC et la ADC sinon y'aurait des gros soucis ^^
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 22:30

Ah, toi aussi ça te surprend, tu me rassures :)

Le coup du SEC/SBC j'avais pris ça là : http://www.6502.org/tutorials/compare_beyond.html#2.1

TOUKO a écrit:On vénère le dieu du BCD
Beautiful Coding Dialect ?


Dernière édition par vingazole le Jeu 4 Déc 2014 - 22:37, édité 3 fois
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 22:34

Alors là ça me trouifie ^^ Le coup du equal qui set le carry... pour l'egalité normalement tu testes le Z flag et rien d'autre...
Non, pour le égal c'est le Z flag qui sert, la carry sert juste pour le sup et inf .

COMP A à B = B - A
si A est inf alors carry = 0
si A est sup carry = 1
si  égal Z = 1 et C=1

Logique vu que bcs est un branchement si >= alors que bcc est seulement un branchement si <
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 22:47

TOUKO a écrit:
Alors là ça me trouifie ^^ Le coup du equal qui set le carry... pour l'egalité normalement tu testes le Z flag et rien d'autre...
Non, pour le égal c'est le Z flag qui sert, la carry sert juste pour le sup et inf .

COMP A à B = B - A
si A est inf alors carry = 0
si A est sup carry = 1
si  égal Z = 1 et C=1

C'est là que le bât blesse Wink
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Stef Jeu 4 Déc 2014 - 22:54

Oui le carry te permet te tester de < ou > (en non signé seulement) mais d'après la doc il également mis à 1 sur l'égalité (ce que souligne vingazole) et ça définitivement ce n'est pas normal, je pense même que c'est une erreur de la doc en fait, ou alors bonjour le cpu buggué MDR
Mais encore une fois, je pense que le bug n'existe pas sur le ADC et SBC.

Genre faudrait tester :
A=0
CLC (enfin l'instruction qui clear le carry)
ADC #0

voir si le carry est positionné
de même:

A=5
CLC (enfin qui clear le carry)
SBC #5

et là encore vérifier le carry.

Mais à mon sens ça doit forcément fonctionner sinon les additions / soustractions > 8 bit seraient impossible à réaliser de manière fiable (ou avec plein d'opérations supplémentaires).
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 4 Déc 2014 - 23:04

C'est là que le bât blesse Mr ToutLeMonde et la programmation NES... - Page 5 Icon_wink
Bah non, ça te permet avec un seul opcode de tester 2 conditions, sinon sans ça, si tu veux brancher si supérieur ou égal tu es obligé de faire 2 tests,là avec juste bcs, tu sais si tu est supérieur ou égal .
et avec bcc, tu sais que tu n'est pas égal .

@stef:
tu fais comme ça pour une soustraction:
sec (met la carry à 1)
sbc #xx

Pour une addition
clc (clear la carry)
adc #xx

si je vous écoute, chez vous c'est :
A COMP B
branchement si A = B
branchement si A > B
sinon A < B

lol si c'est le cas, pas étonnant que vos CPU soient des veaux morts niveau instructions / cycle  MDR
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 5 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vingazole Jeu 4 Déc 2014 - 23:17

Ô mon Dieu, mais ce processeur est possédé du Démon !  affraid

Je me doutais qu'il fallait mettre la carry à zéro pour avoir le bon résultat d'une addition avec ADC, mais je n'aurais jamais imaginé mettre C=1 pour avoir une soustraction normale avec SBC (j'aurais pensé que ça calculait A-B-1).


TOUKO a écrit:A COMP B
branchement si A = B
branchement si A > B
sinon A < B

Mais non, sur un z80 tu fais une comparaison et un seul branchement aussi, simplement au lieu de brancher sur > tu branches sur >= (et respectivement au lieu de brancher sur <= tu branches sur <), la différence étant que la carry est à zéro quand tu compares deux nombres identiques...


Dernière édition par vingazole le Jeu 4 Déc 2014 - 23:24, édité 1 fois
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

Page 5 sur 34 Précédent  1, 2, 3, 4, 5, 6 ... 19 ... 34  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum