# OS_GetProcMode

## 構文

  `#include <nitro/os.h>`
  `OSProcMode OS_GetProcMode( void );`

## 引数

なし。

## 返り値

現在のARMプロセッサ動作モードを表す `OSProcMode` 列挙型の値を返します。

## 説明

現在のARMプロセッサ動作モードを返します。

返り値は `OSProcMode` 列挙型で、以下の通りです。

値 | 動作モード
--- | ---
OS_PROCMODE_USER | ユーザモード
OS_PROCMODE_FIQ | FIQモード
OS_PROCMODE_IRQ | IRQモード
OS_PROCMODE_SVC | スーパバイザモード
OS_PROCMODE_ABORT | アボートモード
OS_PROCMODE_UNDEF | 未定義モード
OS_PROCMODE_SYS | システムモード

例

> `OSProcMode mode = OS_GetProcMode();
> if ( mode == OS_PROCMODE_USER )
> {
> OS_Printf( "current processor mode is USERMODE.\n");
> }`

## 内部動作

CPSRレジスタ(current program status register)から現在のプロセッサモードを取得します。

## 参照

`なし。
`

## 履歴

2003/12/01 初版