Visiteurs:238256 (51:aujourd'hui, 6835:ce mois, 6835:cette année).Dernière visite:12/01/2026 |
|
|
|
13/05/2024: |
Il existe le flag z, quand tout les bits du registre sont à zéro, et il pourrait avoir un flag a (all), quand tout les bits sont à 1 -petit jo: Je suis d'accord que les 8 premiers flags soient utilisés dans le jeu d'instruction(les autres->64, non). parité (p) n'est plus dans les 8 premiers! Ils sont coulés dans le béton ou le silicium J'aime Commenter |
|
|
13/05/2024: |
Il y a MOVSX et MOVZX pour passer par exemple AX vers EAX, mais rien pour savoir si on peut travailler avec la valeur du registre EAX(par exemple), vers AX -petit jo: Le nom des instructions is_1octet, is_2octet, is_4octet, is_8octet est à trouver. Resultat dans le flag a plutôt que dans le flag z J'aime Commenter |
|
|
15/05/2024: |
Nous avons dit que les 8 premiers drapeaux de flag, étaient gravés dans le jeu d'instruction, mais alors comment on fait pour b8-b63? |
|
|
22/02/2025: |
C'est vrai en 64bits, le registre drapeau contient non plus 8 bits mais 64 bits, qu'il faut utiliser à bon escient! |
|
|
22/02/2025: |
Quand les valeurs du registre RAX, sont 'remarquables', alors on peut ajouter des drapeaux au registre flag, (pour aller plus vite.. on gagne un cycle car c'est fait hardwarement) |
|
|
21/04/2025: |
Encore 2 autres bits du registre flags... Un bit quand le bit le plus à gauche est à '1' et un bit quand le bit le plus à droite est à '1'. A quoi ça sert? -petit jo: Surtout quand c'est suivi d'un je.impair adr ou je.juju adr ou jne.impair adr ou jne.juju adr. Cela marche aussi avec les autres instructions qui sont prévues actuellement seulement pour Z,C,etc. J'aime Commenter |
|
|
29/07/2025: |
Allez, on va rajouter quelques bits dans le flag (64 bits prévu normalement en tout!) si vous le voulez bien! -petit jo: Ce sont les flags none1,one1,any1,more1,all1 et none0,one0,any0,more0,all0 !(Voir détails) J'aime Commenter |
|
|
09/10/2025: |
Il serait intéressant de ressortir/réintégrer un drapeau du flag pour le stocker dans une variable ou un registre. Sa valeur serait soit $1 soit $0 dans le registre 64bits |
|
|
02/11/2025: |
Quand RAX =0, le drapeau Z=1,quand RAX=nan(pour un entier non signé nan.int_nonsigne=1)(pour un entier signé nan.int_signe=1)(pour un double nan.double=1). nan est différent selon le type que l'on considère -petit jo: (le bit calc est dans le registre de flag). En effet, le bit overflow servait pour construire des entiers>255 (il n'y avait pas le choix). Avec le 64bits, on ne fait plus cela, le résultat est trouvé en une seule instruction! J'aime Commenter |
|
|
18/11/2025: |
Le registre flags (64 bits, on a de la place), peut contenir un bit ANY, lors de test de liste qui sort comme résultat 1 , quand tout les tests de la liste sont vrai (en plus de Z , C par exemple) -petit jo: Au lieu de tester l'élément et de vérifier ensuite si ANY ou SOME! (on va plus vite, 2 fois) (voir détails) Voir le fil de discussion en entier J'aime Commenter |
|
|
18/11/2025: |
Le registre flags (64 bits, on a de la place), peut contenir un bit NONE, lors de test de liste qui sort comme résultat 1 , quand tout les tests de la liste sont faux (en plus de Z , C par exemple) |
|
|
18/11/2025: |
Le registre flags (64 bits, on a de la place), peut contenir un bit ONE(en plus du bit SOME), lors de test de liste qui sort comme résultat 1 , quand un seul test de la liste est vrai (en plus de Z , C par exemple) -petit jo: Au lieu de tester l'élément et de vérifier ensuite si ONE! (on va plus vite, 2 fois) (voir détails) Voir d'après tweet Voir le fil de discussion en entier J'aime Commenter |
|
|
18/11/2025: |
Le registre flags (64 bits, on a de la place), peut contenir un bit TWO(en plus du bit ONE), lors de test de liste qui sort comme résultat 1 , lorsque qu'il y a deux tests de la liste sont vrai (en plus de Z , C par exemple) -petit jo: Et puis on s'arrête à deux (TWO), car informatiquement je crois que l'on ne va pas au-dela (de deux bornes par exemple!) Voir d'après tweet Voir le fil de discussion en entier J'aime Commenter |
|
|
18/11/2025: |
Juste pour faire jouer tout ces flags(NONE,SOME,ONE,TWO,MORE et ANY) de concert, dans le programme, on peut faire un reset.NONE_SOME_ONE_TWO_MORE_ANY pour pas se tromper dans l'initialisation |
|
|
20/11/2025: |
Comment calcule-t-on la parité d'un registre (le nombre de bit is pair)? -petit jo: On fait un XOR de tous les bits du registre(en en prenant deux par deux, qui eux mêmes deux par deux,ainsi de suite), puis on inverse le bit du résultat avec une porte NON! J'aime Commenter |
|
|
07/01/2026: |
Il n'y a pas 1 mais 2 flags dans flags (64bits) dédiés aux entiers(et donc pour le jeu d'instructions assembleur) pour connaitre si un nombre is_pair ou is_impair. Un bit pour les entiers positifs et un autre pour les entiers signés! -petit jo: Quand c'est un entier signé, la logique combinatoire aura sorti le flag (parité/signé) en fonction du bit signe et du bit0. Il sort 1 pour 0,2,4,6,etc et pour la parité/non signé il ne regarde que le bit0 de l'accumulateur RAX
Voir le fil de discussion en entier J'aime Commenter |
|
|
07/01/2026: |
Et pour les 'double' et les 'float'? Si on considère que l'on est en 64bits, alors oui, on peut envisager de réserver aussi un bit parité pour les float et un pour les double, comme les entiers signé/non signé. -petit jo: Quand on peut, car quand le chiffre dans l'exposant est supérieur à celui de la largeur de la mantisse, on ne peut pas savoir!
Voir d'après tweet Voir le fil de discussion en entier J'aime Commenter |