代码之家  ›  专栏  ›  技术社区  ›  Scott

组件返回

  •  1
  • Scott  · 技术社区  · 15 年前

    我代码的一小部分

    swi  r6,r0,LCD_ CONT  
    addi r10,r0,6  
    
    firstdelay:  
    addi r10,r10,-1  
    bnei r10,firstdelay  
    swi  r0,r0,LCD_ CONT  
    addi r10,r0,30
    
    seconddelay:  
    addi r10,r10,-1  
    bnei r10,seconddelay  
    swi  r5,r0,LCD_DATA  
    

    我必须在整个程序中延迟多次,但要保持它的小。我想写一些东西,沿着以下几行:

    swi  r6,r0,LCD_ CONT  
    addi r10,r0,[delayamount]  
    bri  Delay  
    swi  r0,r0,LCD_ CONT  
    addi r10,r0,[newdelayamount]  
    bri  Delay
    
    Delay:  
    addi r10,r10,-1  
    bnei r10,Delay  
    [return to where I was previously in the code]
    

    所以我的问题是:如何回到代码中,而不必创建多个延迟,直接运行代码。谢谢大家!

    1 回复  |  直到 15 年前
        1
  •  1
  •   ChrisW    15 年前

    也许这会有帮助: Using Functions (注意“操作码 rtsd