Hello,
Voici un code ASM très court que je tente depuis quelques heures de rendre fonctionnel. Sans succès, malheureusement.
Je tente (désespérément) d'afficher un nombre à virgule flottante via printf. J'ai réussi à afficher tout et n'importe quoi avec ce printf, de l'entier, de la chaîne de caractères, pas de soucis. Mais dès qu'il faut introduire de la virgule, ça ne va plus. Et je doute que ce soit le printf qui ait un problème. Plutôt mon code ASM.
J'ai tenté du fld à tout va, du fst & co en veux-tu en voilà, sans succès. C'est franchement casse-pieds. J'apprends l'ASM, donc j'ai besoin de me rendre compte visuellement que mon code fonctionne comme je le veux quand j'effectue des opérations sur des nombres à virgule flottante. Et si je ne peux pas l'afficher... C'est gênant. Un peu.
Note : j'utilise FASM pour assembler mon code.
Quelqu'un saurait-il donc me dire quel code ajouter/modifier pour afficher ce '4.5' dans ma console ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 format PE Console entry start include '../include/win32a.inc' section '.data' data readable writeable _printFloat db '%f',10,0 ; formattage printf float dd 4.5 section '.code' code readable executable start: ccall [printf],_printFloat,[float] ccall [getchar] ret section '.idata' import data readable writeable library msvcrt,'msvcrt.dll' import msvcrt,\ printf,'printf',\ getchar,'_fgetchar'
Partager