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

Aide assembleur

akiller27
akiller27
Niveau 9
13 décembre 2005 à 15:01:49

Salut à tous, voila j´ai fait un cours d´assembleur aujourd´hui dans mon école d´ingé et je n´ai pas trop compris la différence entre les add et add. (sub et sub. ou addi et addi.). C´est juste que je n´arrive pas à cerner le rôle du point.
Merci de votre aide :-)

kufa
kufa
Niveau 9
13 décembre 2005 à 15:42:57

Explication du point en asm 68000:
le 68k etant un processeur 16-32 bitss, tu peux faire des operations en 8/16/32 bits: pour cela, on utilise des extentions : b(byte-8), w(word-16), l(long-32).
Pour les instructions qui acceptent les 3 extentions, ne pas la mettre revient a utiliser .w.
Donc:
add.b d1,d0 ; addition 8 bits
add.w d1,d0 ; addition 16 bits
add d1,d0 ; addition 16 bits
add.l d1,d0 ; addition 32 bits

La version "i" (addi) correspond au mode dit immediat ou tu passe la valeur directement:
addi #2,d0

/kUfa

Lapintade
Lapintade
Niveau 30
13 décembre 2005 à 15:54:31

"C´est juste que je n´arrive pas à cerner le rôle du point. "

A ma connaissance, aucune instruction ne se termine par "point" tout seul.

Comme dit kufa, tu peux utiliser les instructions en specifiant la taille aprés le point.

donc sub. ca existe pas

mais sub.b sub.w sub.l ca existe.

akiller27
akiller27
Niveau 9
13 décembre 2005 à 17:07:28

ok merci de cette aide, j´ai pu résoudre mon problème. En fait dans ce que j´ai deja fait, il y avait un . juste avant des instructions style bgt, bne...
Je n´ai pas encore vu ce dont vous parlez.
Merci quand même :-)

kufa
kufa
Niveau 9
14 décembre 2005 à 02:40:24

Pour les bgt/bne (communement Bcc), l´extention correspond a la taille "du jump", de l´offset de la destination par rapport a l instruction en cours. .b (ou .s) pour un offset 8 bits, .l pour 32, etc

Lorsque qu´une ligne commence par un point, c est pour avoir un label local:

Routine1: ; label global
Boucle: ; global
;. .
bne.s Boucle

Routine2:
Boucle: ; erreur, boucle existe deja

du coup:

Routine1: ; global
.loop: ; local
;. .
bne.s .loop

Routine2: ; global
.loop: ; okay

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