hello tlm

J'ai un problème lorsque j'essaie d'effectuer des opérations de sortie. En effet je sors des valeurs sur un port avec l'instruction out.

Voici mon code :

LD A,4 ; D7:0 ; D6->4:x ; D3:0 Actif; D2:1 Inactif ; D1: 0 ; D0: x
OUT (MONPORT),A ; On prend le clock
CALL _wait100us ; pause 100 us
LD A,0 ; D7:0 ; D6->4:x ; D3:0 Actif; D2:0 Actif ; D1: 0 ; D0: x
OUT (MONPORT),A ; lance le bit de start
LD A,8 ; D7:0 ; D6->4:x ; D3:1 Inactif; D2:0 Actif ; D1: 0 ; D0: x
OUT (MONPORT),A ; Libère le clock et garde le bit de start à 0

Je ne m'intéresse ici qu'à D7, D3, D2 et D1

Lors des 2 premières sorties, ces valeurs sont correctes. Mais à la 3è sortie, D3 passe subitement à 0. En effet, après la 2è sortie j'ai D3 à 0, il passe à 1 lorsque le cycle commence, 40ns avant la validation (c'est à dire que WR passe à 0) il passe à 0 et après la validation de WR il repasse à 1.

Est-ce que qqn a une idée de cet intriguant phénomène?

Merci d'avance.
Gilbert