Fichier non localisé par TASM

OKTAH Messages postés 1 Date d'inscription vendredi 19 novembre 2010 Statut Membre Dernière intervention 20 février 2011 - 20 févr. 2011 à 18:56
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 23 févr. 2011 à 22:00
Bonjour,
J'ai un problème avec ce petit programme. Je ne sais s'il provient de TASM ou de quelque chose d'autre.voici le programme:

.386

code segment use 16

assume cs:code, ds:code, ss:code

org 100h

debut

mov ah, 09h
mov dx, offset message
int 21h

ret

message db "Bonjour,monde!", '$'

code ends

end debut

En essayant de le compiler, je reçois le message suivant:


Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

E:\Documents and Settings\Oktah>tasm tasm premier
Turbo Assembler Version 3.2 Copyright (c) 1988, 1992 Borland International

Assembling file: tasm.ASM to premier.OBJ
**Fatal** Command line: Can't locate file: tasm.ASM
Error messages: 1
Warning messages: None
Passes: 1
Remaining memory: 451k

Et ce,quel que soit l'endroit où je mets le fichier.
Quelqu'un peut-il m'aider à voir plus clair?
Merci.

4 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
21 févr. 2011 à 19:10
Il va le chercher là : E:\Documents and Settings\Oktah
Ajoute le chemin de TASM dans ton %path% pour éviter ce genre de problèmes

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
Guilou34 Messages postés 142 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 29 janvier 2016 1
22 févr. 2011 à 18:14
Il y a un tasm de trop dans la ligne de commande.
Le premier tasm demande l'exécution de Tasm.exe, le second d'assembler le fichier tasm.asm qui lui n'existe pas. L'erreur est dans l'appel du "Make" utilisé.
Sous l'invite de commande tape:
E:\Documents and Settings\Oktah\tasm premier

Tu verras alors quelques erreurs de syntaxes faciles à corriger
Mais plus graves sont celles qui se révéleront à l'exécution par exemple un "Ret" qui mène n'importe où.
Pour terminer un programme il faut coder:
mov ah,4ch
int 21h

En outre DS,ES et SS ne sont pas initialisés pas plus que SP d'ailleurs etc.
Bon courage.
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
23 févr. 2011 à 18:23
salut,

les segments et sp sont initialisés par le système (fichier .com).

Le ret appelera la terminaison mise en place également par D.O.S. dans l'entête (int 20h de souvenir).

@++
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 févr. 2011 à 22:00
Yep, tout ira bien si le stack n'a pas été massacré. Il y a aussi la fonction 4Ch de l'int 21h avec dans AL le code de retour

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
Rejoignez-nous