📄 sub.c
字号:
/****************************************************************************/
/* */
/* 俙俹亅俽俫俀亅俁俙 僒儞僾儖僾儘僌儔儉 */
/* */
/* 僐儞僷僀儔埶懚娭悢 */
/* */
/* Copyright :: 乮姅乯傾儖僼傽僾儘僕僃僋僩 */
/* Cpu :: 俽俫-俀 */
/* Language :: 俧俠俠 */
/* Version :: 1.0 */
/* File Name :: sub.c */
/* */
/****************************************************************************/
#include "def.h"
#include "sub.h"
/*--------------------------------------------------------------------------*/
/* 婡擻丂妱傝崬傒儅僗僋儗儀儖傪摼傞 */
/* 堷悢 側偟 */
/* 栠抣丂int imask : 妱傝崬傒儅僗僋儗儀儖 */
/*--------------------------------------------------------------------------*/
int get_imask()
{
int imask;
asm(" stc sr,%0 ":"=r"(imask):);
imask &= ~(0xffffff0f);
imask >>= 4;
return( imask );
}
/*--------------------------------------------------------------------------*/
/* 婡擻丂妱傝崬傒儅僗僋偺愝掕傪偡傞丅 */
/* 堷悢 int imask : 妱傝崬傒儅僗僋 0 - 15 */
/* 栠抣丂void */
/*--------------------------------------------------------------------------*/
void set_imask( int imask )
{
int srreg;
imask <<= 4;
imask &= 0x00f0;
asm(" stc sr,%0 ":"=r"(srreg):);
srreg &= 0xffffff0f;
srreg = srreg | imask;
asm(" ldc %0,sr "::"r"(srreg));
}
/*--------------------------------------------------------------------------*/
/* 婡擻丂VBR(儀僋僞乕儀乕僗儗僕僗僞)偺愝掕傪曄偊傞丅儀僋僞乕僥乕僽儖偺曄峏 */
/* 堷悢 void *base 儀僋僞乕僥乕僽儖偺愭摢斣抧 */
/* 栠抣丂void */
/*--------------------------------------------------------------------------*/
void set_vbr( void **base)
{
asm(" ldc %0,vbr "::"r"(base));
}
/*void setvect(int n,void (*vect)(void))
{
( *((unsigned long *) (0x08000000+(n)*4)) )=(unsigned long )vect;
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -