begin process at 2012 05 25 06:37:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Aide et documentation

 > 

Création d'une lib sous tasm et linkage avec du code tc avec tlink


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Création d'une lib sous tasm et linkage avec du code tc avec tlink

jeudi 8 octobre 2009 à 13:16:32 | Création d'une lib sous tasm et linkage avec du code tc avec tlink

rdany62

Bonjour,
Je cherche à créer une librairie statique avec tasm et la lier avec un code écrit avec turbo c. tout ce passe bien (assemblage, compilation et linkage), mais à l'exécution (dans une invite de commande sous WinXP), j'ai un plantage du type 'le programme XXX a utilisé une instruction invalide à l'adresse machin etc...'. Après test sous turbo debugger, le code C appelle bien le code assembleur, qui lors du ret (j'ai aussi essayé avec retf et retn) renvoie vers autre chose que mon code C. Je me demande si je n'ai pas merdouillé un tantinet avec la pile ou le modèle mémoire...
Voici le code C (test.c):
#include <stdio.h>

extern void cdecl testp(void);

int main(void)
{
/*printf("Appel de testp().");*/

testp();

return 0;
}

Le code asm (timer.asm):
TITLE Timer

.model small
.stack 100h

.data


.code

start:

public _testp

_testp proc __CDECL__
push bp
mov bp,sp

mov ax, 03h
int 10h

xor ax, ax
int 16h

pop bp
ret
_testp endp
end

Le batch utilisé pour compiler, etc... (make.bat)
@echo off
set path=c:\tasm\bin;%path%
set path=c:\tc;%path%

c:\tasm\bin\tasm timer.asm /mx
rem /z /zn
if not %errorlevel% ==0 goto :notok

erase timer.lib
c:\tasm\bin\tlib /0 timer +timer, timer

tcc -a -c test

tlink test,test,,timer /s /d

:notok
pause

Si quelqu'un sait ou je me suis planté, merci d'avance pour votre aide. (je cherche en fait à timer un code en mode réel sous dos).-
mardi 27 octobre 2009 à 22:26:00 | Re : Création d'une lib sous tasm et linkage avec du code tc avec tlink

Guilou34

Salut
Ta source c génère une simple procédure qui retourne n'importe où puisqu'elle n'est pas appelée.

Ceci suffit:
{
main ()
...
testp();
....
}
Amicalement
lundi 9 novembre 2009 à 12:42:44 | Re : Création d'une lib sous tasm et linkage avec du code tc avec tlink

rdany62

Bonjour,
Je te remercie de ta réponse. J'en ai discuté avec l'un de mes enseignants, Visiblement, le main() de la source C est appelée par le DOS, qui appelle à son tour testp(). Mon enseignant m'a fourni une solution, mais n'ayant plus Internet chez moi pour cause de déménagement, et n'ayant pas les sources sur moi aujourd'hui, je ne peux les poster. je le ferais cependant assez vite, d'autant plus que maintenant çà marche (bien qu'uniquement en modèle large, mais bon...). A très bientôt donc !


Cette discussion est classée dans : timer, code, test, tasm, testp


Répondre à ce message

Sujets en rapport avec ce message

Que signifie réellement "ASSUME" dans TASM ? [ par hamburger_de_dinde ] Que signifie réellement --> assume CS:code , DS:data ???Puisque, dans le code, on écrit quand meme MOV AX, data et MOV DS, AX. Est-ce utilde d'écrire Test souris && pause clavier [tasm] [ par merzhin ] Bonjour voila, jutilise 2 procédure :une pour faire un test soursi (ki me donne les coordonné de la position de la souris ainsi que l'etat des buttons Fichier non localisé par TASM [ par OKTAH ] 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 segmen Code VHDL [ par Manoul2001 ] Bonjour a tous [^^happy13] je cherche le code vhdl du module bindct, quelqu'un peut m'aider ? Merci chaine de caractére en code binaire [ par hibamdalla ] bonjour je veux programmer un pic16f877 avec mikroc qui permet la lecture d'une chaine de caractère à partir d'un RS232 et la transférer en code binai Serrure codée [ par raphi67 ] Voilà je viens de commencer mon projet donc je l'explique. Il s'agit d'une serrure codée, alors j'ai commencé mon projet avec un monostable au début e tasm [ par yosrasouaifi ] je veut écrir un prog tasm 1.controler la saisie pour ne pas accepter qu une chaine en minuscule 2.affiche ch en majuscule ,taille de ch , nombre d tasm [ par yosrasouaifi ] salut je trouve la solution de l'exercice ci dessous mais je ne la compris pas si quelqu un veut m aider je donne la solution C URGENT un prog tasm timer et PWM [ par ojhoj ] [size=100]bonjour a tous, je suis en train de faire une application pour noel, et j'ai besoin de sortir une PWM sur 16 patte de mon pic. le pic uti


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,434 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales