TWEETS de petit jo
Visiteurs:53038 (1:aujourd'hui, 395:ce mois, 4232:cette année).Dernière visite:15/05/2024
> Accueil>Tweets
ou
Catégorie:Assembleur
Tous[nb=406]
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=14]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=3]
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=78]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:21-401..2021..4041..6061..78

19/11/2021:



Avec l'ACC (AL donc de 1 octet), pour une valeur entière 0-99 on peut faire la conversion en 1 clock vers AX,la chaine de deux octets ASCII du chiffre... Application pour les dates, je pense!
Bien sûr (j'espère qu'on est en 64 bits pour l'ACC), cela devient intéressant (le chiffre converti en 7 octets car 8e=nb,nan sinon!). Si on ne peut pas faire pour 8 octets, peut-être AX en EAX!

-petit jo: Là, il faut être initié! Peut-être est-ce obsolète ? -Faut dire que c'était une idée, vieille de 30 ans !

J'aime  Commenter
 

24/11/2021:



Il existe 4 valeurs universelles que l'on peut intégrer dans ACC,(et qui prenne que 1 octet ,au lieu de 9 octets si on est 64 bits!): la valeur zéro(ou 0.0 ou null pour les pointeur!) ,1,on et nan.

-petit jo: D'après RST tout court!

J'aime  Commenter

24/11/2021:



Je n'ai pas fini avec l'instruction rst ! On pourrait aussi inventer push.rst, push.rst.1 et push.rst.nan qui met respectivement 0,1,nan dans la RAM pointée par SP et qui decrémente SP, bien-sûr!
A quoi,ça sert ? Hé bien on fait deux instructions en une! Et je poursuis, cela initiatise les variables locales en même temps que cela les définies !J'ai oublié par manque de place, push.rst.on

-petit jo: Pour être d'accord, avec Mr Gibot ! (C'est surtout l'instruction push.rst la plus utilisée, Mr Gibot. Oui j'écris en minuscule comme tout le monde maintenant, dans les langages!)

J'aime  Commenter
 

11/02/2022:



Cela faisait longtemps que je ne trouvais pas de trace pour les JMP[dep-rel] où dep-rel était forcement une constante!
Alors maintenant, si vous utiliser toujours INT[val], réalisez aussi INT[al] ! Et JMP[ax] (word)qui va beaucoup plus loin en relatif (finit les petites RAMs!).Voir aussi détails(intéressant !):

J'aime  Commenter

11/02/2022:



3 facons de mettre en assembleur 'universel' de mettre ACC à Zéro: MOV eax,0 (9 octets) , XOR eax,eax (2 octets) et CLR eax (1 octet), qui contrairement à ce que je lis changent les mêmes drapeaux
On voit bien que MOV et XOR ne sont pas fait spécialement pour cela, et d'un autre coté il faut économiser et faire CLR que si elle est souvent demandée! Par exemple XOR edx,edx est le plus juste!

-petit jo: L'assembleur doit pouvoir dans ce cas comprendre la syntaxe XOR edx,edx et CLR edx, pour écrire finalement XOR edx,edx !

J'aime  Commenter
 

30/03/2022:



Tout le monde connait les instructions SET, CLR, TEST sur un bit. On pourrait (que pour l'ACC avec l'aide du registre CX) , genéraliser pour un groupe de bit de l'ACC

-petit jo: On pourrait avoir les instructions SET, CLR, TEST ,pas que pour les registres, mais aussi en se référent directement à la RAM. (SET 6,100000 ou CLR 4,(hl) )

Voir le fil de discussion en entier 

J'aime  Commenter

30/03/2022:



Explication du tweet précédent appliqué au PICs:si les cores>1 alors on peut envisagé un core qui s'occupe que des timing(on peut en créer beaucoup)
On peut aussi dédié le processus sur un core (le programme en langage machine) et la machine virtuelle sur le deuxieme core! (Je veux dire pour ne pas pertuber en timing un des cores)
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

30/03/2022:



En complément, car sert plus rarement (toujours avec le registre CX), deux instructions qui vont ensemble sur la manipulation des bits de l'ACC
1) insère (à gauche ou à droite de la position), un nombre de 1 ou de 0 (selon) et 2)supprime en diminuant (à gauche ou à droite de la position), un nombre de bits

-petit jo: En réalité,décale les bits suivant qu'on est à droite ou à gauche et remplace, par des zéros, les extrêmes!

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

J'aime  Commenter
 

16/07/2022:



Pourquoi on est passé en 64 bits(je ne crois pas que l'on ira au-dessus)? En théorie, parce que ce l'ACC est sur 8 octets, que les double sont sur 8 octets. Mais aussi, parce qu'on était obligé!
En effet, la taille de la RAM nous oblige de faire comme ça! Nous sommes rendus au dessus des 4 octets(Je dis cela pour tous ceux qui ont dit que les pointeurs étaient des registres 4octets)

J'aime  Commenter
 

16/07/2022:



Bien sûr, tous programmeurs assembleur connaissent par exemple mov al,(edx+ebx*8). Hé, bien pour la partie data,sp,les registres de déplacement ix,jx et pc aussi,il pointe l'origine d'un programme
En réalité,il y a pour chaque registres généraux(eax,ebx,ecx,edx,xi,xj,sp,pc:xax,xbx,xcx,xdx,xxi,xxj,xsp,xpc)(en théorie). Ce qui donne mov,al,(edx+ebx*8) même syntaxe mais xdx est implicite!

J'aime  Commenter
 

21/07/2022:



Je voudrais dire à Intel, que Zilog avait 3 registres généraux en plus(a,b,c,d,...e,h,l) ! Il faudrait eax,ebx,ecx,edx,eex,ehx,elx qui sont maintenant sur 8 octets.Zilog les avait, mais sur 1 octet
De plus, les 128 registres d'usage général, sont quadruplés et ne ceux la ne sont pas accessibles directement. Ce sont des pointeurs vers la RAM,pour charger l'autre plage(Voir détails)
Voir le fil de discussion en entier 

J'aime  Commenter

21/07/2022:



Ce qui nous amène à utiliser une variable r2 à r127, comme par exemple pile de bits,vu que l'on gaspille 8 octets à chaque push ! (voir exemple)

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

J'aime  Commenter

21/10/2022:



Pour réaliser le never des instructions while et for (voir tweet précédent) en assembleur,il faut dédier un flag pour never
on l'arme avant la boucle en question, et si le test n'est pas bon et que le bit est à 1 c'est donc la première fois. Donc,après on le désarme quand on est dans la boucle
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

06/12/2022:



Il faudra bien donner une appellation pour les mots de 8 octets (64 bits).
Je ne suis pas très original et je propose ma version dans Détails

J'aime  Commenter

23/01/2023:



On est habitué pour les registres généraux d'utiliser 2 registres. Parfois (je ne parle pas des r3=r2+r4), on devrait pouvoir écrire: ld A,(DX+BX)

J'aime  Commenter
 

23/01/2023:



Mais alors, si la largeur est l'octet(avec des 64bits:j'espère pour très longtemps), et que l'on a des données qui peuvent être sur un octo, on pourrait amélioré les INC et les DEC
En effet, il me semble que l'on pourrait créer INC8 et DEC8 pour tous les registres 64 bits

-petit jo: Ici, je ne parle que des INC et des DEC, car j'ai rien trouvé pour les décalage où ,4 et ,8 sont utilisé pour pointer en RAM

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

J'aime  Commenter

21/03/2023:



Pourquoi r2-r127? D'abord on a toujours besoin de variables et,certaines adresses mémoires reviennent très souvent, sans aller chercher dans la RAM, ni le cache données!
En réalité, (c'est comme,et ce n'est pas de la RAM): au niveau du op-code, on adresse r0-r127 sur un octet! On peut faire des opérations simples comme :r1=r2+r3 ou r3=r4*r5+r6 en un flop!

J'aime  Commenter

21/03/2023:



Bien sûr, les variables r2-r127 sont vus, comme des adresses mémoire, à la différence que la valeur instruction est sur un octet et non huit (64 bits). Il faut donc un jeu d'instruction pour elles
Et le but ultime, c'est que l'on utilise certaines instructions assembleurs (qui utilisent les adresses RAM), en remplaçant la partie de l'op-code par ces registres variables. Genre: ld EAX,r4

-petit jo: Ce sont les même instructions au niveau syntaxe, mais doublées pour les r2-r127. Elles (je repète) prennent aussi moins de place dans le programme exe!

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

J'aime  Commenter
 

21/03/2023:



Pour finir la parenthèse sur les registres 'variables', je pense qu'il faut pour chaque core, doubler les variables générales comme le préconise Zilog (pas r2-r127!): Exemple EAX',EBX',IX',SP',SU'
On pourrait facilement faire une machine virtuelle(pourquoi pas une assembleur x8086,si on a pas d'idée), au lieu de faire des appels incessant avec la pile !
Voir d'après tweet Voir le fil de discussion en entier 

J'aime  Commenter
 

21/03/2023:



Je maintient aussi l'idée que les variables rn sont en réalité 4 variables rn, rn.1, rn.2 et rn.3(quatre variables pour l'instant ...séparées utilsées pour accélérer les boucles notamment)
Ce qui fait 125*4 variables globales(pour ceux qui pensaient que ce n'était pas assez! On les utilise indiféremment par exemple: ld AX(r4.1) ou ld AX,(r112) ou r5=r2.2

-petit jo: Je n'oublie pas, ce que j'ai dis sur les variables r2-r127! rn et rn.0 représentent la même variable

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

J'aime  Commenter
 
Pages:21-401..2021..4041..6061..78
Catégorie:Assembleur
Tous[nb=406]
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=14]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=3]
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=78]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