Code assembleur 8051
Modérateur : Modérateur
Code assembleur 8051
voila cela est la premier foit que je post ici
excusé moi pour mon francais car je suis españole je ferais le mieux pour ne pas faire des errores de ortographie
je suis entrain d´etudié le micro 8051 et ces registre
voila ma question si quelqun pourrait máider sil vous plait
jéssaye de comprendre un code en asm
0009 : E4 CLR A ;A=0
000A : F8 MOV R0,A ;R0=A(0)
000B : 7E 30 MOV R6,#30H ;R6=#30
000D : DE FE DJNZ R6,000DH ;Decrement and ;Jump R6 if Not Zero Jump@000D
000F : 20 90 2C JB 90H,003EH ;if 90H(I/O) is High Jump@003E
Debug Mode
TestModeStartup
0012 : 30 90 FD JNB 90H,0012H ;If 90H(I/O) is LOW Jump@0012
0015 : 7E 20 MOV R6,#20H ;R6=#20(32)
0017 : F9 MOV R1,A ;R1=A(0)
voila ma question
000D : DE FE DJNZ R6,000DH ;Decrement and ;Jump R6 if Not Zero Jump@000D Le contenu du registre R6 est diminué de 1.
Si le contenu est alors différent de zéro, saute relativement à l’adresse rel.
voila ceci Si le contenu est alors différent de zéro??????
comment savoir si le contenu est different de zero comment calculé cela ?
si la direccion 30H qui vaut 00110000 comment savoir si il different de zero
et comment savoir
JB 90H,003EH ;if 90H(I/O) is High
90 est = 10010000 comment savoir ou meilleur dit comment calcule si il est high ou LOW
merci
excusé moi pour mon francais car je suis españole je ferais le mieux pour ne pas faire des errores de ortographie
je suis entrain d´etudié le micro 8051 et ces registre
voila ma question si quelqun pourrait máider sil vous plait
jéssaye de comprendre un code en asm
0009 : E4 CLR A ;A=0
000A : F8 MOV R0,A ;R0=A(0)
000B : 7E 30 MOV R6,#30H ;R6=#30
000D : DE FE DJNZ R6,000DH ;Decrement and ;Jump R6 if Not Zero Jump@000D
000F : 20 90 2C JB 90H,003EH ;if 90H(I/O) is High Jump@003E
Debug Mode
TestModeStartup
0012 : 30 90 FD JNB 90H,0012H ;If 90H(I/O) is LOW Jump@0012
0015 : 7E 20 MOV R6,#20H ;R6=#20(32)
0017 : F9 MOV R1,A ;R1=A(0)
voila ma question
000D : DE FE DJNZ R6,000DH ;Decrement and ;Jump R6 if Not Zero Jump@000D Le contenu du registre R6 est diminué de 1.
Si le contenu est alors différent de zéro, saute relativement à l’adresse rel.
voila ceci Si le contenu est alors différent de zéro??????
comment savoir si le contenu est different de zero comment calculé cela ?
si la direccion 30H qui vaut 00110000 comment savoir si il different de zero
et comment savoir
JB 90H,003EH ;if 90H(I/O) is High
90 est = 10010000 comment savoir ou meilleur dit comment calcule si il est high ou LOW
merci
Salut Belgitae,
Tu initialises R6 à 48d (30h)000B : 7E 30 MOV R6,#30H ;R6=#30
Tu boucles sur cette ligne (tu fait une tempo donc) 48 fois. A chaque tour du décrémente R6 et quand il arrive à 0 tu sort de la boucle.000D : DE FE DJNZ R6,000DH ;Decrement and ;Jump R6 if Not Zero Jump@000D
JB est un saut conditionnel. Là le saut se produit quand une Entrée (à l'adresse 90) passe à 1. Il s'agit de détecter un évènement.000F : 20 90 2C JB 90H,003EH ;if 90H(I/O) is High Jump@003E
Vince
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
Ca fait des année que je n'ai pas touché à l'assembleur 8051 donc si quelqu'un relève une erreur qu'il ne se gène pas pour corriger.
Vince
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
oui ; Merci Vince
je comprend bien la reponse maintenant par apport au port 90
passe à 1. Il s'agit de détecter un évènement.
mais jái encore des petites doutes avec
Tu boucles sur cette ligne (tu fait une tempo donc) 48 fois.
cela voudrais dire que je saute 48 fois en decrementant mon registre
jusquil arrive a zero sinon il ira a la direccion 0DH
Merci baucoup pour la reponse
et un gran bonjour de léspagne
je comprend bien la reponse maintenant par apport au port 90
passe à 1. Il s'agit de détecter un évènement.
mais jái encore des petites doutes avec
Tu boucles sur cette ligne (tu fait une tempo donc) 48 fois.
cela voudrais dire que je saute 48 fois en decrementant mon registre
jusquil arrive a zero sinon il ira a la direccion 0DH
Merci baucoup pour la reponse
et un gran bonjour de léspagne
cela voudrais dire que je saute 48 fois en decrementant mon registre
jusquil arrive a zero sinon il ira a la direccion 0DH
Non en fait
-
Tu charge R6 à 30h,000B : 7E 30 MOV R6,#30H ;R6=#30 - Tu boucles 48 fois sur 000Dh. R6 est décrémenté à chaque tours.
- R6 = 0 tu arrête de boucler sur 000D et le programme continue.
Vince
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
oui maintenat jái compris je viens de lire cela dans un post
cet parce que certaine expression francaise me son dificile de comprendre
Tu boucles
Par définition, une boucle est une suite d'instructions répétées jusqu'à ce que la condition de sortie soit vérifiée
On va donner une instruction, puis on va demander au programme de répéter cette instruction tant que la condition (qu'on a définie) est vraie.
il faut mexcusé car je suis vraiment debutante
Merci Vince
cet parce que certaine expression francaise me son dificile de comprendre
Tu boucles
Par définition, une boucle est une suite d'instructions répétées jusqu'à ce que la condition de sortie soit vérifiée
On va donner une instruction, puis on va demander au programme de répéter cette instruction tant que la condition (qu'on a définie) est vraie.
il faut mexcusé car je suis vraiment debutante
Merci Vince