Sujet : Re: Threads vs Process
De : houten.van (at) *nospam* orange.fr (Arachide)
Groupes : fr.comp.sys.atariDate : 25. Aug 2024, 12:01:36
Autres entêtes
Organisation : NUO - News.Usenet.Ovh
Message-ID : <vaf2ug$mnla$1@news.usenet.ovh>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
User-Agent : Mozilla Thunderbird
Le 24/08/2024 à 19:02, Francois LE COAT a écrit :
J'ai eu le droit dans les petites classes à des cours d'informatique
principalement sur PC. C'est à dire de l'assembleur x86 à forte dose,
du langage C, avec l'utilisation des environnements DOS principalement
et un peu Windows. Bon c'était avant 1995, mais ensuite des collègues
programmaient sous Windows, puis je l'ai pratiqué moi-même pour les
développements de la voiture électrique autonome. Une voiture avec
pour OS Windows, c'est assez folklorique ! D'ailleurs on pouvait
commander la direction, la vitesse, mais pas le frein. Très fort ! Mais
toi, quelle est ton expérience ? Parce que Windows, en assembleur ...
Le DOS d'accord, mais un PC actuel, ça me parait un peu improbable :-)
J'ai programmé avec MASM32 en assembleur sous Windows.
- Un programme qui reprenait mes fichiers de généalogie commencé sur Atari (interface avec photos, sons, vidéos et textes)
- un programme qui détectait les erreurs de dépassement sur l'enregistrement d'un WAV (à l'époque ma carte son ne faisait pas de vérification de limite et si un son dépassait les 16 bits positifs, il rebasculait vers les négatifs créant ainsi des "crac")
- un programme pour cacher un fichier dans une image TGA en utilisant le bits de poids faible des octets de couleur
Bref, j'ai fait différentes petites choses.
Je te rappelle le petit exemple que je t'avais fourni pour te prouver que Windows ne plantait pas quand on lui faisait exécuter le calcul Sin(x)/x pour x=0.0.
Le code source est tout simple:
.386
.model flat,stdcall
option casemap:none
include \partage\masm32\include\windows.inc
include \partage\masm32\include\kernel32.inc
includelib \partage\masm32\lib\kernel32.lib
include \partage\masm32\include\user32.inc
includelib \partage\masm32\lib\user32.lib
.data
MsgBoxCaption db "Plantons WIndows",0
MsgBoxText1 db "Avant la division...",0
MsgBoxText2 db "Après la division...",0
mon_x REAL8 0.0
mon_y REAL8 ?
.code
start:
invoke MessageBox, NULL, addr MsgBoxText1, addr MsgBoxCaption, MB_OK
finit
fld mon_x
fsin
fld mon_x
fdiv
fstp mon_y
invoke MessageBox, NULL, addr MsgBoxText2, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start