TWEETS de petit jo
Visiteurs:53067 (16:aujourd'hui, 424:ce mois, 4261:cette année).Dernière visite:17/05/2024
> Accueil>Tweets
Catégorie:Tous
Tous[nb=4]
Assembleur[nb=4]

Assembleur

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)

J'aime  Commenter
 

Assembleur

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 !)

J'aime  Commenter
 

Assembleur

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 !)

J'aime  Commenter
 

Assembleur

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 !)

J'aime  Commenter
 
Catégorie:Tous
Tous[nb=4]
Assembleur[nb=4]





Fermer