15/01/2011, 07:14
|
| | Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 11 meses Puntos: 0 | |
Respuesta: C con MMX ensamblador Hola,
yo también estoy intentando aprender como va MMX. Si alguien pudiera ayudarme lo agradeceria mucho. Tengo que hacer un programa que cuente el numero de veces que aparece un caracter en una cadena. La cadena y el caracter se introducen por la entrada estandar. Ejemplo:
Cadena: hola mundo
Caracter: o
Aparece 2 veces.
Lo tengo hecho en x86 pero debo pasarlo a MMX y no se como. Adjunto el código en x86 por si sirve de ayuda. Mil gracias de antemano!
section .text
global countchr
countchr:
push ebp
mov ebp, esp
mov edx, [ebp+8]
mov ecx, 0
lop1: mov al,[edx]
test al,al
jz fin
cmp al, [ebp+12]
jne no
add ecx, 1
no: inc edx
jmp lop1
fin: mov eax, ecx
mov esp, ebp
pop ebp
ret
Aqui adjunto el programa en C para leer los parámetros:
#include <stdio.h>
#include <string.h>
int countchr(char *str, char c);
int main(int argc, char *argv[]){
char cad[100];
char car;
int res;
printf("String: ");
fgets(cad,100,stdin);
printf("Character: ");
scanf("%c",&car);
res=countchr(cad,car);
printf("%d\n",res);
return 0; |