Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2017
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Usar este programa en C++ Builder

Hola:

Hace siglos que no uso el C++ Builder he instalé hace poco el Rad Stand 10.2. Descargué un programa en C/C++ y no se la manera de abrirlo para compilarlo.

https://github.com/vsergeev/vpicdisasm

¿Alguna ayuda?

Un cordial saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #2  
Antiguo 18-08-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
3. COMPILING vPICdisasm
================================================================================
Simply by running, $ make in the vPICdisasm project directory should compile vPICdisasm on most *nix systems,
including a Cygwin or MinGW environment.
The Makefile is configured to use GCC to compile vPICdisasm.
vPICdisasm should have no problem being compiled with "gmake".
Es para sistemas *nix (unix, linux, etc.)
Responder Con Cita
  #3  
Antiguo 18-08-2017
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Buenas.

Por lo que cuentas, estoy bien jodido exceptuando usarlo en una Raspberry Pi.

Al menos quiero traducirlo a C#. Para los que quieren, a Delphi.

Lo que hace el programa es descompilar el archivo hex de un PIC y ensamblador.

Saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #4  
Antiguo 18-08-2017
Avatar de _Leo
_Leo _Leo is offline
Miembro
 
Registrado: ene 2017
Ubicación: Lanzarote (Islas Canarias)
Posts: 38
Poder: 0
_Leo Va camino a la fama
Cita:
Empezado por REHome Ver Mensaje
Buenas.

Por lo que cuentas, estoy bien jodido exceptuando usarlo en una Raspberry Pi.

Al menos quiero traducirlo a C#. Para los que quieren, a Delphi.

Lo que hace el programa es descompilar el archivo hex de un PIC y ensamblador.

Saludos.
Hola, se compila muy fácil, no es más que C:

Crea un nuevo proyecto de tipo "Console Application". Luego como no nos interesa el "main" que se crea, quitamos el File1.c del proyecto (Menú: Project -> Remove from project...) y salvamos el proyecto en el mismo directorio donde están los otros archivos.

Vamos a necesitar el archivo "getopt.h" que suele venir con los compiladores en Linux, lo podemos descargar desde el siguiente enlace y lo copiamos en el directorio del proyecto:

https://raw.githubusercontent.com/sk...aster/getopt.h

Ahora usando "Menú: Project -> Add to Project..." añadimos todos los archivos ".c" a nuestro proyecto, los que están dentro del subdirectorio "libGIS-1.0.5" también.

En el archivo "ui.c" añade la siguiente línea al principio:

#define strcasecmp stricmp

Listo, ya podemos compilar, nos creara un programa de consola igual que hubiese creado en Linux. No he podido probarlo con un .hex ya que no tengo a mano..
Responder Con Cita
  #5  
Antiguo 19-08-2017
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Cita:
Empezado por _Leo Ver Mensaje
Hola, se compila muy fácil, no es más que C:

Crea un nuevo proyecto de tipo "Console Application". Luego como no nos interesa el "main" que se crea, quitamos el File1.c del proyecto (Menú: Project -> Remove from project...) y salvamos el proyecto en el mismo directorio donde están los otros archivos.

Vamos a necesitar el archivo "getopt.h" que suele venir con los compiladores en Linux, lo podemos descargar desde el siguiente enlace y lo copiamos en el directorio del proyecto:

https://raw.githubusercontent.com/sk...aster/getopt.h

Ahora usando "Menú: Project -> Add to Project..." añadimos todos los archivos ".c" a nuestro proyecto, los que están dentro del subdirectorio "libGIS-1.0.5" también.

En el archivo "ui.c" añade la siguiente línea al principio:

#define strcasecmp stricmp

Listo, ya podemos compilar, nos creara un programa de consola igual que hubiese creado en Linux. No he podido probarlo con un .hex ya que no tengo a mano..
Al final se puede por lo que cuentas, tendré que probarlo.

Te dejo el archivo.hex, el archivo.asm es el código fuente donde se programa ensamblador directamente. El que tienes que usar es el hex. Ya puedes probarlo, lo puse como descarga. Cuando llegue mi casa, lo pruebo si o si y muchísimas gracias por la ayuda tipo guía.

Si lo haz probado, me dices tus experiencia.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip PIC16F84A.production.zip (1,2 KB, 3 visitas)
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #6  
Antiguo 19-08-2017
Avatar de _Leo
_Leo _Leo is offline
Miembro
 
