Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //asm(".intel_syntax noprefix");
- //asm(".att_syntax prefix");
- size_t find(char *cadena,char c){
- char pos(0);
- asm (
- "inicio:"
- "cmp $0x00,(%1);"/*ha llegado al final del string ,es cero ?*/
- "je salida;"/*si ha llegado al final salta a salida*/
- "cmp (%1),%2;"/*compara el indice de la cadena con el caracter buscado*/
- "je salida;"/*si es igual salta a salida*/
- "inc %1;"/*incrementa una posicion el index ..puntero...del array cadena*/
- "incb %0;"/*incrementa en 1 el contador de posicion*/
- "jmp inicio;"/*salta la inicio*/
- "salida:"/*salida*/
- /*"and $0xFF,%0;"*/
- :"=b"(pos) /* output utiliza registro b %0 */
- :"r"(cadena) ,"r" (c) /* input %1 %2*/
- : /* clobbered register */
- );
- return (size_t) pos;
- };
- int main(){
- char cadena []="abcdefghijk";
- cout <<"posicion ="<<find(cadena,'b')<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement