Allora in c++ devi dichiarare la funzione come esterna
per par cio' devi inserire dove sono definiti i prototipi di funzione la seguente riga:
extern "C" int_stdcall aisalnum(int variabile)
a questo punto se la variabile deve essere modificata la devi passare come puntatore altrimenti va bene cosi come è
nel file assembler
.486
.model flat, stdcall
option casemap:none
.code
aisalnum proc Arg1:Dword
mov eax,Arg1
cmp al,'0'
jl fine
cmp al,'9'
jle valido
cmp al, 'Z'
jg fine
cmp al,'a'
jge valido
; qui andrebbero inseriti i controlli che ti dicevo prima con la z minuscola e la A maiuscola.
valido:
mov eax,1
jmp short conclusione
fine:
mov eax,0
conclusione:
ret 4 ; consideri il parametro che è già nello stack
aisalnum endp
end
in questo caso non c'è bisogno che modifichi il parametro di ingresso perchè per default la convenzione di chiamata stdcall restituisce in eax.
se usi visual c ti spiego come agganciare la routine al programma.