CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Asm - question sur un tuto

linux13-04
linux13-04
Niveau 8
28 mars 2014 à 21:41:42

Salut,

Je suis entrain de commencer l'asm sur ce tuto :

http://asm.developpez.com/cours/gas/

Et j'ai une question:
Dans le code pour le hello world, dans la section .data l'auteur déclare .saut en utilisant la directive .byte

.saut : .byte '\n

Plus loin dans le tuto il nous montre comment initialiser un tableau, toujours avec la directive .byte mais cette fois si il ne met pas de '.' devant le nom du tableau (alors qu'il y en avait un devant le "saut")

tab_byte : .byte 23,'%,0xff,9,'\b

Pourquoi :( ?

kernel[]
kernel[]
Niveau 10
28 mars 2014 à 21:43:41

salut, c'est juste qu'il l'appelle ".saut" au début et "tab_byte" ensuite aucune raison formelle liée à l'asm de mettre un point ou pas juste de style.

linux13-04
linux13-04
Niveau 8
28 mars 2014 à 21:57:35

Merci :-)

Autre remarque/question :

À partir de cette étape : http://asm.developpez.com/cours/gas/#LV-A-1 l'auteur commence à parler de l'utilisation des registres, de l'entrée clavier et tout mais n'avait encore jamais rempli ni utilisé les registres avant, du coup on ne connait pas le rôle des registres ? :(

linux13-04
linux13-04
Niveau 8
28 mars 2014 à 21:57:57

Ni pourquoi il rempli celui là et pas celui-ci :(

kernel[]
kernel[]
Niveau 10
28 mars 2014 à 22:03:21

ah bah moi je sais pas hein :noel:
peut être qu'il en parle après dans le tuto vu que là c'est des exemples de code.

linux13-04
linux13-04
Niveau 8
28 mars 2014 à 22:17:23

re :hap:

Sur developpez.com, il est écrit :

mov source,destination

alors que sur ce site : http://a-os.teria.org/sam86/asmmm.htm
c'est l'inverse :

"mov ax, 10

Il met 10 dans AX. Il met 10h "

Pourtant les deux traitent bien de l'asm x86 :(

kernel[]
kernel[]
Niveau 10
28 mars 2014 à 22:20:20

La syntaxe AT&T fait dans ce sens, la syntaxe Intel dans l'autre... :noel:

linux13-04
linux13-04
Niveau 8
28 mars 2014 à 22:24:14

C'est un choix d'utiliser la synthaxe AT&T ? on peut utiliser la synthaxe qu'on veut ?

Si il n'y a pas deux tutos qui ne se contredisent pas, jsuis mal barré :noel:

kernel[]
kernel[]
Niveau 10
28 mars 2014 à 22:26:54

Non, le tuto que tu lis sur dvp est basé sur un "assembleur" (le programme qui assemble ton fichier source :noel: ) nommé "gas" qui utilise la syntaxe AT&T, donc tu dois écrire ton code avec cette syntaxe.

Après t'as d'autres assembleurs comme NASM ou FASM qui utilisent une autre syntaxe de type Intel.. :ok:

Quoi qu'ils en soit le langage de tous ces assembleurs est l'assembleur x86... :noel:

linux13-04
linux13-04
Niveau 8
28 mars 2014 à 22:39:18

Ah d'accord :hap:

Comme je commence seulement,qu'il est encore temps de changer, est ce que gas est un bon choix ? ou je devrai m'orienter vers autre chose ? Sachant que mon objectif c'est de faire des petits programmes, découvrir le fonctionnement du processeur, un peu de reversing (crackme, ou autre)

kernel[]
kernel[]
Niveau 10
29 mars 2014 à 10:49:53

bah c'est un choix qu'il faut faire ça dépend de ce que tu préfères, personnellement je trouve la syntaxe Intel (avec NASM par exemple) plus simple et claire. :noel: Mais n'importe quel assembleur x86 fera l'affaire pour ce que tu veux apprendre, juste une question d'affinité.

Je te suggère de lire ça :

http://xathrya.web.id/blog/2013/08/20/comparison-of-intel-nasm-and-att-gas-assembler-format/

Article qui compare un peu les deux formats. :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware