¿Solo tenes un archivo .DLL? Consegui el .h para incluir, si tenes (o creas) un .lib de importacion podes hacer enlace estatico y sino tendras que hacer dinamico (LoadLibrary + GetProcAddress).
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: MeCraniDOS en 4 Julio 2014, 14:44 PM
El problema era que estaba utilizando DWORD, y solo incementaba el contador en 1, por lo que sumaba el valor y luego 3 ceros hasta el siguiente numero, pero se soluciona multiplicando como has hecho
Otra cosita, utilizando DWORD, no malgastarias memoria? (En este caso, ya que los numeros no son de mas de dos cifras)
Cita de: MeCraniDOS en 4 Julio 2014, 14:44 PMEn este caso podría utilizar WORD? que ocupa 2 bytes y es numerico
add eax, [vector + ecx * 4]
Cita de: MeCraniDOS en 4 Julio 2014, 00:20 AM
Le he hecho en C para que se entienda mejorint eax=0, ecx=0;
int Vector[] = {7,8,5,2,9,1,0,3};
for(ecx=0;ecx<8;ecx++)
{
eax += Vector[ecx];
}
eax /= ecx;
Entonces lo que quería saber era si se podía inicializar como lo he hecho en C
Cita de: MeCraniDOS en 4 Julio 2014, 00:20 AMPor cierto, dos cosas, la rutina for_div se puede simplificar? Es que en arm lo tenia que hacer asi porque no hay operacion de division, pero en asm he visto que si, pero solo pones el registro a dividir, no entre que valor lo quieres dividir
mov ECX, 25 ;dividimos por 25
cdq ;limpiamos EDX
idiv ECX ;EDX:EAX es dividido por ECX
;EAX=COCIENTE EDX=RESTO
Cita de: MeCraniDOS en 4 Julio 2014, 00:20 AM
Y la otra, que diferencia hay entre esto?vector db 7, 8, 5, 2 ,9 ,1 ,0, 3
vector rb 8
Pensaba que db era para una unica variable, y rb (reserved byte) para vectores, ya que especificas cuanto espacio quieres reservar
vector db 1, 2, 3, 4, 5
...
movzx edx, byte [vector+ecx]
add eax, edx