SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado 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.
-
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.
-
¿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.
-
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
-
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/)
-
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).
-
http://spiff.tripnet.se/~iczelion/tut1.html (http://spiff.tripnet.se/~iczelion/tut1.html)
-
<_< <_<
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.