📄 syslib_depend.h
字号:
/* *---------------------------------------------------------------------- * micro T-Kernel * * Copyright (C) 2006-2007 by Ken Sakamura. All rights reserved. * micro T-Kernel is distributed under the micro T-License. *---------------------------------------------------------------------- * * Version: 1.00.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2007/03/26. * *---------------------------------------------------------------------- *//* * @(#)syslib_depend.h (tk/H8S2212) * * micro T-Kernel H8S Library */#ifndef __TK_SYSLIB_DEPEND_H__#define __TK_SYSLIB_DEPEND_H__#ifdef __cplusplusextern "C" {#endif/* * CPU interrupt control * 'intsts' is the value of SR register in CPU * disint() Set SR.I = 15 and return the original SR to the return value. * enaint() Set SR.I = intsts.I. Do not change except for SR.I. * Return the original SR to the return value. */IMPORT UINT disint( void );IMPORT UINT enaint( UINT intsts );#define DI(intsts) ( (intsts) = disint() )#define EI(intsts) ( enaint(intsts) )#define isDI(intsts) ( ((intsts) & 0x0080U) != 0 )/* * Interrupt vector * Interrupt vector is the value of the interrupt factor code INTVEC 2 */typedef UINT INTVEC;/* Convert to the interrupt definition number */#define DINTNO(intvec) (intvec)/* ------------------------------------------------------------------------ *//* * I/O port access * Only memory mapped I/O for SH */Inline void out_w( UW port, UW data ){ Asm("mov.l %0, @%1":: "r"(data), "r"(port));}Inline void out_h( UW port, UH data ){ Asm("mov.w %0, @%1":: "r"(data), "r"(port));}Inline void out_b( UW port, UB data ){ Asm("mov.b %0l, @%1":: "r"(data), "r"(port));}Inline UW in_w( UW port ){ UW data; Asm("mov.l @%1, %0": "=r"(data): "r"(port)); return data;}Inline UH in_h( UW port ){ UH data; Asm("mov.w @%1, %0": "=r"(data): "r"(port)); return data;}Inline UB in_b( UW port ){ UB data; Asm("mov.b @%1, %0l": "=r"(data): "r"(port)); return data;}#ifdef __cplusplus}#endif#endif /* __TK_SYSLIB_DEPEND_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -