« Programmation Assembleur Z80/Jeu d instructions » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 151 :
 
Les sauts conditionnels n'effectuent le saut que si la condition est respectée.
 
'''sauts avec retour'''
==== CALL ====
CALL Z,label ; saute si zéro (Z flag = 1)
CALL NZ,label ; saute si non zéro (Z flag = 0)
CALL C,label ; saute si retenue (C flag = 1)
CALL NC,label ; saute si pas de retenur (C flag = 0)
CALL M,label ; saute si S flag = 1
CALL P,label ; saute si S flag = 0
CALL PE,label ; saute si P/V flag = 1
CALL PO,label ; saute si P/V flag = 0
 
'''sauts sans retour'''
==== JR ====
JR C,label ; saute si retenue (C flag = 1)
JR NC,label ; saute si pas de retenue (C flag = 0)
JR Z,label ; saute si zéro (Z flag = 1)
JR NZ,label ; saute si non zéro (Z flag = 0)
==== JP ====
JP Z,label ; saute si zéro (Z flag = 1)
Ligne 173 ⟶ 167 :
JP PE,label ; saute si P/V flag = 1
JP PO,label ; saute si P/V flag = 0
==== JR ====
JR C,label ; saute si retenue (C flag = 1)
JR NC,label ; saute si pas de retenue (C flag = 0)
JR Z,label ; saute si zéro (Z flag = 1)
JR NZ,label ; saute si non zéro (Z flag = 0)
==== DJNZ ====
DJNZ label ; décrémente B et saute si B est différent de zéro (ne modifie pas les flags)
 
==== RET ====
Les instructions de retour de fonction sont des sauts sans retour.
Ligne 192 ⟶ 180 :
RET PE ; retourne si P/V flag = 1
RET PO ; retourne si P/V flag = 0
 
'''sauts avec retour'''
==== CALL ====
CALL Z,label ; saute si zéro (Z flag = 1)
CALL NZ,label ; saute si non zéro (Z flag = 0)
CALL C,label ; saute si retenue (C flag = 1)
CALL NC,label ; saute si pas de retenur (C flag = 0)
CALL M,label ; saute si S flag = 1
CALL P,label ; saute si S flag = 0
CALL PE,label ; saute si P/V flag = 1
CALL PO,label ; saute si P/V flag = 0
 
=== Instructions de sauvegarde des registres dans la pile ===