Cómo utilizar la programación mixta en lenguaje ensamblador y C en un sistema Linux de 64 bits
Programación mixta en lenguaje ensamblador y C51 (1). Llamar a programas en lenguaje ensamblador en lenguaje C51 1. Seleccione los archivos originales del programa FILEGROUP y C51 en el archivo, active "i" en la opción del archivo de configuración para generar ensamblador ( SRC), "Compilar archivo (SRC)" e "Incluir al crear el proyecto (destino)" tres opciones. 2. Según el modo de compilación seleccionado, agregue el archivo de biblioteca correspondiente (como el modo PEQUEÑO, el archivo de biblioteca es KEIL\C51\LIB\C51S.LIB) al proyecto. 3. En lenguaje C51, la función a llamar debe declararse como función externa. externvoidDELAY(void); 4. En el programa en lenguaje ensamblador, el subprograma llamado debe declararse como un subprograma público, y en el archivo llamado, también debe declararse que este archivo se encuentra recientemente. Los ejemplos de PUBLICDELAY,DELDELAYYSEGMENTCODERSEGAELAYY son los siguientes: #include"reg51.h"externvoidDELAY(void);externvoidDEL(void);voidmain(void){P1=0x00;DELAY();DEL();P!=0xff;} Lenguaje ensamblador archivo: PUBLICDELAY,DELDELAYYSEGMENTCODERSEGAELAYYDELAY:MOVR2,#3HDJNZR2,$RETDEL:MOVR3,#3HDJNZR3,$RETEND(2), programa ensamblador integrado en lenguaje C51: cuando utilice programas en lenguaje ensamblador anidados en lenguaje C51, debe prestar atención a los siguientes problemas : 1. Seleccione los archivos originales del programa FILEGROUP y C51 en el archivo, active "i" en las opciones del archivo de configuración para generar el archivo de ensamblaje (SRC), "compilar el archivo (SRC)" e "incluir al crear el proyecto (destino) "tres opciones. 2. Según el modo de compilación seleccionado, agregue el archivo de biblioteca correspondiente (como el modo PEQUEÑO, el archivo de biblioteca es KEIL\C51\LIB\C51S.LIB) al proyecto. 3. Utilice declaraciones #pragmaasm. y #pragmaendasm para incluir programas integrados en lenguaje ensamblador. Los ejemplos son los siguientes: #include"reg51.h"voiddelay(void);voidmain(void){voiddelay(void);P1=0x00;#pragmaasmMOVR3,#08HDINZR3,$#pragmaendasmP1=0xff;}voiddelay(void){# pragmaasmMOVR4, #08HDJNZR4,$#pragmaendasm}