SevEd
Bovino maduro
- Desde
- 23 Ago 2009
- Mensajes
- 413
- Tema Autor
- #1
Que tal carnalitos del corral
Pues heme aqui una vez mas, solicitando ayuda
El problema es el siguiente:
Crear las siguientes funciones en ensamblador y en C (en C no puede utilizarse ninguna libreria, C plano).
Esta funcion debe hacer lo mismo que el la funcion printf de C
unsigned short sprintf (unsigned char * bpBuffer, unsigned char * bpFormat, void* vpaList)
* bpFormat = entrega el formato en Hexadecimal (%x), Decimal (%d), Caracter (%c), Cadena (%s), por lo que este apuntador debe ser un vector
* vpaList = apuntador a vector de variables que se pueden introducir
* bpBuffer = vector inicializado con una cadena, en la cual ya se encuentran varios elementos (%x)
De esto no se como hacer que el programa al ver un %d, %x... me imprima en el formato deseado el valor guardado de la variable a la que apunta la lista de varaibles
Tienen alguna idea??
Gracias hermanos
Pues heme aqui una vez mas, solicitando ayuda
El problema es el siguiente:
Crear las siguientes funciones en ensamblador y en C (en C no puede utilizarse ninguna libreria, C plano).
1) void memcpy(unsigned char* bpSource, unsigned char* bpDest, unsigned short wStringSize)
-Copia los datos del bloque apuntado por lbpSource al bloque apuntado por lbpDest.
2) void memset(unsigned char* bpDest, unsigned char bByteToFill, unsigned short wStringSize)
-Rellena el bloque apuntado por lbpDest con el dato indicado por bByteToFill.
3) unsigned char findmax(unsigned char* bpDest, unsigned short wStringSize)
-Devuelve el numero sin signo mayor encontrado en el bloque de memoria apuntado por lbpDest
4) unsigned char findmin(unsigned char* bpDest, unsigned short wStringSize)
-Devuelve el numero sin signo menor encontrado en el bloque de memoria apuntado por lbpDest
5) unsigned char memcmp(unsigned char* bpSouce, unsigned char* bpDest, unsigned short wStringSize)
-Compara las cadenas apuntadas por bpSource y bpDest y devuelve un 1si las cadenas son iguales o un 0 si
son distintas
6) unsigned char* findchar(unsigned char* bpString, unsigned char bCharToFind)
-Entrega la Dirección donde se encuentra el valor bCharToFind en la cadena bpString. En caso de no
encontrar datos, regresa un apuntador a null.
7) unsigned char Sort (unsigned char* bpString, unsigned short wStringSize)
-Ordena de menor a mayor, en el mismo sitio, los datos contenidos en el buffer apuntado por lbpString.
8) unsigned short sprintf (unsigned char * bpBuffer, unsigned char * bpFormat, void* vpaList)
-Formatea los datos indicados en el buffer siguiendo el formato indicado por bpFormat.
Ya he hecho las primeras 7 en ensamblador y en C, pero la ultima no veo como atacar, la verdad me he bloqueado-Copia los datos del bloque apuntado por lbpSource al bloque apuntado por lbpDest.
2) void memset(unsigned char* bpDest, unsigned char bByteToFill, unsigned short wStringSize)
-Rellena el bloque apuntado por lbpDest con el dato indicado por bByteToFill.
3) unsigned char findmax(unsigned char* bpDest, unsigned short wStringSize)
-Devuelve el numero sin signo mayor encontrado en el bloque de memoria apuntado por lbpDest
4) unsigned char findmin(unsigned char* bpDest, unsigned short wStringSize)
-Devuelve el numero sin signo menor encontrado en el bloque de memoria apuntado por lbpDest
5) unsigned char memcmp(unsigned char* bpSouce, unsigned char* bpDest, unsigned short wStringSize)
-Compara las cadenas apuntadas por bpSource y bpDest y devuelve un 1si las cadenas son iguales o un 0 si
son distintas
6) unsigned char* findchar(unsigned char* bpString, unsigned char bCharToFind)
-Entrega la Dirección donde se encuentra el valor bCharToFind en la cadena bpString. En caso de no
encontrar datos, regresa un apuntador a null.
7) unsigned char Sort (unsigned char* bpString, unsigned short wStringSize)
-Ordena de menor a mayor, en el mismo sitio, los datos contenidos en el buffer apuntado por lbpString.
8) unsigned short sprintf (unsigned char * bpBuffer, unsigned char * bpFormat, void* vpaList)
-Formatea los datos indicados en el buffer siguiendo el formato indicado por bpFormat.
Esta funcion debe hacer lo mismo que el la funcion printf de C
unsigned short sprintf (unsigned char * bpBuffer, unsigned char * bpFormat, void* vpaList)
* bpFormat = entrega el formato en Hexadecimal (%x), Decimal (%d), Caracter (%c), Cadena (%s), por lo que este apuntador debe ser un vector
* vpaList = apuntador a vector de variables que se pueden introducir
* bpBuffer = vector inicializado con una cadena, en la cual ya se encuentran varios elementos (%x)
De esto no se como hacer que el programa al ver un %d, %x... me imprima en el formato deseado el valor guardado de la variable a la que apunta la lista de varaibles
Tienen alguna idea??
Gracias hermanos