añadir codigo ensamblador en c++
Publicado por Ayuda por favor (8 intervenciones) el 18/06/2007 11:21:15
Buenas:
me he vuelto loco buscando por internet cómo introducir código ensamblador en mi aplicación en c++ (En linux)
El código ensamblador es el siguiente:
mov dx,02e
mov al,87
out dx,al
out dx,al
mov dx,02e
mov al,07
out dx,al
inc dx
inc al
out dx,al
dec dx
mov al,f6
out dx,al
inc dx
mov al,xy
out dx,al
Todas estas formas me dan errores al compilar
// Mi código C++
asm{
//el código ensamblador tal cual lo he puesto arriba
}
//Sigue el código c++
Esta me da el error: Parse error before { (en la lína asm{)
Otra manera que da error al compilar:
empezando cada línea del código con asm (ejemplo: asm mov dx.02e)
De la manera que pongo a continuación da el error: suffix or operands invalid for 'out':
asm("mov %dx,0x02e;");
asm("mov %al,0x87;");
asm("out %dx,%al;");
asm("out %dx,%al;");
asm("mov %dx,0x02e;");
asm("mov %al,0x07;");
asm("out %dx,al;");
asm("inc %dx;");
asm("inc %al;");
asm("out %dx,%al;");
asm("dec %dx;");
asm("mov %al,0xf6;");
asm("out %dx,%al;");
asm("inc %dx;");
asm("mov %al,0xffh;");
asm("out %dx,%al;");
Cómo hay que hacerlo? Son las distintas formas que he encontrado en internet para hacerlo, pero el out en la última parece que no le gusta...
me he vuelto loco buscando por internet cómo introducir código ensamblador en mi aplicación en c++ (En linux)
El código ensamblador es el siguiente:
mov dx,02e
mov al,87
out dx,al
out dx,al
mov dx,02e
mov al,07
out dx,al
inc dx
inc al
out dx,al
dec dx
mov al,f6
out dx,al
inc dx
mov al,xy
out dx,al
Todas estas formas me dan errores al compilar
// Mi código C++
asm{
//el código ensamblador tal cual lo he puesto arriba
}
//Sigue el código c++
Esta me da el error: Parse error before { (en la lína asm{)
Otra manera que da error al compilar:
empezando cada línea del código con asm (ejemplo: asm mov dx.02e)
De la manera que pongo a continuación da el error: suffix or operands invalid for 'out':
asm("mov %dx,0x02e;");
asm("mov %al,0x87;");
asm("out %dx,%al;");
asm("out %dx,%al;");
asm("mov %dx,0x02e;");
asm("mov %al,0x07;");
asm("out %dx,al;");
asm("inc %dx;");
asm("inc %al;");
asm("out %dx,%al;");
asm("dec %dx;");
asm("mov %al,0xf6;");
asm("out %dx,%al;");
asm("inc %dx;");
asm("mov %al,0xffh;");
asm("out %dx,%al;");
Cómo hay que hacerlo? Son las distintas formas que he encontrado en internet para hacerlo, pero el out en la última parece que no le gusta...
Valora esta pregunta


0