★ SOUND Manual ★ SCSP / DSP Assembler User's ManualThe following explains how to code a DSP program in dAsms with a relatively simple concrete example.
In the following program example, let's use the external extended inputs EXTS00 and EXTS01 that can input CD Audio etc. as Lch and Rch inputs, respectively, and output the results of delay (echo) processing independently for Lch and Rch to EFREG00 and EFREG01, respectively. It is to be.

| Send level to delay | : EffSendLevel L / R |
| Direct signal level | : DrctLevel L / R |
| Return level from delay | : EffRtnLevel L / R |
| Delay signal feedback level | : FbL / R |
-------------------------------------------------- ---
EffSendLevel L =% 100
EffSendLevelR =% 100
DrctLevelL =% 50
DrctLevelR =% 50
EffRtnLevelL =% 75
EffRtnLevelR =% 75
FbL =% 50
FbR =% 50
-------------------------------------------------- ---
C0L / R
C1L / R
C2L / R
C0L = 0.40893
C0R = 0.40893
C1L = 0.40893
C1R = 0.40893
C2L = 0.18164
C2R = 0.18164
waL / R
raL / R
-------------------------------------------------- --------------
waL = ms0.0
raL = ms149.9
waR = ms150.0
raR = ms249.9
-------------------------------------------------- --------------
raL
raL + 1
MEMS00
MEMS01
LDI MEMS00, MR [raL + DEC]
LDI MEMS01, MR [raL + DEC + 1]
-------------------------------------------------- ------------------------
@ TEMP01 * C2L + (MEMS01 * C1L + (MEMS00 * C0L +))> TEMP00
-------------------------------------------------- ------------------------
-------------------------------------------------- ------------------------
@ TEMP00 * FbL + (EXTS00 * EffSendLevelL +)> MW [waL + DEC]
-------------------------------------------------- ------------------------
-------------------------------------------------- ------------------------
@ EXTS00 * DrctLevelL + (MEMS00 * EffRtnLevelL +)> EFREG00
-------------------------------------------------- ------------------------
-------------------------------------------------- ------------------------
'dAsms sample program.
'Function: L / R independent delay
'CD Lch Direct + Delayed-> EFREG00
'CD Rch Direct + Delayed-> EFREG01
#COEF
'Levels
EffSendLevel L =% 100
EffSendLevelR =% 100
DrctLevelL =% 50
DrctLevelR =% 50
EffRtnLevelL =% 75
EffRtnLevelR =% 75
FbL =% 50
FbR =% 50
'FilterCoefs
C0L = 0.40893
C0R = 0.40893
C1L = 0.40893
C1R = 0.40893
C2L = 0.18164
C2R = 0.18164
#ADRS
waL = ms0.0
raL = ms149.9
waR = ms150.0
raR = ms249.9
#PROG
'Lch
LDI MEMS00, MR [raL + DEC]
LDI MEMS01, MR [raL + DEC + 1]
@ TEMP01 * C2L + (MEMS01 * C1L + (MEMS00 * C0L +))> TEMP00
@ TEMP00 * FbL + (EXTS00 * EffSendLevelL +)> MW [waL + DEC]
@ EXTS00 * DrctLevelL + (MEMS00 * EffRtnLevelL +)> EFREG00
'Rch
LDI MEMS02, MR [raR + DEC]
LDI MEMS03, MR [raR + DEC + 1]
@ TEMP03 * C2R + (MEMS03 * C1R + (MEMS02 * C0R +))> TEMP02
@ TEMP02 * FbR + (EXTS01 * EffSendLevelR +)> MW [waR + DEC]
@ EXTS01 * DrctLevelR + (MEMS02 * EffRtnLevelR +)> EFREG01
#END
-------------------------------------------------- ------------------------
★ SOUND Manual ★ SCSP / DSP Assembler User's Manual