您好,我正在从事汇编工作,我的问题是以下我需要知道是否有一种方法可以在使用递归时跟踪汇编中的某些变量。我知道我可以在调用递归函数时使用堆栈将参数传递给它。例如python中的这段代码:
def topologicalSort(node):
lista = [0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0]
size = 4
order = []
for i in range(size):
if lista[node*size+i] == 1 and (i+1) not in order:
return topologicalSort(i)
order.append(node+1) #node starts in 1
我知道它不完整,但是我想要做的例如是调用该函数 2 次我需要当我返回函数时我仍然跟踪 for 循环中的索引“i”。在汇编中,您只需使用JMP
和迭代我需要使用寄存器的次数。因此,当RET
被调用时,我会丢失计数器的值(在本例中为 i)。