Définition
Définition du drapeau PSW :
PSW est un registre binaire de 8 bits utilisé pour stocker le CPU concerné après la réception de l'instruction. L'état est généralement renseigné par le CPU, mais l'utilisateur peut également modifier la valeur de chaque bit d'état. La définition de chaque bit indicateur est la suivante :
Bit7 Cy
Bit6 CA
Bit5 F0
Bit4 RS1
Bit3 RS0
Bit2 OV
Bit1 -
Bit0 P
Registre d'état du programme dans ARM
Il y a 6 registres d'état dans ARM, et le noyau ARM7TDMI contient 1 CPSR et 5 SPSR pour les gestionnaires d'exceptions. CPSR reflète l'état actuel du processeur, qui contient :
4 indicateurs de code de condition (négatif (N), zéro (Z), report (C) et débordement (V));
2 bits d'interdiction d'interruption, contrôlent respectivement un type d'interruption ;
5 bits codant le mode processeur courant ;
1 utilisé pour indiquer l'exécution en cours Le bit de l'instruction (ARM ou Thumb).
Explication des drapeaux PSW :
1. CY(Carry) : Permet d'indiquer le report dans le calcul de l'addition et l'emprunt dans l'opération de soustraction. Il y a une opération de report ou d'addition. S'il y a un emprunt dans l'opération de soustraction, la position CY est 1, sinon c'est 0
2. AC (Auxiliary Carry): Fondamentalement identique à CY, la différence est l'opération entre les 4 bits inférieurs et les 4 bits supérieurs.
3.F0 (Flag Zero user flag bit) : Ce bit est un bit de drapeau défini par l'utilisateur en fonction de ses propres besoins. L'utilisateur peut déterminer le flux et la branche du programme en définissant ce bit.
4. RS1, RS0 : 8051 a 8 registres de travail 8 bits R0 ~ R7, et son emplacement physique réel dans la RAM peut être sélectionné et déterminé en fonction des besoins. 00 : 00H~07H
01 : 08H~0FH
10 : 10H~17H
11 : 18H~1FH
5. OV : Indique si un débordement s'est produit pendant l'opération. Si le résultat dépasse la plage de données pouvant être représentée par un nombre binaire de 8 bits, c'est-à-dire un nombre signé -128~+127, l'indicateur est défini sur 1.
6.OP : Le drapeau de parité est utilisé pour indiquer la parité du nombre de 1 dans le résultat de l'opération. Si P=0, le nombre de 1 dans l'accumulateur A est pair ; si P=1, alors le nombre de 1 dans l'accumulateur A est impair.