Pregunta: | 29814 - PROGRAMACION HIBRIDA ENTRE ENSAMBLADOR Y COM. DE PUERTOS |
Autor: | Alejandro Delgadillo Gómez |
Hola que tal me podrian proporcionar informacion de programacion hibrida entre C-ensamblador y la comunicacion de puertos, instruciones de C y asm gracias |
Respuesta: | Ne0 Ph03n1x |
Para usar el ensamblador en C se usa la palabra reservada asm, puede programarse linea a linea o bien un bloque completo, esto es:
/*codigo en c .... */ asm { /*un bloque en ensamblador*/ mov ax,dx } asm jnc aqui /*una sola línea en ensamblador*/ aqui: /*..... etc */ Para la comunicacion con los puertos se usa el "out" y el "in" en ensamblador: (si dato es byte saca un byte, si es word, saca un word, el primer byte en la direccion "puerto" y el restante en "puerto+1") out puerto,dato in puerto,dato en "c" son los siguientes: outportb(puerto,valor); /*saca un byte*/ valor=inportb(puerto); /*recibe un byte*/ y outport(puerto,valor); /*saca una palabra*/ valor=inport(puerto); /*recibe una palabra*/ Ok. Hope this is useful. Ne0. |