?? fader.eve
字號:
// 僒儞僾儖僾儘僌儔儉 fader.eve
//
// 忦審暘婒傪娷傓僒儞僾儖僾儘僌儔儉偱偡丅
// 偙偺僾儘僌儔儉偱偼僼僃乕僟乕 (fader) 傪幚尰偟偰偄傑偡丅
// SDI0乣3 偵擖椡偝傟偨怣崋傪丄僐儞僩儘乕儖儗僕僗僞偺 IOPORT0 偵傛偭偰
// Fade in / Fade out 偟丄SDO0乣3 偵弌椡偟傑偡丅
// IOPORT0=0 偺偲偒 fade in丅
// IOPORT0=1 偺偲偒 fade out丅
// Fade in / Fade out 偺僗僺乕僪偼丄學悢 Pstep丄Mstep 傪曄峏偡傞偙偲偵
// 傛傝挷愡偱偒傑偡丅
//
// 偙偺僾儘僌儔儉傪傾僙儞僽儔 EveAsm.exe 偱傾僙儞僽儖偡傞偙偲偵傛傝
// fader.datEve 偑嶌惉偝傟傑偡丅
//
// -----------------------------------------------------------------
//
// Sample program fader.eve
//
// This is the program including the branching.
// This program realizes the fader.
// SDI0-3 input signals are faded in / faded out by Control Register
// IOPORT0, and output from SDO0-3.
// When IOPORT0=0, fade in.
// When IOPORT0=1, fade out.
// The speed of fade in / fade out is adjusted by changing the coefficients
// Pstep and Mstep.
//
// fader.datEve is assemble from this program by executing EveAsm.exe.
// -----------------------------------------------------------------
// -----------------------------------------------------------------
// -----------------------------------------------------------------
#define ERAM_TYPE NO_ERAM //奜晅 RAM 側偟
//============================================================
// EVE Program
// fader
//============================================================
// COEF define
CDat FADER (-1, 0x0000); // 曄摦學悢丅弶婜抣偼 0丅0x7FFF乣0x0000 偺娫偱曄摦丅
CDat Pstep (-1, 0x0001); // Fade In 帪偺 step 暆丅
CDat Mstep (-1, 0xFFFF); // Fade Out 帪偺 step 暆丅
// Inner DATA define
DAdr Dtmp (0); // 僥儞億儔儕梡
//------------------------------------------------------------
// 幚峴僐儅儞僪僽儘僢僋
// | ERAM | BUS | MAC/JMP
//------------------------------------------------------------
; REG0 = $0.5; ; // REG0 = 0x4000 傪 set丅
// ----------------------------------------------------------------------
; ; if (IPORT0) jmp Fout; // IOPORT0=1 偺偲偒偼 Fout 傊丅
// ------------------------
Fin: ; Dtmp = REG0; ACC0 = Dtmp *FADER; // IOPORT0=0 偺偲偒偼 Fade In丅
; ; ACC0+= Dtmp *Pstep; // 學悢 FADER 偵 Pstep 傪壛偊偨傕偺傪丄怴偟偄
; ; ; // FADER 偲偡傞丅(FADER=FADER+Pstep)
; ; ; // ACC 偵娷傑傟傞 overflow protect 婡擻
; ; ; // 偵傛傝 FADER 偼 0x7FFF 埲忋偵偼側傜側偄丅
; FADER = high(ACC0Ls1); ;
; ; jmp Fend; // Fend 傊丅
// ------------------------
Fout: ; Dtmp = REG0; ACC0 = Dtmp *FADER; // IOPORT0=1 偺偲偒偼 Fade Out丅
; ; ACC0+= Dtmp *Mstep; // 學悢 FADER 偵 Mstep 傪壛偊偨傕偺傪丄怴偟偄
; ; ; // FADER 偲偡傞丅(FADER=FADER+Mstep)
; ; ;
; ; ;
; FADER = high(ACC0Ls1); ;
; ; if (ACC>=0) jmp Fend; // FADER+Mstep>=0 偺偲偒偼 Fend 傊丅
; FADER = high($ZERO); ; // FADER+Mstep<0 偺偲偒偼 FADER=0 偲偟偰 Fend 傊丅
// ----------------------------------------------------------------------
Fend: ; Dtmp = IN0; ACC0 = Dtmp *FADER; // OUT0=IN0*FADER
; Dtmp = IN1; ACC0 = Dtmp *FADER; // OUT1=IN1*FADER
; Dtmp = IN2; ACC0 = Dtmp *FADER; // OUT2=IN2*FADER
; Dtmp = IN3; ACC0 = Dtmp *FADER; // OUT3=IN3*FADER
; OUT0 = ACC0L; ;
; OUT1 = ACC0L; ;
; OUT2 = ACC0L; ;
; OUT3 = ACC0L; ;
; Dtmp = IN4; ACC0 = Dtmp *FADER; // OUT4=IN4*FADER
; Dtmp = IN5; ACC0 = Dtmp *FADER; // OUT5=IN5*FADER
; Dtmp = IN6; ACC0 = Dtmp *FADER; // OUT6=IN6*FADER
; Dtmp = IN7; ACC0 = Dtmp *FADER; // OUT7=IN7*FADER
; OUT4 = ACC0L; ;
; OUT5 = ACC0L; ;
; OUT6 = ACC0L; ;
; OUT7 = ACC0L; ;
// ----------------------------------------------------------------------
; MPEND = $0.5; ; // program 廔椆丅
; ; ;
; ; ;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -