elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / ASM / Re: Examen de Ensamblador [Ayuda] en: 6 Noviembre 2009, 17:28 pm
Al momento de construir el EXE en C++, ocurre un problema que no he podido resolver por mas que le muevo es este.

Error:  Error: Unresolved external 'lenstr' referenced from C:\DOCUMENTS AND SETTINGS...\PROGRAMA.OBJ



tomando en cuenta que lenstr es la funcion que yo quiero llamar, el *.Obj ya lo coloque en la carpeta del proyecto junto con las *.Lib, si que no comprendo el porque del problema.
2  Programación / ASM / Re: Examen de Ensamblador [Ayuda] en: 30 Octubre 2009, 10:53 am
Ya logre resolver todos los puntos del examen, gracias por el apoyo. Ahora me gustaria consultar sobre un poco de orientacion con respecto a llamar las funciones de ensamblador en un lenguaje de alto nivel
3  Programación / ASM / Re: Examen de Ensamblador [Ayuda] en: 27 Octubre 2009, 09:12 am
Agradezco la ayuda, la verdad ensamblador no es lo mio, se hace lo que se puede con lo que he leido por ahi xD. Hasta ahora usando el lstrlen, porqe ha sido la unica forma que masomenos entendi para sumar los caracteres por eso la utilize, conforme al punto 3 creo que se puede resolver utilizando un "PUSH" y la dirección del arreglo... lo de regresar el valor de BX con otro MOV...mi mas grande problema ahora viene siendo la forma de definir la macro y otra forma de contar caracteres distinta a la qe tengo ahora X_x y al maestro me dijo qe no le importa si es en 16,32,64 bits...si qe si pueden ayudarme unicamente con esa parte con algun ejemplo de otra forma de resolver esa bendita Macro se los agradecere mucho xd
4  Programación / ASM / Examen de Ensamblador [Ayuda] en: 27 Octubre 2009, 06:24 am
Bueno me han pedido que desarrolle un programa en Ensamblador que haga lo siguiente:

1.- Desarrolle una macro llamada lenstr que tenga como argumento la etiqueta a un arreglo de bytes, la macro deberá contar el número de caracteres que tiene el arreglo hasta encontrar un CTRL/D, la macro deb regresar el número de caracteres del registro DX.


2.- Crear dos arreglo myarreglo que contenga "este arreglo tiene 20 caracteresª" y el arreglo cuenta que contenga "ejemplo de arregloª", a donde ª es el carácter CTRL/D:
Dada la macro anterior contar los caracteres del arreglo myarreglo y cuenta y sumar la longitud de los dos arreglos en AX.

3.- Desarrollar el punto 1 como un procedimiento al cual se le pasa en el stack la dirección del arreglo y regresa BX la cuenta de caracteres.

4.- De acuerdo al punto 2 llamar la función lentsr y sumar la longitud del arreglo myarreglo y cuenta en el registro DX.


He desarrollado el siguiente código:
.ASM
Código:
.386
.model flat,stdcall
option casemap:none
.stack

include examen.inc
include \MASM32\macros\macros.asm

lenstr macro

LOCAL myarreglo


endm

.code
inicio:
invoke lstrcat,addr myarreglo ,addr cuenta
invoke lstrlen,addr myarreglo
invoke wsprintf,addr buffer,addr fmo,eax
mov edx , eax
invoke MessageBox,NULL,addr buffer,addr MsgTitulo,MB_OK + MB_ICONINFORMATION
invoke ExitProcess,0
mov ebx , edx

add edx , ebx

end inicio

.INC
Código:
include windows.inc
include user32.inc
include kernel32.inc

includelib user32.lib
includelib kernel32.lib

.data
myarreglo db "este arreglo tiene 20 caracteresª",0
cuenta db "ejemplo de arregloª",0

MsgTitulo db "Programa en Assembler",0

fmo db "la longitud de nuestra cadena es %d caracteres",0
.data?
buffer db 100 dup (?)

No he podido colocar el codigo dentro de la macro como es requerido...realiza la suma de las cadenas de caracteres pero necesito ayuda con la forma de introducir las instrucciones en la MACRO.

Y un poco de orientación en el enlace con un lenguaje de alto nivel de estas mismas funciones.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines