TWEETS de petit jo
Visiteurs:53033 (25:aujourd'hui, 390:ce mois, 4227:cette année).Dernière visite:15/05/2024
> Accueil>Tweets
ou
Catégorie:Assembleur
Tous[nb=403]
Inventions[nb=4]
Le saviez-vous?[nb=25]Le politiquement correct[nb=25]A vos ordres mon adjudant![nb=1]Y-avez-vous déja songé?[nb=4]Blagues à 'symbales'[nb=4]
Lettre à M...r Mélenchon[nb=3]Problèmes d'écologie[nb=3]
Pour le PC[nb=8]Electroniquement Votres![nb=4]La fameuse RAM[nb=13]Les microcontroleurs PIC[nb=2]Le bit Juju(pour un double)[nb=8]
ASCII en assembleur[nb=7]L'USB[nb=4]Les entêtes des fichiers[nb=11]Les piles,les listes et le tas en assembleur[nb=4]Arduino[nb=1]
Les 'ateliers' du microprocesseur[nb=2]Les drapeaux[nb=2]
Microsoft OS[nb=20]Cours magistral[nb=2]OS du futur![nb=12]les fichiers bat ou batch[nb=1]
Langages[nb=33]Assembleur[nb=77]En PHP[nb=14]Expressions régulières[nb=5]Les tableaux[nb=4]
La chaine[nb=10]Et pour Windev...![nb=10]
Restos du coeur[nb=6]Autres[nb=1]
SQL[nb=6]La BDD(Base De Données)[nb=4]
Pour le W3C[nb=38]Internet[nb=5]ipv6[nb=9]http[nb=5]
Le clavier[nb=6]
Pages:41-601..2021..4041..6061..77

21/03/2023:



Qui dit 2 piles SP et SU, dit deux mémoires caches independants (SP ne change pas, mais SU est plus spécialisé et ne sert que de pile)
En spécialisant la pile SU(comme tampon), on gagne en nombre de transistors pour y mettre plus de données! On économise ainsi son adresse! n+1 relié qu'à n !
Voir le fil de discussion en entier 

J'aime  Commenter
 

21/03/2023:



Pour une 'pile cache' donnée on utilise un système avec hysteris
Ce qui veut dire, quand cellle-ci est pleine au niveau des débuts et fins des buffers, on ne soit pas trop pénalisé au niveau des perfomances!
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter

21/03/2023:



Pour le cache de SU, le programme n'a pas la main dessus, tout se fait automatiquement! SU contient la valeur de l'adresse pointée en RAM, pas dans le cache (16 bits,pour 64 Ko)
Peu importe, le taille du cache et les valeurs des hystéresis,contenant les adresses du cache. Même chose quand on vide ou remplit le tampon du cache pile!
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

21/03/2023:



Le secret, de ces macro-instructions (cisc) ? C'est un programme resident en flash qui gère l'ordonancement (les TBL aussi,des instructions superscalaires et la gestion des caches)
C'est lui, qui gère aussi tout les cores et qui décode avec l'aide du hardware qui lui mache le boulot ! Il place surtout les registres là où il faut,pour que l'UC puisse faire les opérations !

-petit jo: On se réapproprie les 640 ko de la mémoire flash, avec les instructions anciennes dans une RAM simple du x8086! C'est un 'faux' core spécial! Ses IO et flags sont intégrés dans les UC !

Voir le fil de discussion en entier 

J'aime  Commenter
 

03/04/2023:



Bien sur, les registres généraux et les registres locaux r2-r127 n'ont pas la même finalité. Ces derniers sont là juste pour économiser du temps et éviter l'accès à la RAM souvent,par la pile
Et les registres eax,ebx,ecx,edx (les plus généraux) sont fait pour être écraser (sans sauvegarder forcément dans la pile avant l'appel à un mini-sous-programme! Même si on garde PUSHAD)
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

03/04/2023:



Il est clair qu'il y a qu'une largeur quand on fait un push/pop (1 octo) surtout pour SU, car elle est cablée dans le silicium!
Pour SP, je veux bien qu'on laisse pour compatibilité, mais pour moi dorénavant c'est sur 1 octo. D'où l'invention de piles de bits avec les registres r2-r127
Voir le fil de discussion en entier 

J'aime  Commenter

03/04/2023:



Voila, l'idée du ,2 ,4 et ,8 de de l'assembleur X86 pour la taille de l'offset(c'est juste un rol de 1,2,3 bit) n'est pas bète.
On peut généraliser les instructions par index,tel que ld eax,(edx+54,8) qui est équivalent à: ld eax,(edx+432)
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter

03/04/2023:



if.eq.gosub.rel r1,r2,r3 //if r1=r2 alors saut relatif de r3 n'est pas génial ou incomplète. Je préfère une instruction if.z r1=r2+r3,adresse-relative-sur-2-octet
Qui veut dire si flag z alors r1=r2+r3 sinon goto adresse-relative-sur-2-octet (au lieu de sauter une ligne RISC après). C'est faisable car le test a été fait dans l'instruction d'avant!
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

03/04/2023:



Attention, ce n'est pas parce que l'ordonanceur, peut éxécuter plusieurs étapes d'instructions CISC,qu'il doit tout faire! Il faut qu'il gère tout les cores!
Il ne fait pas les instructions à la place des UC, mais c'est vrai place les registres concernés à la bonne place pour qu'un UC puisse exécuter l'opération(Il replace aussi le contenu)
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

03/04/2023:



On peut faire quoi, avec EPC? et bien en plus de servir de référentiel à une routine, on peut faire aussi des do...loop

Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter

28/04/2023:



Certaines instructions(pas toutes!),peuvent être combinées avec d'autres pour aller 2 fois plus vite. Elles sont sur la même ligne, séparées par ;
Par exemple, si on accepte le registre d'appoint s(comme sum),on peut réaliser une somme(ou un produit) avec l'ancienne valeur de EAX, et utiliser EAX pour faire une multiplication,par exemple!

J'aime  Commenter

07/05/2023:



C'est vrai, (qu'en 64 bits ), le nombre maxi de paramètres passés est 8, pour l'accélération de la fonction! Si vous avez plus, il faut recourir aux méthodes traditionnelles(la pile:SP)
Et je dirais en plus(puisque qu'il y en a qui sont d'accord with me!), que pour chaque paramètre de la fonction, il a en même temps le type(peut être l'adresse) toujours en 64 bits

-petit jo: Je ne sais pas comment vous avez deviné cela,mais vous avez raison ! En tout cas, c'est vraiment ce que je pense aussi, monsieur!

J'aime  Commenter
 

08/05/2023:



Juste pour dire, que si on veut, on peut pousser à l'extrème! Il pourrait y avoir un registre entre la pile SU et l'UC, contenant la dernière valeur PUSH (c'est une pile cablée de 1 élément)
A quoi ça sert? Hé bien, on gagne un cycle en réalisant certaines combinaisons d'instructions car la valeur, on l'a déja dans l'UC! Voir quelques exemples!
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter

09/05/2023:



Tous les Objet sont dans le Tas,et pour connaitre la longueur des diverses propriétés qu'elles ont(la longueur du tas), c'est inscrit dans la 8 premiers octets du bloc(64 bits)
C'est aussi vrai pour une String (rappelez-vous ..java, String c'est un Objet:c'est à dire que sa valeur est dans le tas)

-petit jo: Rappel: tous les blocs du Tas, commencent avec une adresse multiple de 8 (64bits) et sont de longueur multiples de 8(c'est une suite de valeur de 64 bits chaque)

Voir le fil de discussion en entier 

J'aime  Commenter
 

09/05/2023:



Rappelez vous des 2 instructions du processeur Zilog: LDIR et LDDR(load incremente repeat).
Et bien on peut faire la même chose avec x86(64 bits), en allant de 8 en 8(load 8 octets IX, store 8 octets IY,incremente de 8 ,repeat BC/8 fois)

-petit jo: (il faut que les adresses soient multiples de 8, c'est tout !)

Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

09/05/2023:



On peut faire mieux et créer 1 instruction du processeur x86: LDIR (load incremente repeat), pour les chaines finissant par \0 ! Il n'y a plus de compteur BC
En allant de 8 en 8(load 8 octets IX, store 8 octets IY,incremente de 8 ,repeat jusqu'à ce que le bloc EAX contienne un \0 dedans)

-petit jo: (là aussi, il faut que les adresses soient multiples de 8, c'est tout !)

Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

09/05/2023:



Rappelez vous de l'instruction CPI du processeur Zilog, pour rechercher un octet(load compare incremente repeat). Içi, je vous propose de l'appliquer aux chaines finissant par \0 !
En allant de 8 en 8(load 8 octets IX, incremente de 8 ,repeat jusqu'à ce que le bloc EAX contienne un \0 dedans ou avant l'octet BL recherché). (IX contient l'adresse du résultat)

-petit jo: (là aussi, il faut que les adresses soient multiples de 8, c'est tout !)

Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

03/06/2023:



Dans les assembleurs anciens, on a toute une panoplie d'instructions pour les rotations de 1 bit! Avec EAX=8 octets, on pourrait avoir ces mêmes instructions appliquées, à l'octet (1 à 8)
C'est quasiment, le même codage, magique (1 à 8 bits et 1 à 8 octets)!. On utilise par conséquant le registre o au lieu du bit C(tantôt calé à droite,tantôt calé à gauche pour o)

J'aime  Commenter
 

03/06/2023:



Bien sûr,avec r=a >>3 ,on est très envieux de java(alors que l'assembleur ne possède que la rotation de 1 bit). Si on est en 64bits, on peut faire la même chose,avec le registre o
C'est vrai,les instructions(si on a un opérande immédiat) peuvent être très gourmande en code! Pour facilité, le décalage (jusqu'à 64 bits) on utilise le registre d'appoint o (ce n'est pas DX)

J'aime  Commenter
 

03/06/2023:



il y a RAX,AL[0](ou AL),AL[1],AL[2],AL[3],AL[4],AL[5],AL[6],AL[7],AX[0](ou AX),AX[1],AX[2],AX[3],EAX[0](ou EAX),EAX[1] si on veut moins que 64bits
Seulement pour les registres:EAX,EBX,ECX,EDX.Il faut ensuite exportér soit en RAM soit dans les registres généraux entre autres
Voir le fil de discussion en entier 

J'aime  Commenter
 
Pages:41-601..2021..4041..6061..77
Catégorie:Assembleur
Tous[nb=403]
Inventions[nb=4]
Le saviez-vous?[nb=25]Le politiquement correct[nb=25]A vos ordres mon adjudant![nb=1]Y-avez-vous déja songé?[nb=4]Blagues à 'symbales'[nb=4]
Lettre à M...r Mélenchon[nb=3]Problèmes d'écologie[nb=3]
Pour le PC[nb=8]Electroniquement Votres![nb=4]La fameuse RAM[nb=13]Les microcontroleurs PIC[nb=2]Le bit Juju(pour un double)[nb=8]
ASCII en assembleur[nb=7]L'USB[nb=4]Les entêtes des fichiers[nb=11]Les piles,les listes et le tas en assembleur[nb=4]Arduino[nb=1]
Les 'ateliers' du microprocesseur[nb=2]Les drapeaux[nb=2]
Microsoft OS[nb=20]Cours magistral[nb=2]OS du futur![nb=12]les fichiers bat ou batch[nb=1]
Langages[nb=33]Assembleur[nb=77]En PHP[nb=14]Expressions régulières[nb=5]Les tableaux[nb=4]
La chaine[nb=10]Et pour Windev...![nb=10]
Restos du coeur[nb=6]Autres[nb=1]
SQL[nb=6]La BDD(Base De Données)[nb=4]
Pour le W3C[nb=38]Internet[nb=5]ipv6[nb=9]http[nb=5]
Le clavier[nb=6]





Tweets[112] sur:Medjugorje

SOMMAIRE