Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Assembly: Ulkoinen funktio

aWW [19.03.2005 19:55:12]

#

Muuttujan ja funkition määrittäminen toisessa ohjelmassa

tiedot.asm

.386P
; määritellään muuttuja Muuttuja ja funktio SUMMA
; litteä muisti-malli
.MODEL FLAT, STDCALL
public SUMMA                                                      ; funktio
public Muuttuja                                                   ; muuttuja
; data-segmentti
_DATA SEGMENT DWORD PUBLIC USE32 'DATA'
   Muuttuja dword 0                                               ; alustetaan muuttuja
_DATA ENDS
; koodi-segmentti
_TEXT SEGMENT DWORD PUBLIC USE32 'CODE'
SUMMA PROC
  mov eax, Muuttuja
  add eax, 1                                                       ; lisätään yksi
  ret
SUMMA ENDP
_TEXT ENDS
END

ohjelma.asm

; käytetään kyseiset tiedot
.386P
; ohjelma.asm
; litteä muisti-malli
.MODEL FLAT, STDCALL

; ulkoisen funktion prototyyppi
extern SUMMA@0:near                                                ; ei parametrejä
; ulkoinen muuttuja
extern Muuttuja:dword

; data-segmentti
_DATA SEGMENT DWORD PUBLIC USE32 'DATA'
_DATA ENDS
; koodi-segmentti
_TEXT SEGMENT DWORD PUBLIC USE32 'CODE'
START:
   mov Muuttuja, 5                                                  ; muuttujan Muuttuja arvo on nyt 5
   call SUMMA@0                                                     ; kutsutaan nyt meidän funktio
   mov eax, Muuttuja
   ret                                                              ; lopetus
_TEXT ENDS
END ENDS

aWW [19.03.2005 19:57:21]

#

Pitäisi toimia ainakin windowsissa

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta