prc_sil.h

ソースコードを見る。

マクロ定義

#define SIL_PRE_LOC   uint16_t TOPPERS_iipm
#define SIL_LOC_INT()   ((void)(TOPPERS_iipm = TOPPERS_disint()))
#define SIL_UNL_INT()   (TOPPERS_set_iipm(TOPPERS_iipm))
#define SIL_ENDIAN_BIG

関数

Inline uint16_t TOPPERS_disint (void)
Inline void TOPPERS_set_iipm (uint16_t TOPPERS_iipm)
Inline void sil_dly_nse (ulong_t dlytim)


マクロ定義

#define SIL_ENDIAN_BIG

prc_sil.h99 行で定義されています。

 
#define SIL_LOC_INT (  )     ((void)(TOPPERS_iipm = TOPPERS_disint()))

#define SIL_PRE_LOC   uint16_t TOPPERS_iipm

 
#define SIL_UNL_INT (  )     (TOPPERS_set_iipm(TOPPERS_iipm))


関数

Inline void sil_dly_nse ( ulong_t  dlytim  ) 

prc_sil.h88 行で定義されています。

参照先 Asm.

参照元 target_timer_get_current(), upd72001_read_reg(), と upd72001_write_reg().

00089 {
00090     register uint32_t d0 asm("d0") = (uint32_t) dlytim;
00091     Asm("jsr _sil_dly_nse" : "=g"(d0) : "0"(d0));
00092 }

Inline uint16_t TOPPERS_disint ( void   ) 

prc_sil.h55 行で定義されています。

参照先 Asm.

00056 {
00057     uint16_t    TOPPERS_sr;
00058 
00059     Asm("move.w %%sr, %0" : "=g"(TOPPERS_sr));
00060     Asm("or.w #0x0700, %%sr" : : : "memory");
00061     return(TOPPERS_sr & 0x0700U);
00062 }

Inline void TOPPERS_set_iipm ( uint16_t  TOPPERS_iipm  ) 

prc_sil.h68 行で定義されています。

参照先 Asm.

00069 {
00070     uint16_t    TOPPERS_sr;
00071 
00072     Asm("move.w %%sr, %0" : "=g"(TOPPERS_sr));
00073     Asm("move.w %0, %%sr" : : "g"((TOPPERS_sr & ~0x0700U) | TOPPERS_iipm)
00074                             : "memory");
00075 }


Copyright © 2008 by Kijineko Inc.

ホームページ制作