Registrado: ene 2017
Ubicación: Lanzarote (Islas Canarias)
Posts: 38
Poder: 0
_Leo Va camino a la fama
Cita:
Empezado por REHome Ver Mensaje
Te dejo el archivo.hex,
Este es el resultado de ejecutar "vpicdisasm.exe --original PIC16F84A.production.hex":
Código:
   0:	16 83		bsf 0x03, 5
   1:	01 86		clrf 0x06
   2:	30 1F		movlw 0x1F
   3:	00 85		movwf 0x05
   4:	12 83		bcf 0x03, 5
   5:	10 06		bcf 0x06, 0
   6:	18 05		btfsc 0x05, 0
   7:	28 06		goto 0x006
   8:	20 36		call 0x036
   9:	18 05		btfsc 0x05, 0
   A:	28 06		goto 0x006
   B:	28 0F		goto 0x00F
   C:	1C 05		btfss 0x05, 0
   D:	28 0C		goto 0x00C
   E:	28 06		goto 0x006
   F:	1C 0C		btfss 0x0C, 0
  10:	28 12		goto 0x012
  11:	28 16		goto 0x016
  12:	10 06		bcf 0x06, 0
  13:	30 01		movlw 0x1
  14:	00 8C		movwf 0x0C
  15:	28 06		goto 0x006
  16:	14 06		bsf 0x06, 0
  17:	01 8C		clrf 0x0C
  18:	28 06		goto 0x006
  19:	00 00		nop 
  1A:	00 00		nop 
  1B:	00 00		nop 
  1C:	00 00		nop 
  1D:	00 00		nop 
  1E:	00 00		nop 
  1F:	00 08		return 
  20:	00 00		nop 
  21:	30 A4		movlw 0xA4
  22:	28 2C		goto 0x02C
  23:	00 00		nop 
  24:	30 40		movlw 0x40
  25:	28 2C		goto 0x02C
  26:	30 1F		movlw 0x1F
  27:	28 2C		goto 0x02C
  28:	00 00		nop 
  29:	30 0E		movlw 0xE
  2A:	28 2C		goto 0x02C
  2B:	30 05		movlw 0x5
  2C:	00 8D		movwf 0x0D
  2D:	0B 8D		decfsz 0x0D, F
  2E:	28 2D		goto 0x02D
  2F:	00 08		return 
  30:	30 C8		movlw 0xC8
  31:	28 3F		goto 0x03F
  32:	30 64		movlw 0x64
  33:	28 3F		goto 0x03F
  34:	30 32		movlw 0x32
  35:	28 3F		goto 0x03F
  36:	30 14		movlw 0x14
  37:	28 3F		goto 0x03F
  38:	30 0A		movlw 0xA
  39:	28 3F		goto 0x03F
  3A:	30 05		movlw 0x5
  3B:	28 3F		goto 0x03F
  3C:	30 02		movlw 0x2
  3D:	28 3F		goto 0x03F
  3E:	30 01		movlw 0x1
  3F:	00 8E		movwf 0x0E
  40:	30 F9		movlw 0xF9
  41:	00 8D		movwf 0x0D
  42:	00 00		nop 
  43:	0B 8D		decfsz 0x0D, F
  44:	28 42		goto 0x042
  45:	0B 8E		decfsz 0x0E, F
  46:	28 40		goto 0x040
  47:	00 08		return 
  48:	30 C8		movlw 0xC8
  49:	28 53		goto 0x053
  4A:	30 64		movlw 0x64
  4B:	28 53		goto 0x053
  4C:	30 32		movlw 0x32
  4D:	28 53		goto 0x053
  4E:	30 14		movlw 0x14
  4F:	28 53		goto 0x053
  50:	30 0A		movlw 0xA
  51:	28 53		goto 0x053
  52:	30 05		movlw 0x5
  53:	00 8F		movwf 0x0F
  54:	30 64		movlw 0x64
  55:	00 8E		movwf 0x0E
  56:	30 F9		movlw 0xF9
  57:	00 8D		movwf 0x0D
  58:	00 00		nop 
  59:	0B 8D		decfsz 0x0D, F
  5A:	28 58		goto 0x058
  5B:	0B 8E		decfsz 0x0E, F
  5C:	28 56		goto 0x056
  5D:	0B 8F		decfsz 0x0F, F
  5E:	28 54		goto 0x054
  5F:	00 08		return 
2007:	3F F1		addlw 0xF1
Responder Con Cita
  #7  
