Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/02/2011, à 12:51

sylvainvh

Tasm sous Linux

Bonjour,

Dans le cadre de mes études, je dois utiliser tasm (un assembleur). Par contre, on utilise sous XP. J'ai trouvé une version de tasm sous Linux mais par contre, je ne sais pas comment l'utiliser. Lorsque j'utilise la commande "tasm monfichier.asm", il m'indique plusieurs messages d'erreur:

tasm exo14.asm 
**Error** exo14.asm(2) junk at end of line, first unrecognized character is `S'
**Error** exo14.asm(3) junk at end of line, first unrecognized character is `1'
**Error** exo14.asm(5) expected ) after DUPlicated expression
**Error** exo14.asm(9) undefined symbol `@data' (first use)
**Error** exo14.asm(9)  (Each undefined symbol is reported only once.)

Alors que mon code est bon (testé en cours). Est-ce que quelqu'un aurait une idée pour utiliser correctement tasm?

Je vous remercie,
Sylvain

Dernière modification par sylvainvh (Le 18/02/2011, à 12:54)


Et si on se connaissait mieux: Ma présentation
Je suis le 461409 et vous?
Je suis maintenant le 20713 Ubuntitiens et toi?

Hors ligne

#2 Le 18/02/2011, à 12:56

Nasman

Re : Tasm sous Linux

Peux tu poster le contenu de ton fichier ?


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#3 Le 18/02/2011, à 13:04

sylvainvh

Re : Tasm sous Linux

Sans aucun problème:

                DOSSEG

                .MODEL     SMALL

                .STACK     100h

                .DATA

nbrs             DB 10 dup (1,2,8,6,5,7,4,6,2,1)   ; 100 bytes initialisés par groupe de 10 bytes

                

                .CODE

debut:             

                mov ax,@DATA

                mov ds,ax

                

                mov bx, OFFSET nbrs   ; offset de mon tableau en mémoire

                mov cx, 100  ; compteur initialisé à 100

                mov al, 0    ; stocker le plus grand ( initiatlisé au plus petit)

                mov ah, 0FFh ; stocker le plus petit  (initiatlisé au plus grand)

                

boucle:         

                cmp [bx],al  

                ja plusGrand    ; plus grand que le plus grand actuel ?

suitetest:        cmp [bx],ah

                jb plusPetit    ; plus petit  que le plus petit actuel ?

                jmp suiteboucle ; pas de nouveaux plus grand ni plus petit continuer la boucle

                

plusGrand:        mov al,[bx]     ; un nouveau plus grand

                jmp suitetest

                

plusPetit:         mov ah,[bx]    ; un nouveau plus petit        



suiteboucle:     inc bx         ; passer à l'élément suivant en mémoire

                dec cx         ; décrémente le compteur

                jnz boucle     ; si le compteur n'est pas nul, boucler

                

                sub al, ah     ; plus grand moins le plus petit -> résultat dans AL

                            

                mov ah,4ch

                int 21h

                

                END debut

Et si on se connaissait mieux: Ma présentation
Je suis le 461409 et vous?
Je suis maintenant le 20713 Ubuntitiens et toi?

Hors ligne

#4 Le 18/02/2011, à 15:59

Uda

Re : Tasm sous Linux

Salut,

Je ne savais pas qu'il existait une version tasm pour linux, mais ce n'est peut être pas la même que celle que tu utilises sous windows.
Je connais nasm qui fonctionne sous Linux/Windows/Dos. Il a un mode de compatibilité Tasm (mais limité).

Par contre, je pense que ton problème vient du fait que DOSSEG / Model Small n'a de sens que pour le modèle mémoire du DOS.
Ces directives n'ont pas d'équivalent sous linux (Pas le même modèle d'adressage mémoire).
Il faut que tu adaptes ton source pour qu'il puisse fonctionner sous linux (à voir dans la doc de ton assembleur).
Mais, tu ne vas pas pouvoir utiliser exactement le même source chez toi et en cours.

Par contre, je pense que tu dois pouvoir utiliser DosBox (émulateur dos) pour faire tourner le TASM que tu utilises sous windows.
Cf: http://doc.ubuntu-fr.org/dosbox
Comme cela tu n'as pas besoin de modifier ton source.

A+

Dernière modification par Uda (Le 18/02/2011, à 16:00)

Hors ligne

#5 Le 18/02/2011, à 17:44

sylvainvh

Re : Tasm sous Linux

Merci beaucoup pour ta réponse! En effet, t'es explication semble logique et je comprend pourquoi ça ne fonctionne pas. Il est vrai que je vais pas changer mon code car j'apprends que celui-ci et je vais pas me mettre du travail en plus. Par contre, je vais essayer dosbox. Il semble super.

Encore un grand merci


Et si on se connaissait mieux: Ma présentation
Je suis le 461409 et vous?
Je suis maintenant le 20713 Ubuntitiens et toi?

Hors ligne

#6 Le 08/04/2011, à 14:17

lyessa

Re : Tasm sous Linux

Bonjour,
j'ai un tp d'Archi et j'ai besoin de travailler avec l'assembleur TASM

svp, est-ce que pouver m'indiquez les différentes étapes pour pouvoir écrire un programme Assembleur sous le TASM ensuite le compiler et l'exécuter et aussi les commandes de compilation et d'exécution

// sachant que je travaille avec une Machine virtuelle Windows XP sous Ubuntu 10.04

Hors ligne

#7 Le 08/04/2011, à 14:40

Nasman

Re : Tasm sous Linux

Si tu travailles sur un XP virtuel, il te faut lancer une version TASM pour Windows, installée dans ta machine virtuelle.


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#8 Le 08/04/2011, à 15:55

lyessa

Re : Tasm sous Linux

oui il y est déja sur la Machine Virtuelle sans que j'aurai besoin à l'installer, mais plutôt je cherche comment et oû écrire le morceau de programmme Assembleur que j'ai à faire et comment le compiler, exécuter...

Hors ligne

#9 Le 12/04/2011, à 15:54

Uda

Re : Tasm sous Linux

Salut lyessa,

Il suffit simplement de créer un fichier .asm avec n'importe quel éditeur de texte (notepad par exemple).
Le compiler à l'aide d'un commande tasm et de générer l'executable (exe ou com suivant ton model) avec la commande tlink.

Je connais pas les commandes exactes mais j'imagine que tu dois avoir un cours de support et l'aide en ligne de tasm / tlink.
A+

Hors ligne

#10 Le 12/04/2011, à 21:09

lyessa

Re : Tasm sous Linux

merci bcp! merci tt le monde; ça m'a été utile

Hors ligne

#11 Le 23/04/2011, à 15:01

lyessa

Re : Tasm sous Linux

bonjour tout le monde!

alors, cette fois j'ai un boulo en langage JAVA et sur Eclipse, sous Linux Ubuntu biensûr!
mais je ne trouve pas la propriété 'class' qui me permet de créer une class pour travailler!!?

Hors ligne