c´est quoi GUI?
graphical user interface,
parce qu´en fait MASM et compagnie, ce sont juste des programme en ligne de commande : tu tape dans une console :
masm -a monprograme.asm ( je sais pas vraiment ce qu´il faut taper) et ca te fait un programme.
MAis c´est pas très pratique, donc une GUI, c´est une interface graphique qui ce met entre toi et MASM ou autre assembleur.
Quand une GUI est très complète et qu´elle aide vraiment, on se met à parler d´ IDE qui est : interface de dévellopement intégré.
ah ok merci beaucoup!
Moi toutes les interfaces, qu´elles soient complètes ou non, je les appelle IDE ![]()
ben un GUI c´est developpé à part et tu peux l´integrer au logiciel, contrairement à l´IDE qui est integré au préalable
--log
Cherches un peu sur RadASM. C´est celui que j´utilise, il est très bon:
Bonne coloration syntaxique, multi assembleurs, gestion de projets, ect...
Kelios
---------
ok, je me jette sur google, merci d´être passé ( =
--log
Kelios, si tu me vois sur msn vient vite me parler, j´ai un truc pour toi de la part de Jeep, c´est important merci, je reste jusqu´a euh disons 3h
--log
si on remonte à la page précédente, on voit une question que j´ai posé, que je repose ici :
si l´on écrit un programme en assembleur, celui ci peut-il être exécuté sur plusieurs OS ?
la réponse était non car tous les OS ne cgharge pas les programme de la même manière.
Mais j´ai découvert récemment les *.com qui me semble être de pur exécutable sans aucune enjolivure autour.
Alors, est ce que je me trompe sur le compte des *.com et si non, est ce que ceci ne pourrait pas être exécuté sur plusieurs OS vu que le code assembleur est le même si on reste sur le même processeur ( moins les interruption) ?
merci d´avance.
Grumpf.
Si je me souviens bien, . com = executable pur, sans rien autour, MAIS avec une limitation de taille de 64 Ko.
OUI! Il pourrait être exécuté sur plusieurs OS si:
le code est totallement OS indepandant,
( ça sa veux dire se baser sur rien du tout en matière d´état du système au moment de loadage, aucun appel de fonction particulière, se baser sur des choses qui sont normalisés au niveau du proc et qui sont obligatoirement respectés par tous les OS, ect...);
Cepandant, ce problème pourrait être enlevé si tu fait un prog de loadage qui fournirait une émulation de l´état attendu du programme, un virtualizer, quoi.
Sinon, il te faut aussi un moyen de les loader, ce programme. Si l´OS a un format équivalent au . com, t´aura juste à renommer l´extension, mais c,est pas nécessairement assuré que ça existe. Autre solution, ton propre petit prog qui ferait la conversion entre le . com et un format quelconque supporté par l´OS en question.
Bien sur, tu change rien au code, ce n´est que le principe de rajouter un header, dans ce cas. Sauf que, c,est pas toujours évident, car l´OS pourrait alors loader de façon spéciale qui est contraire à l´idée du com, des détails qui ficherait tout en l´air, et malheureusement, tout ceci serait hyper dépendant des cas.
Enfi bref, pas de solution miracle, même si, si tu ne condisère que le code, et qu´en plus tu considère que ton code est OS independent, ben ouais, ça serait probablement portable. Sauf que tout ce qu´il y a autour gêne cette idée de portabilité.
Elle est dure la vie du programmeur voulant faire de la portabilité, hein? ; )
Kelios
---------
Chaque system a ses services à partir d´ interruptions, il est fort probable que si tu utilises ces routines, le programme ne fonctionnera pas de la même façon selon l´o.s.
En plus de ça tu ajoutes le mode protégé, donc le fait que tu peux avoir des exeptions...En gros t´es très limité.
Après viens le problème du header, il est différent selon l´o.s...
conclusion: " oui" et " non".
Si tu écris une routine asm os-independant dans un code C par exemple, elle peut être utilisable avec n´importe quel O.S.
Dans tout les cas, si tu veux un code portable, changes de langage ( :
merci kelios, et jarose, ne t´inquiète pas, je ne code pas vraiment en ASM, ma question était plutot théorique.
Up
Comment développer en assembleur sans prendre le risque de crasher sa machine en cas de problème ?
Il faut passer par un émulateur ou existe-il un IDE-assembleur-debbugueur-emulateur pour x86 tout en un ? ![]()
Tout simplement en programmant proprement
IDE-assembleur-debbugueur-emulateur pour x86 tout en un
Ben visual studio fait ca, a part que ce n´est pas vraiment de l´emulation ; )
Si tu as vraiment trop peur de foutre toute ta machine en l air, utilise wmware ou autre..
J´me demande ce que tu code pour risque de péter ta machine ; )
ou utilise un autre PC, genre vieille bécane qui traine dans un coin.
" Tout simplement en programmant proprement"
Woui, mais je débute
![]()
lord_kalipsy > Rien de méchant je te rassure, simplement jusqu´à présent je faisait de l´asm68k sur ti-89 et j´ai le souvenir de quelques plantages mémorables sur cette dernière, donc je me dis qe sur PC c´est peut être pareil
dnob700 > J´ai pas de vieu vieu PC que je puisse mettre en l´air sans le regretter
Tien tant que j´y suis, quelqu´un pourrait m´expliquer ce problème :
( Bon c´est vraiment le Hello world de l´asm, mais faut bien commencer quelque part)
![]()
. 386
code segment use16
assume cs:code, ds:code, ss:code
org 100h
debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db " Hello, world ! ",´$´
code ends
end debut
Aucun problème d´assemblage ni de linkage avec tasm, cependant au lancement, le programme affiche plusieurs occurences de " Hello, world" espacées par des caractères incompréhensibles, avant de terminer sur " DOS SETBLOCK ( 4ah) error" en faisant couigner le haut parler système.
Il semblerait que le problème vienne du fait que le programme ne rencontre pas le caractère de terminaison ( ´\0´ en C/C++), cependant il me semble avoir lu que ´$´ était la à cet effet...
" ´\0´ en C/C++"
=> Si je ne m´abuse, le fait que ici le caractère de fin soit un dollar n´est pas du à une différence de langage, mais de service appelé.
J´sais pas sous TASM, mais avec MASM je fait :
PM DB "Program Manager",0
Essais avec 0 ![]()
En fait, si quelqu´un a une idée de comment on peux ce servir du explorer shell en ASM ( MASM32), j´suis preneur ^^
lord_kalipsy > C´est encore pire avec un 0 à la place du ´$´ ![]()