This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP28x_usDelay(Uint32 Count)关于参数传递问题

使用时申明extern void DSP28x_usDelay(Uint32 Count);

我看了下汇编DSP2803x_usDelay.asm代码如下:

       .def _DSP28x_usDelay
       .sect "ramfuncs"

        .global  __DSP28x_usDelay
_DSP28x_usDelay:
        SUB    ACC,#1
        BF     _DSP28x_usDelay,GEQ    ;; Loop if ACC >= 0
        LRETR

我想问下,使用时DSP28x_usDelay(Uint32 Count)里面的参数是怎么传递进去的?

  • 应该是把count的值与__DSP28x_usDelay这个全局变量关联起来。

    ERIC

  • 我找了一下,解析有下面的内容,但还是不知道哪里关联起来的?

    ;//
    ;// The C assembly call from the DELAY_US(time) macro will
    ;// look as follows:
    ;//
    ;// extern void Delay(long LoopCount);
    ;//
    ;// MOV AL,#LowLoopCount
    ;// MOV AH,#HighLoopCount
    ;// LCR _Delay
    ;//
    ;// Or as follows (if count is less then 16-bits):
    ;//
    ;// MOV ACC,#LoopCount
    ;// LCR _Delay
    ;//

  • 从汇编代码来看   只能是_DSP28x_usDelay和Count有关系