Maurício, saudações!
Grato pela contribuição do e-mail do sr. Haroldo, ainda vou contatá-lo. Contatos assim são muito valiosos!
Não, ela não recebe parametros de entrada (não
ainda nesta fase do tópico).
Mas se recebesse, seria em linha de comando, pq é um arquivo executável do qual eu tenho o fonte.
No contexto é apenas uma questão hipotética, para estudos mais profundos e ampliação de conhecimento a partir deste tópico inicial.
Sabe aqueles pequenos executáveis em ASM que sua aplicação ou de outros executa externamente? Vou exemplificar...
Imagine que vc possua um executável (com o fonte) de nome MAURICIO e ele faça apenas
uma destas coisas:
> muda o vídeo de 25 linhas para 36 linhas, ou...
> captura o endereço físico do modem (MAC), ou...
> retorne a quantos ciclos encontra-se o processador do PC naquele momento.
> e outros OUs....
Como pode observar, a função (lógica) do executável é bem definida (sem sustos). A ação é prevista ou o tipo de dado retornado está dentro de um escopo.
Vc deseja então ter o código incorporado no seu executável (nada de arquivo externo ou mais um na pasta), executando-o como uma função.
Evidentemente vc quer
modificar, compilar e agregar
MAURICIO.OBJ a sua LIB.
Veja um código super simplificado que ilustra a intenção...
MICROSO.PRG- Código:
-------------------------------------------------------------
LOCAL cA
-------------------------------------------------------------
cls
cA := Mauricio() //neste caso vai retornar uma STR
DispOutAT(10,10, cA, "GR+/N"); Inke(5)
retu
--------------------------------------------------The End--
A função deste ASM é apenas a impressão de uma STR. Está "IN NATURA" como foi encontrado.
Sua simplicidade facilita o entendimento futuro de
onde se procede a alteração para retorno do dado ao Clipper.
MAURICIO.ASM- Código:
dosseg
.model small
.stack 100h
.data
hello_message db 'Saudações CURSORianas a todos!!!',0dh,0ah,'$'
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset hello_message
int 21h
mov ax,4C00h
int 21h
main endp
end main
As questões são:
> quais as instruções que deveriam ser agregadas ao código acima para o dado ser retornado ao Clipper?
> O dado no contexto é do tipo
Caracter. E se a saída fosse do tipo
Numérica,
Data,
Lógica ou
Array?
> Qual seria o melhor compilador e quais parametros de compilação usar?
Um forte abraço!