Pages : 1
#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
Pages : 1