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

probleme assembleur ??!!

M0NT0YA
M0NT0YA
Niveau 10
06 mars 2003 à 00:36:58

bon voila mon probleme qd j utilse cette procedure pour afficher une chaine de caractere

presentation PROC
PUSHA
MOV AH,09h
INT 21h
POPA
presentation ENDP

et que je l utilse comme ca ds mon code

mov dx,offset entete
call presentation

l affichage est correcte mais le probleme est que le programme attendt que l on enfonce une touche du clavier . .. ( comme si j avais utilisé l interruption ( mov al,00h int 16h) alors que c pas le cas !

et si maintenant j utilise les mm ligne de code ds le main sans utilise la procedure evidement

MOV AH,09h
MOV DX,offset entete
INT 21h
ben la l interuption se comporte correctement !
alors je comprends vraiment pas pourkoi ca fonctionne differement qd j utilise la procedure . Est ce que quelqu un aurait un explication ?

M0NT0YA
M0NT0YA
Niveau 10
06 mars 2003 à 10:42:28

up

JeanYvesYves
JeanYvesYves
Niveau 10
06 mars 2003 à 13:22:30

je ne suis pas super fort en ASM, je ne sais plus exactement ce que fait l´interruption 21h
je connais surtout la 33h ( souris) et la 10h ( video)
essaie de trouver une liste d´interruptions sur le net, pour voir ce que int 21h prend en paramètres ( avec AH=09h)
es tu sur qu´il ne faut pas faire, par exemple un MOV AL,0 ?

si je regarde ton exemple plus bas, tu as chargé DX, peut etre que C un parametre d´entrée pour ton INT 21h ( AH=09h)
il faut peut etre le charger aussi plus haut.
Si tu laisses entrer des parametres que tu n´as pas fixé, ce sera une valeur imprévisible qui sera envoyé a la fonction, et ça fera surement pas ce que tu souhaites.

--> vérifie que tu charges bien tous les parametres

Lightness1024
Lightness1024
Niveau 10
06 mars 2003 à 14:33:40

mais enffin pourquoi vous persistez a programmer en 16 bits ! !!!!?

arnaud81
arnaud81
Niveau 7
06 mars 2003 à 22:16:08

c est tres etrange....

peut etre as tu oublie de mettre un RET dans ta procedure......

M0NT0YA
M0NT0YA
Niveau 10
07 mars 2003 à 00:34:12

putain mais qu est ce que je suis con j en reviens pas ! le RET . .. pffffffff! juste apres ma proc presentation j avais une proc attente et vu que qu il ya pas le ret pour déempiler la pile . .. enfin merci a toi !

arnaud81
arnaud81
Niveau 7
07 mars 2003 à 12:15:26

et bien, je suis content..apres tant dannee aue je ne fais plus dassembleur il me reste des bases lol

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