SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: PIRANIME en Lunes 20 de Marzo de 2006, 20:05

Título: Pregunta Boba
Publicado por: PIRANIME en Lunes 20 de Marzo de 2006, 20:05
Disculpen lo que pasa es que ando dandole al asm pero tengo problemas con un algoritmo

#include <iostream>
using namespace std;

int main()
{
int a[5],b[5],c[5];

 cout<<"--------------------------------------"<<endl;
 cout<<"--------PROGRAMA CON MATRICES---------"<<endl;
 cout<<"--------------------------------------"<<endl;
 cout<<"--------------------------------------"<<endl;
 cout<<"-----DAME LOS VALORES DEL 1ER ARRAY---"<<endl;
 for (int register i=0; i<5; i++)
 cin>>a;
 cout<<"-----DAME LOS VALORES DEL 2DO ARRAY---"<<endl;
 for (int register i=0; i<5; i++)
 cin>>b;


 asm{                  
                        mov dx,0
                        mov cx,5
                        mov di,0
                        mov bp,0
 again:    
                        mov ax, sword ptr[a+di]
 here:
                        mov bx, sword ptr[b+bp]
                        mul bx
                        add dx,ax
                        inc bp
                        loop here
                        mov cx,5
                        mov sword ptr [c+di],dx
                        inc di
                        loop again
 }
 cout<<"-----LOS RESULTADOS DEL PORDUCTO SON--"<<endl;
 for (int register i=0; i<5; i++)
 cout<<b<<endl;

 
 return(0);
   
}

todavia tengo que pulirlo pero es que NO compila porque tengo un trio de errors manejando a a[],b[],c[] alguien me puede decir que es please. Solo porque tengo un error de indexamiento incorrecto.
Título: Re: Pregunta Boba
Publicado por: PIRANIME en Martes 21 de Marzo de 2006, 05:25
La pregunta era boba al principio ahora es mas compleja porque chingados el mismo programa corre en borland de la escuela el clasico de la pantalla azul de 16 bits pero no corre con el tasm5 y borland 5.5.

Y Aqui viene una pregunta buena sabiendo como programo por el codigo de arriba, mi problemas es que no estoy actualizado en cuanto a sintaxis o instale mal el borland o simplemente el borland que instale no funciona con el ensamblador o que pez porque no tengo problemas de hacer codigo hasta que juego hibridamente con el osea:

mox ax, c
o
cmp ax, word ptr[cadena+di]

Cual es su problema?

Y principalmente que compilador para uso hibrido de c y esamblador es el mas recomendable aunque no sea tan amigable.
Título: Re: Pregunta Boba
Publicado por: Eternal Idol en Martes 21 de Marzo de 2006, 08:45
¿Borland 5.5? ¿No sera por casualidad de 32 bits? Si ese es el caso el problema esta en que tu codigo es de 16 bits y no podes mezclarlo con codigo de 32 bits.
Título: Re: Pregunta Boba
Publicado por: PIRANIME en Martes 21 de Marzo de 2006, 18:53
Pregunta mas importante si mi codigo es de 16 bits y tengo un compilador de 32 bit les puedo pedir un tutorial de ensamblador de 32 bits para saber como es que debo compilar en borland 5.5
Título: Re: Pregunta Boba
Publicado por: Eternal Idol en Martes 21 de Marzo de 2006, 21:46
No se entiende muy bien tu respuesta realmente pero aca tenes una pagina que te va a servir:

http://win32asm.cjb.net/ (http://win32asm.cjb.net/)
Título: Re: Pregunta Boba
Publicado por: PIRANIME en Domingo 26 de Marzo de 2006, 21:18
DE LO PRIMERO QUE ESTOY ENTENDIENDO ES QUE EN BCC32 OSEASE BORLAND 5.5 CON TASM 5

1.- NO SE PONE PTR PERO ENTONCES COMO CHINGADOS SE AVANZA EN LOS ARREGLOS ¿SERA CON EL OFFSET?

MOV EAX,A ;NO HAY PROBLEMA

PERO "A" ES UN ARREGLO COMO LO RECORRO?


2.- PORQUE LOS INT SON DE 32 BITS

Y PORQUE EN EL TD32 YA NO TENGO SEGMENTO:OFFSET SINO SOLAMENTE UNO DEL DOBLE DE LARGO OSEASE DE 4 BYTES (32 BITS).
Título: Re: Pregunta Boba
Publicado por: Eternal Idol en Domingo 26 de Marzo de 2006, 21:27
http://spiff.tripnet.se/~iczelion/tut1.html (http://spiff.tripnet.se/~iczelion/tut1.html)
Título: Re: Pregunta Boba
Publicado por: Bicholey en Jueves 25 de Mayo de 2006, 09:36
<_<  <_<
A caray a poco Borland acepta las etiquetas porque yo he trabajado con C++ y no me acepta etiquetas dentro de asm {  }   y mejor uso funciones o veo como me las arreglo.