subfunctoin.asm

来自「一个DSP的完整程序」· 汇编 代码 · 共 50 行

ASM
50
字号
;*******************************************************************************
; Module Name: 在主程序中用到的子程序      
;**********************************************************************
        .def _SramToProgram
        .def _Run_Addr

   .mmregs
   .text

****************************************************************************
* 名称:uint16 SramToProgram(uint16 *Dst, uint16 *Src, uint16 len )
* 功能:     将数据区*Src指向的程序数据转移到程序空间由*Dst指向的
*           地址中,长度为len
* 入口参数:Src   :指向要写入到程序空间的程序数据
*           Dst   :指向要被写入的程序空间地址   ,
*           len   :要写入的数据长度-1            
* 出口参数:无
* 存贮在片内SRAM,运行在片外FC00开始的1K内
****************************************************************************/
SRCstp  .set   3
LENstp  .set   4
_SramToProgram
    PSHM AR0
    PSHM AR2
    NOP
    NOP
    MVDK  *SP(SRCstp) ,AR0
    NOP
    NOP
    MVDK  *SP(LENstp) ,BRC

    RPTB MV-1 
    WRITA *AR0+
    ADD   #1,A
MV
    POPM AR2  
    POPM AR0
    RET
****************************************************************************
* 名称:uint16 Run_Addr(uint16 *addr)
* 功能:     运行指向ADDR的程序
* 入口参数:ADDR 要运行程序的入口地址
* 出口参数:无
* 存贮在片内SRAM,运行在片外FC00开始的1K内
****************************************************************************/
_Run_Addr:
       BACC A
      ret
    
    .end   

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?