Antiguo 19-08-2017
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Cita:
Empezado por _Leo Ver Mensaje
Este es el resultado de ejecutar "vpicdisasm.exe --original PIC16F84A.production.hex":
Código:
   0:	16 83		bsf 0x03, 5
   1:	01 86		clrf 0x06
   2:	30 1F		movlw 0x1F
   3:	00 85		movwf 0x05
   4:	12 83		bcf 0x03, 5
   5:	10 06		bcf 0x06, 0
   6:	18 05		btfsc 0x05, 0
   7:	28 06		goto 0x006
   8:	20 36		call 0x036
   9:	18 05		btfsc 0x05, 0
   A:	28 06		goto 0x006
   B:	28 0F		goto 0x00F
   C:	1C 05		btfss 0x05, 0
   D:	28 0C		goto 0x00C
   E:	28 06		goto 0x006
   F:	1C 0C		btfss 0x0C, 0
  10:	28 12		goto 0x012
  11:	28 16		goto 0x016
  12:	10 06		bcf 0x06, 0
  13:	30 01		movlw 0x1
  14:	00 8C		movwf 0x0C
  15:	28 06		goto 0x006
  16:	14 06		bsf 0x06, 0
  17:	01 8C		clrf 0x0C
  18:	28 06		goto 0x006
  19:	00 00		nop 
  1A:	00 00		nop 
  1B:	00 00		nop 
  1C:	00 00		nop 
  1D:	00 00		nop 
  1E:	00 00		nop 
  1F:	00 08		return 
  20:	00 00		nop 
  21:	30 A4		movlw 0xA4
  22:	28 2C		goto 0x02C
  23:	00 00		nop 
  24:	30 40		movlw 0x40
  25:	28 2C		goto 0x02C
  26:	30 1F		movlw 0x1F
  27:	28 2C		goto 0x02C
  28:	00 00		nop 
  29:	30 0E		movlw 0xE
  2A:	28 2C		goto 0x02C
  2B:	30 05		movlw 0x5
  2C:	00 8D		movwf 0x0D
  2D:	0B 8D		decfsz 0x0D, F
  2E:	28 2D		goto 0x02D
  2F:	00 08		return 
  30:	30 C8		movlw 0xC8
  31:	28 3F		goto 0x03F
  32:	30 64		movlw 0x64
  33:	28 3F		goto 0x03F
  34:	30 32		movlw 0x32
  35:	28 3F		goto 0x03F
  36:	30 14		movlw 0x14
  37:	28 3F		goto 0x03F
  38:	30 0A		movlw 0xA
  39:	28 3F		goto 0x03F
  3A:	30 05		movlw 0x5
  3B:	28 3F		goto 0x03F
  3C:	30 02		movlw 0x2
  3D:	28 3F		goto 0x03F
  3E:	30 01		movlw 0x1
  3F:	00 8E		movwf 0x0E
  40:	30 F9		movlw 0xF9
  41:	00 8D		movwf 0x0D
  42:	00 00		nop 
  43:	0B 8D		decfsz 0x0D, F
  44:	28 42		goto 0x042
  45:	0B 8E		decfsz 0x0E, F
  46:	28 40		goto 0x040
  47:	00 08		return 
  48:	30 C8		movlw 0xC8
  49:	28 53		goto 0x053
  4A:	30 64		movlw 0x64
  4B:	28 53		goto 0x053
  4C:	30 32		movlw 0x32
  4D:	28 53		goto 0x053
  4E:	30 14		movlw 0x14
  4F:	28 53		goto 0x053
  50:	30 0A		movlw 0xA
  51:	28 53		goto 0x053
  52:	30 05		movlw 0x5
  53:	00 8F		movwf 0x0F
  54:	30 64		movlw 0x64
  55:	00 8E		movwf 0x0E
  56:	30 F9		movlw 0xF9
  57:	00 8D		movwf 0x0D
  58:	00 00		nop 
  59:	0B 8D		decfsz 0x0D, F
  5A:	28 58		goto 0x058
  5B:	0B 8E		decfsz 0x0E, F
  5C:	28 56		goto 0x056
  5D:	0B 8F		decfsz 0x0F, F
  5E:	28 54		goto 0x054
  5F:	00 08		return 
2007:	3F F1		addlw 0xF1
¡¡¡Te ha funcionado!!!

El autor ha traducido las instrucciones del asm, pero no los registros específicos, se muestran en hexadecimal. Todavía no he llegado a mi casa y haré pruebas a ver si me sale tu explicación.

En mi caso desde cero y con C#, estoy haciendo como un descompilador más completo, que se muestre también llos nombres de los registros.

Muchas gracias.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Este código Delphi como sería en C++ Builder pepe_baile C++ Builder 5 22-02-2017 18:47:06
Pasar este mini-codigo a C++Builder aguml C++ Builder 10 24-06-2014 22:09:12
¿Como usar este código? MAXIUM API de Windows 2 05-11-2011 05:07:04
Ayuda kn este programa :S llSnakell Varios 38 24-01-2011 11:54:58
Ejecutar aplicación en sistema que no esté instalado Builder C++ meme C++ Builder 2 11-03-2008 21:49:40


La franja horaria es GMT +2. Ahora son las 17:53:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi