Translate

jueves, 18 de diciembre de 2008

Sintaxis del Programa Parte V

Operadores (continuación)

También podemos combinar los operadores aritméticos con el operador de asignación igual (=), lo que nos dará como resultado un operador mixto de asignación:

x = x + k;  // puede ser sustituido por

x += k;

Este tipo de asignación es valida para los operadores aritméticos,  la AND, XOR, OR inteligentes y rotar derecha y rotar izquierda. 

Operador Condicional

Este operador resulta muy útil en el lenguaje C y también en C18, sirve para evaluar una expresión, si su resultado es TRUE se le asigna el valor de la segunda expresión, si no se le asigna el valor de la tercera al resultado, es como una especie de IF mas compactado:

 resultado = expresión1 ? expresión2 : expresión3;

Un ejemplo si quisiéramos saber el estado de un LED, para imprimirlo posteriormente podemos usar el operador de condición:

 val = LED0_IO ? '1':'0';

De tal modo que val  tomara el valor ascii de 1 o 0 dependiendo del estado de LED0_IO, si LED0_IO esta encendido, es decir tiene un 1 lógico, la evaluación sera TRUE por tanto val tomara el valor de la expresión2 que en este caso es la representación ascii de 1, de lo contrario tomara la representación ascii de 0.

Operador de Preprocesado

El operador de preprocesado sirve para indicar algunas directivas al compilador, como usar macros, insertar archivos incluir cabeceras etc, este operador es el símbolo numeral mejor conocido como "gato" (#) y como habíamos visto anteriormente nos sirvió para insertar una librería con la sentencia #include.  Existen otras funciones del preprocesado que se verán posteriormente.

Ensamblador Empotrado

C18 también soporta el empotrado de lenguaje ensamblador y será compilado con MPASM, para insertar lineas con ensamblador se deberá hacer uso de _asm y _endasm.  Por ejemplo:

   _asm

     MOVLW 10
     MOVWF count, 0
       start:
     DECFSZ count, 1, 0
     GOTO done
     BRA start
     done:

 _endasm

No hay comentarios:

Publicar un comentario