Section courante

A propos

Section administrative du site

Assembleur 6502

P

État du processeur

Description

Le nom «P» permet d'indiquer le registre d'état. Au fur et à mesure que les instructions sont exécutées, un ensemble de drapeau du microprocesseur est défini ou effacé pour enregistrer les résultats de l'opération. Ces drapeaux et certains drapeaux de contrôle supplémentaires sont conservés dans un registre d'état spécial. Chaque drapeau a un seul bit dans le registre. Des instructions existent pour tester les valeurs des différents bits, pour définir ou effacer certains d'entre eux et pour pousser ou tirer l'ensemble complet vers ou depuis la pile.

Structure du registre

Voici la signification des différents bits du registre :

Bit Nom Nom long Description
0 C Carry Flag Ce bit permet d'indiquer le drapeau d'état de retenue. Le drapeau de retenue est positionné si la dernière opération a provoqué un débordement du bit 7 du résultat ou un dépassement du bit 0. Cette condition est établie pendant l'arithmétique, la comparaison et pendant les décalages logiques. Il peut être explicitement défini à l'aide de l'instruction SEC (Set Carry Flag) et effacé avec CLC (Clear Carry Flag).
1 Z Zero Flag Ce bit permet d'indiquer le drapeau d'état du zéro. Le drapeau du zéro est défini si le résultat de la dernière opération était égal à zéro.
2 I Interrupt Disable Ce bit permet d'indiquer le drapeau d'état du masque d'interruption. Le drapeau de désactivation d'interruption est positionné si le programme a exécuté une instruction SEI (Set Interrupt Disable). Tant que ce drapeau est défini, le processeur ne répondra pas aux interruptions des périphériques jusqu'à ce qu'il soit effacé par une instruction CLI (Clear Interrupt Disable).
3 D Decimal Mode Ce bit permet d'indiquer le drapeau de décimal. Lorsque le drapeau de mode décimal est défini, le processeur obéit aux règles de l'arithmétique BCD (Binary Coded Decimal) pendant l'addition et la soustraction. Le drapeau peut être défini explicitement à l'aide de SED (Set Decimal Flag) et effacé avec CLD (Clear Decimal Flag).
4 B Break Command Ce bit permet d'indiquer le drapeau d'arrêt. Le bit de commande d'interruption est mis à 1 lorsqu'une instruction BRK a été exécutée et qu'une interruption a été générée pour la traiter.
6 V Overflow Flag Ce bit permet d'indiquer le drapeau d'état de débordement. Le drapeau de débordement est défini pendant les opérations arithmétiques si le résultat a donné un résultat de complément à 2 invalide (par exemple, en ajoutant à des nombres positifs et en aboutissant à un résultat négatif : 64 + 64 ↠ -128). Il est déterminé en regardant la retenue entre les bits 6 et 7 et entre le bit 7 et le drapeau de retenue.
7 N Negative Flag Ce bit permet d'indiquer le drapeau d'état de signe. Le drapeau négatif est positionné si le résultat de la dernière opération avait le bit 7 mis à 1.


Dernière mise à jour : Mardi, le 4 août 2020