Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: h0oke en 28 Mayo 2010, 15:39 pm



Título: MASM - Error A1000
Publicado por: h0oke en 28 Mayo 2010, 15:39 pm
Código
  1. TITLE ADDSUB
  2. ; this program adds and substract integers
  3.  
  4. .386
  5. .MODEL flat, stdcall
  6. .STACK 4096
  7. ExitProcess PROTO, dwExitCode: DWORD
  8. DumpRegs PROTO
  9.  
  10. .code
  11. main PROC
  12.  
  13.    mov eax, 10000h
  14.    add eax, 40000h
  15.    sub eax, 20000h
  16.    call DumpRegs
  17.  
  18.    INVOKE ExitProcess, 0
  19.  
  20. main ENDP
  21. END main
Citar
Assembling: C:\Projectos\pru.asm
MASM : fatal error A1000: cannot open file : C:\Projectos\pru.asm
 El volumen de la unidad C es Programas
 El n£mero de serie del volumen es: 249C-05D7

 Directorio de C:\Projectos

28/05/2010  10:23               309 pru
               1 archivos            309 bytes
               0 dirs   3.452.473.344 bytes libres

Estoy ensamblando en una máquina virtual, será ese el problema?

Código:
One of the following may be a cause:

The file does not exist. El archivo existe

The file is in use by another process. No está siendo usado por otro

The filename is not valid. No se ha que se refiere, creo que no tiene nada extraño el filename

A read-only file with the output filename already exists.La carpeta está vacía, solo con el pru.asm

The current drive is full. Quedan 3gb

The current directory is the root and is full. Root? No podré compilar en C?

The device cannot be written to. Si se puede escribir

The drive is not ready. Creo que si lo está

EI: juntando mensajes.

Al parecer era un problema de MASM... Me he pasado a Rad ASM, y por lo menos ensambla bien. Ahora, quiero linkearlo pero aparecen errores que seguramente son de librerías:
Código:
plus.obj : error LNK2001: unresolved external symbol _ExitProcess@4
plus.obj : error LNK2001: unresolved external symbol _DumpRegs@0

Sigue siendo el mismo source anterior.

EDITADO:

Se solucionó el tema de ExitProcess, pero aún falta dumpregs.


Título: Re: MASM - Error A1000
Publicado por: Eternal Idol en 28 Mayo 2010, 19:36 pm
Citar
Assembling: C:\Projectos\pru.asm
MASM : fatal error A1000: cannot open file : C:\Projectos\pru.asm
 El volumen de la unidad C es Programas
 El n£mero de serie del volumen es: 249C-05D7

 Directorio de C:\Projectos

28/05/2010  10:23               309 pru
               1 archivos            309 bytes
               0 dirs   3.452.473.344 bytes libres

Estoy ensamblando en una máquina virtual, será ese el problema?

No ... el problema es que el archivo se llama pru y no pru.asm

Al parecer era un problema de MASM... Me he pasado a Rad ASM, y por lo menos ensambla bien. Ahora, quiero linkearlo pero aparecen errores que seguramente son de librería

RadASM es un IDE y MASM un ensamblador, son dos cosas diferentes. ExitProcess es una API de Windows, tenes que enlazar kernel32.lib y DumpRegs es una funcion de una libreria, irvine32, que sale de aca (http://kipirvine.com/asm/).


Título: Re: MASM - Error A1000
Publicado por: h0oke en 28 Mayo 2010, 19:39 pm
Bien, y una pregunta más... Con respecto a dumpregs, como lo reemplazaría?, ya que leyendo este pertenece a Irvine32.inc, y no lo tengo.


Título: Re: MASM - Error A1000
Publicado por: Eternal Idol en 28 Mayo 2010, 19:44 pm
Ahi la tenes:
http://kipirvine.com/asm/examples/index.htm

Y para reemplazarla usarias la API de Windows.