Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 汇编返回_Assembly_Return - Fatal编程技术网

Assembly 汇编返回

Assembly 汇编返回,assembly,return,Assembly,Return,我的代码的一小部分 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,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]

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

也许这会有帮助:(注意“操作码
rtsd
然后被用来返回调用函数”)。

也许这会有帮助:(注意“操作码
rtsd
然后被用来返回调用函数”)。

你能把延迟码作为一个子程序来编写,调用它来调用它吗,当您完成时,可以将延迟代码作为子例程编写,调用它来调用它,当您完成时可以“返回”吗?rtsd会将我回调到调用函数,但如何让它回调到当前函数的另一部分?我正在编写的程序集已经是一个从C函数调用的子程序,因此使用rtsd r15,8将把我拉回到校准函数。我建议您将延迟代码作为一个单独的函数,您可以使用
brlid
从函数调用它(如标题为“调用函数”的部分所述),因此,当延迟代码返回时,它将返回到您的函数(调用它的函数)。rtsd会将我回调到调用函数,但如何让它回调到当前函数的另一部分?我正在编写的程序集已经是一个从C函数调用的子程序,因此使用rtsd r15,8将把我拉回到校准函数。我建议您将延迟代码作为一个单独的函数,您可以使用
brlid
从函数调用它(如标题为“调用函数”的部分所述),因此,当延迟代码返回时,它将返回到调用它的函数。