• AgoraVox sur Twitter
  • RSS
  • Agoravox TV
  • Agoravox Mobile

Signaler un abus

Ouam 18 décembre 2016 00:40
Ouam (Paria statutaire non vacciné)

@COLIGNON

bonjour,

« Ils n’ont besoin que de 5 ou six instructions d’assembleur, Mov étant la principale qu’ils auront à utiliser.... »

5 ou 6 la j’ai du mal.

Rien que si allez sur un atari (je prends ceci pour le 68000)

si tu fait l’équivalent d’un printf « bonjour » en c.

un tu doit déclarer la variable (la c’est le comlpilo qui le fait) avec le db « bonjour »

apres tu empile sur ta ppile l’adresse te ta variable (sur ta pile vu que tu va apeller par la suite ta fonction)

move adresse_de ta chaine, -sp

move la commande printf du gem, -sp

call gemdos (appel du trap du systeme)

add #6, Sp (tu rétablit la pile de 4 (l’adresse) + 2 le code le l’instruction qui est un word)

pour une boucle c’est 

le label la : (ici c’est l’adresse implicite que le compilo te fournira)

nop (et oui nop c’est une instruction qui fait rien mais elle est utile

... le reste de tes instructions

bne.s (short) adresse du label tant que ton registre de flag negatif n’est pas posé ca boucle

il fait -1 tu est ici

tu voit rien que en faisant rien je bouffe déja 5 instructions

tu me dira je peut milutiplier par deux en faisant un lsr #2, (contenu de mon registre) pour eviter d’utiliser mul qui lui bouffe bcp plus de clocks, mais ca me fait encore une instruction

idem si je / 2 je devrais utiliser rsr (a droite cette fois)

j’en suis à 7 (instructions)

apres lors des chiffres pas ronds, et la taille du code , j’ai interet a utiliser div (8)

ou mul (9)

puis defois je dois masquer un bit, pour par exemple rendre un chiffre pair (paf encore une) 10 instructions

bon j’arrette, ca doit etre clair que 5 ou 6 c’est pas possible,

ou mets moi un exemple de code avec 5 ou 6 instructions et la ok

si c’est du proc intel, mais la c’est pire (en plus le cauchemar c’est que tout est à l’envers) lsb, msb par rapport aux familles 68000

La avec l’instruction pour gerer les pages (mémore blocs de 64ko) ca t’en bouffe une en plus que le 68000, puis l’appel du mode protégé de mémoire ne se fait pas n’importe comment (a partir du 80186) c’est l’horreur...

je ne parles pas des séries suivant le 386, 486, premier pentium du nom, apres il y a eu le mmx d’implémenté, etcetcet...

bref... 5 ou 6 c’est pas possible (30 allez on peut commencer à faire un peu quelque chose) en comptant bien sur les différents modes d’addrressage pour une instruction (ce qui n’est pas le cas au niveau code binaire)

par contre faire commencer la programmation en assembleur a des etudiants qui ne connaissent rien, il faut etre un grand malade, meme le fait d’appeller de l’assembleur a partir d’un langage évolué ne se fait pas n’importe comment (en plus) sinon c’est baoummm.

Il n’y à aucun mystère mais juste de la rigueur et de l’éxpérience (surtout lorsque tu commence à attaquer des périphériques, r/w etc) tu doit aussi connaitre le matos (sa structure), et le Système d’ Exploitation (enfin au moins un mimimum).

Juste pour info,les docs d’un i7 si tu imprimes ca t’en fait pour 10 bons kg au bas mot, alors 5 & 6 instructions bah... ta feuille est en plomb smiley

apres t’en fait ce que tu veut de mon ptit avis de misérable...(chétien athé)



Palmarès