Vous n'êtes pas identifié.
kel logiciel il fo et eskil y a 1 didactiel pour prog en assembleur
pr le tuto doit surement y en avoir un sur le site de Whyp (alors j've essayer de po me cplanter):
http://www.graphx-prog.fr.st ou alors http://www.ifrance.com/latanniere
e pour le prog c po Tasm ? enfin sur le site de Whyp i devre y etre ossi trifouille un peu tu devre trouver voilou
Ci@o e bon surf ;-)
Hors ligne
Le mieux, c'est d'attaquer sous nasm.
Sinon, les bouquins de chez marabout devrait faire l'affaire
@+
Hors ligne
ben ouais c cool merci tou lé 2 et whyp g tou téléchargé sur ton site... mé pour lé livre avan ke jen achete fodré ke g un didactitiel pour commencer a prog
Va voir sur http://www.developpez.com dans la rubrique ASM. Je suis sûr que tu vas y trouver ton bonheur !
;-) bonne prog !
Hors ligne
thanks a lot L@rk
g un otre pb :
g suivi l'abcp de program pour l'asm, je travaille donc avec nasm. me tuto me di d'utiliser l'assistan, je rentre tou lé parametres kil me dit et j'écri mon prog, ca donne ca :
;NASM-IDE ASM Assistant Assembler Project File
[BITS 16] ;Set code generation to 16 bit mode
[ORG 0x0100] ;Set code start address to 0100h
[SEGMENT .text] ;Main code segment
[SEGMENT .data] ;Initialised data segment
[SEGMENT .bss] ;Uninitialised data segment
phrase db 'hello world$'
mov dx,phrase
mov ax,4C00h
int 21h
le pb c ke la ligne '[SEGMENT .bss] ;Uninitialised data segment'
me fé des erreur d'assemblage alors kel é crée par le prog lui meme :
'E:VINCENTDOSSIERSPROGRAMNASMTRAVAILETAPE003.ASM:14:attempt to initialise memory in the BSS section: ignored'
komen ca se fé :?: :?:
kes tu met dans ton segment data ? je te conseil de faire 3 segment : 1 pour les data (ou tu mettra ta phrase), 1 pour ta pile (stack) , et 1 pour ton code (ou tu mettra donc...TON CODE ! sisi c vrai!).
voila @+
Hors ligne
merci hujikol mé ... 8O 8O je débute vrément (g écri ma première ligne d'asm ce matin) et dc eske tu pouré m'écrire tou ca pcq j'y compren tou simplement rien du tou.
ok, mais sache que l'assembleur est un langugage tres difficile! bon, alors deja un programme en asm se divise le plus souvent en trois parti :
-le segment DATA,
ou tu mettra toutes tes données, variables ou constante, meme du texte si tu veux, mais pour que le texte s'affiche, il faut mettre un "$" a la fin de celui-ci.
-le segment STACK,
tu defini ici la taille de la pile, elle fait office de "fichier temporaire", c'est a dire que tu pourras stocker et reprendre des variables ou autres que tu aura auparavant stocker (avec les commandes push et pop).
-le segment CODE,
c'est la que tu met e code de ton programme.
tu verra parfois des etra segment,ca arrive quand le prog devient complexe, tu peux aussi avoir plusieur segment data, ou sinon que les segment s'apelle autrement.
ATTENTION : tu dois toujours mettre les données du segment data dans un registre (il y a un code speciale pour ca que tu doit connaitre.)
voila, si tu a pas compris, je te maillerai un tuto pour ca car je ne suis decidemment pas destiné a devenir prof ;-)
Hors ligne
oublié : ca c de l'assembleur 286, donc n'apprend pas n'importe quel assembleur (ca depend du cpu) voila, le 286 est coppatible avec casio g100 (appart quelques commandes mais aores, tu testera toi meme !)
l'experience...c'est en passant par la qu'on aprend !
Hors ligne
Nasm compile tres bien pour la g100, ya pas de probs.
Je reprend ce qu'as dis Hujik0l, avec une sorte d'exemple :
[BITS 16]
[ORG 0x0100]
[SEGMENT .text]
;Ici tu met ton code. Style mov, push... Bref c ici que ton programme vas commencer a lire ce qu'il faut faire.
[SEGMENT .data]
;Ici c pour mettre tes variables. Par exemple :
Bonjour dw 3 ;Ca ça crée une variable bonjour de valeur initiale 3.
Et c tout. Petites precisions : Les ; devant une ligne te permettent de mettre un commentaire dans ton programme, mais celle ci ne seront pas compilée, c juste pour que tu sache ou tu en est.
Sinon, la structure bss ne te seravant pour l'instant pas a grand chose, retire la.
Tu pourrais ensuite compiler ton programme en laissant tout sous data, ça devrai pouvoir se compiler, mais le resultat ne serait pas ce que tu attent. Donc met ceci :
[BITS 16]
[ORG 0x0100]
[SEGMENT .text]
mov dx,phrase
mov ax,4C00h
int 21h
[SEGMENT .data]
phrase db 'hello world$'
LA ça se compileras impec. Seulement ton programme ne fera que s'ouvrir et quitter sans avoir afficher quoi que cesoit
Car pour afficher un texte, mov dx, phrase ne suffit pas. La tout ce que tu as fais, c de mettre l'adresse memoire de ta variable phrase dans dx.
Maintenant, va falloir que tu l'affiche. C une routine que fais ça. Mais je te conseille egalemenent, et ceci avant d'essayer d'afficher ton texte de faire une pause, une attente d'appuis sur une touche. Trouve la bonne interruption qui te permet d'attendre l'appui d'une touche par l'utilisteur, ça te permettra qd meme de voir plus tard ce qui s'affiche a l'ecran.
Voila, bcp de conseils donc, c plus simple pour moi car depuis qq temps je me suis mis serieusement a develloper en assembleur.
Pour ceux qui lisent ce post jus'au bout, sachez que je devellope en ce moment en asm un prog qui a un gros style command.com
je sais pas jusqu'ou je vais aller, mais je signale qu'il n'utilise aucune fonction du dos, ce que devrai permettre de le rendre autonome
Sur ces considerations...
@+
Hors ligne
ouaich merci a tou les 2, en fait le truc ke j'avé pa compri c kil fo mettre le prog lui meme après le [SEGMENT .txt] et pa a la fin. ca me vient surement du c ou il fo tou mettre après lé include et define.
o fait whyp, la fonction off de la g100 en asm ca donne koi??
ouaich whyp... tu sera prof avant moi ;-) enfin, je pense que c plus faciile, au debut, de mettre le segment data tout au debut, enfin maintenant tu le met ou tu veut !
il servirai a quoi ton command.com ? commme celui sur pc? ce serai pratique ! mais il y a des compliquations dans ce genre de programme, y'a 1 ans j'ai essaer de faire un prog comme ca sans fonction dos, il marchait sur ppc, mais pas sur caltos (c'etait une sorte d'HP je crois.)
voila, alors bonne chance, tu reussira la ou j'ai echoué !
@+ et "bonne bourre" (bebert)
Hors ligne