Cómo especificar la dirección de entrada del programa ensamblador radasm win32
RadASM es solo un entorno de desarrollo. Debe tener el compilador y el vinculador del idioma en cualquier directorio y luego especificar la ubicación del compilador y el vinculador del idioma en xxxx.ini. Si se trata de un macroensamblaje MASM, debe especificarlo en MASM. INI, por ejemplo:
[Entorno]
1=ruta,c:\masm 32\bin;
[Gráfico]
2=0251222522222232;20-2F
3=1111111111242221;30-3F
[Abrir]
0= "Archivo fuente de ensamblaje (*.asm* .inc*.mac*.txt), *.asm*.inc*.mac*.txt "
1= "Archivo de recursos (*.rc), *.rc "
2= "Archivos de texto (*.txt), *.txt"
3= "Todos los documentos (*.*), *.*"
Src= "Programa Establecer archivos (*.asm), *.asm, asm"
Hdr= "Archivos de encabezado (*.inc), *.asm, inc."
Módulo ( *. asm*.mac), *. asm*.mac "
1=ruta Esta es la dirección utilizada para definir el compilador de ensamblaje de macros. Simplemente complete la dirección correcta.
En cuanto al programa fuente ensamblador, se puede utilizar en un entorno DOS, como por ejemplo:
. datos
s1 db? Pon datos aquí',0
. Contraseña
Ingresar proceso
mov? eax,[eax].PEB.ImageBaseAddress
¿Llamar? GetCurrAddr
Instancia móvil [ebx], eax
......
Puerto de entrada p
. ¿Datos
s2? Los datos de Db también se colocan aquí, por supuesto, también se pueden colocar al frente.
. Contraseña
Inicio:
Mover objetivo, Offset Mz
Len Mov Crent
Llamar a GetCurrentDirectory, nBufLen, addr szFName
Llamar a lstrcat, addr szFName, addr myFName
Llamar a CreateFile, addr szFName,; puntero al nombre del archivo
Modo de acceso GENERIC_WRITE o GENERIC_READ (lectura-escritura)
nulo,; modo compartido
nulo,; puntero al atributo de seguridad
Crear_always,? ;¿Cómo crear
FILE_ATTRIBUTES_NORMAL,? ;Atributos de archivo
Vacío
archivo mov, eax
Llamar a WriteFile, hFile, dest, clenth, addr br, NULL
.
if eax
Llamar a lstrcpy, dirección szFName, dirección mi nombre 1
Llamar a lstrcat, dirección szFName, dirección szOpenOk
Llamar a MessageBox, nulo, dirección szFName,
Dirección szCaption, MB_OK
. Otros
Llame a MessageBox, NULL, addr szOpenEr,
addr szCaption, MB_ICONERROR o MB_OK
. endif
Llamar a CloseHandle, hFile
Operación XOR
Llamar a ExitProcess, eax
Fin de inicio
Compilar después Cuando se completa el enlace, el código se ejecutará desde el principio y el nivel de inicio es superior al de entrada. Si hay una entrada en el código y un inicio al mismo tiempo, después de la compilación, el resultado será inicio, no entrada. Para ser precisos, es el nombre de la dirección inicial de la raíz después del final. No importa cuál sea, se acostumbra usar inicio.
Este es un código de demostración que escribí cuando estaba escribiendo un libro. Todos fueron desarrollados usando RadASM. El código definitivamente se puede compilar y ejecutar. Le enviaré un código fuente ensamblador en el archivo adjunto, puede intentar compilarlo con RadASM.