Bonjour a tous ,
avant toute chose , je tiens a preciser que j en ai aucune notion d'assembleur
Je pratique plutot le C et le Java
Dans un programme C , je dois appeler certaines fonctions qui sont definies en Assembleur
je travaille sous Kdevelop (Fedora Core 5)
J ai de suite telecharger Nasm pour tenter de creer un .o avec mon fichier .asm
mais il y a beaucoup d'erreurs a la compilation
N'etant pas un virtuose de l'assembleur : je n arrive pas a connaitre "le langage" assembleur utilisé
je vous mets le debut :
**********************************************************************
.model large
.code
; Chaine d'identification du Packet Driver
teststring db 'PKT DRVR'
; Variables
newbuffer dw 0 ; Flag 'paquet pret dans le buffer'
; Si = 1 : Paquet pret
countera dw 0 ; Compteur 'nb paquets recus'
counterb dw 0 ; Compteur 'nb paquets bufferises'
countx dw 0
buffer db 16384 dup(0) ; Buffer
; -------------------------------------------------------------------------
;
; unsigned short packetvector( unsigned char )
;
; Description : Recherche du vecteur d'interruption du
; packet driver
;
; Entree : Numero de l'interruption sur laquelle
; on fait la recherche
;
; Retour : 0 Packet driver present a cette interruption
; 1 Packet driver non trouve a cette interruption
;
; Mecanisme : On recherche la chaine 'PKT DRV' situee a partir
; de l'adresse + 2 du vecteur d'interruption
;
; ------------------------------------------------------------------------
public _packetvector
_packetvector:
push bp
mov bp,sp
push di
push si
push ds
push es
mov ah,35h
mov al,[bp+6]
int 21h
mov di,bx
add di,3
push cs
pop ds
mov si,offset teststring
mov cx,8
repe cmpsb
mov ax,cx
packetvectorreturn:
pop es
pop ds
pop si
pop di
pop bp
retf
packetvectorinvalid:
mov ax,0007h
jmp packetvectorreturn
public _usepacketvector
_usepacketvector:
push bp
mov bp,sp
mov al,[bp+6]
mov bx,offset driverinfoint + 1
mov [bx],al ;there has to be a better way!
mov bx,offset accesstypeint + 1
mov [bx],al ;there has to be a better way!
mov bx,offset releasetypeint + 1
mov [bx],al ;there has to be a better way!
mov bx,offset getaddressint + 1
mov [bx],al ;there has to be a better way!
mov bx,offset setrcvmodeint + 1
mov [bx],al ;there has to be a better way!
mov bx,offset sendpacketint + 1
mov [bx],al ;there has to be a better way!
pop bp
retf
**********************************************************
Mon probleme est que dans mon programme C je dois faire appel a des fonctions contenues dans ce fichier assembleur
et pour l instant celui ci ne compile pas car il ne les trouve pas
est ce que qq un peut me dire comment linker un fichier assembleur dans Kdevelop
et de quel type est ce fichier assembleur
Dans l'attente
je vous remercie