Programación General > ASM (Ensamblador)

 Random/rand en ASM?

<< < (2/2)

esse:

--- Código: Text ---Random PROC range:DWORD              ;get pseudo random namber     mov     eax, [range]                ;[RandSeed] es variable global que se puede cambiar     xor     edx, edx                    ;para modificar el patron del random     imul    edx,[RandSeed],08088405H    ;08088405h una constante, algunas cifras se pueden cambiar, otras no     inc     edx     mov     [RandSeed],edx     mul     edx     mov     eax, edx     retRandom ENDP    ;/////////////////////////////////////////////////////////////PRINCIPIO DEL PROGRAMA/////////////////////////////////////////////////////////////////main PROC    mov ax,@data    mov ds,ax    mov es,axinicio:    ;semilla random    mov eax, fs:[046ch]    mov RandSeed, eax    call Random(10d)    scanFmain    ENDPEND main  
Cuando le dejo el ret, se cierra el programa, si le quito el ret se queda congelado :S ya me genera el aleatorio... pero ya q llamo la funcion, no regresa al codigo..

Gracias!

Eternal Idol:
La proxima pone TODO el codigo por favor (con MASM tuve que agregar, dword ptrs para RandSeed y assume fs:nothing, comentar scanF, etc).

Esto esta mal:

--- Código: Text ---call Random(10d) 
No esta pasando ningun parametro sino que esta llamando a Random+0xA (10d).

Asi es como se pasa un parametro a esta funcion:

--- Código: Text ---push 10dcall Random 

esse:
Ahh ok muchas gracias, es que estoy acostumbrado a medio y alto nivel  :P  y disculpa la proxima pondre todo el codigo pero es q como lo tengo en modulos se me hizo mas facil pegar solo el main lo siento  :rolleyes:

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa