10 #ifndef __M5272LIB_H__
11 #define __M5272LIB_H__
22 typedef signed short int WORD;
23 typedef unsigned short int UWORD;
24 typedef signed long int LONG;
25 typedef unsigned long int ULONG;
35 #define SIN_SIGNO 1 // Flag para las funciones outNum y outNumDec
36 #define MAYUSC 2 // Flag para las funciones outNum y outNumDec
38 #define RET_1S 1000000 // Constante para un retardo de 1seg. aprox. en retardo()
39 #define RET_15MS 15000 // Constante para un retardo de 15ms aprox. en retardo()
40 #define RET_3MS 3000 // Constante para un retardo de 3ms aprox. en retardo()
43 #define ACCESO_A_MEMORIA_LONG(dir) (*(ULONG *)(dir))
46 #define bsetb(bit,mem) __asm__ __volatile__ ("bset.b %0,%1"::"n"(bit),"m"(mem))
49 #define bclrb(bit,mem) __asm__ __volatile__ ("bclr.b %0,%1"::"n"(bit),"m"(mem))
52 #define bsetl(bit,mem) __asm__ __volatile__ ("moveal %1,%%a0\n\t" "move.l (%%a0),%%d0\n\t" "bset.l %0,%%d0\n\t" "move.l %%d0,(%%a0)\n\t"::"n"(bit),"m"(mem):"d0", "memory", "a0")
55 #define bclrl(bit,mem) __asm__ __volatile__ ("moveal %1,%%a0\n\t" "move.l (%%a0),%%d0\n\t" "bclr.l %0,%%d0\n\t" "move.l %%d0,(%%a0)\n\t"::"n"(bit),"m"(mem):"d0", "memory", "a0")
58 #define cli() __asm__ __volatile__ ( "move.w %%sr, %%d0 \n\t ori.l #0x0700,%%d0 \n\t move.w %%d0, %%sr \n\t" : : : "d0", "memory")
61 #define exit(status) _exit(status)
64 #define sti() asm volatile ( "move.w %%sr, %%d0 \n\t andi.l #0xF8FF,%%d0 \n\t move.w %%d0, %%sr \n\t" : : : "d0", "memory")
97 INLINE void *
memcpy (
void * dest,
const void * src,
size_t num );
signed short int WORD
Definition: m5272lib.h:22
void outNumDec(UINT base, double n, UINT dec, UBYTE opciones)
Definition: m5272lib.c:141
unsigned int UINT
Definition: m5272lib.h:26
void rutina_int3(void)
Definition: XT-26.c:73
unsigned long int ULONG
Definition: m5272lib.h:25
INLINE void _exit(int status)
Definition: m5272lib.c:22
void rutina_int4(void)
Definition: XT-26.c:74
BOOL
Definition: m5272lib.h:16
signed long int LONG
Definition: m5272lib.h:24
INLINE void retardo(UINT microsegundos)
Definition: m5272lib.c:190
INLINE char inche(void)
Definition: m5272lib.c:57
INLINE LONG _strlen(char *st)
Definition: m5272lib.c:204
INLINE void outch(char ch)
Definition: m5272lib.c:73
PAR_IMPAR
Definition: m5272lib.h:18
void bucleMain(void)
Programa principal.
Definition: XT-26.c:645
unsigned char UBYTE
Definition: m5272lib.h:21
Definition: m5272lib.h:18
Definition: m5272lib.h:18
INLINE void * memcpy(void *dest, const void *src, size_t num)
Definition: m5272lib.c:220
Definition: m5272lib.h:16
void rutina_tout3(void)
Definition: XT-26.c:77
void rutina_int2(void)
Definition: XT-26.c:72
#define INLINE
Definition: m5272lib.h:34
char c
Definition: interfaz.c:16
void __init(void)
Rutina de inicio.
Definition: XT-26.c:129
void rutina_tout2(void)
Definition: XT-26.c:76
void rutina_tout1(void)
Definition: XT-26.c:75
INLINE void output(char *start)
Definition: m5272lib.c:170
unsigned short int UWORD
Definition: m5272lib.h:23
signed char BYTE
Definition: m5272lib.h:20
unsigned int size_t
Definition: m5272lib.h:28
Definition: m5272lib.h:16
void rutina_int1(void)
Definición de rutinas de atención a la interrupción
Definition: XT-26.c:71
INLINE void * memset(void *buffer, int c, size_t num)
Definition: m5272lib.c:236
void rutina_tout0(void)
Rutina de atención a la interrupción de 4000 Hz.
Definition: XT-26.c:198
INLINE char inch(void)
Definition: m5272lib.c:38
void outNum(UINT base, long num, UBYTE opciones)
Definition: m5272lib.c:102