поэтому я пытаюсь написать вложенный цикл for в Y86.(Я теперь, что Y86 только для обучения).Я рассмотрел, как сделать обычный цикл for, но не уверен, как это сделать для вложенного цикла, особенно когда вы вызываете 2 функции, одну сразу за другой.Может ли кто-то указать мне в правильном направлении.Вот лишь пример того, что я хочу написать.
for (x = 5; x<=10; ++x){
for (y = 1; y <=5; y+=2){
//call some function afunction(x, y)
//call a different function a2function(x,y)
}
}
main:
irmovl $5,%esi #esi = x
irmovl $1,%ecx #ecx = y
irmovl Stack,%esp
irmovl Array,%ebx
loop:
pushl %ebx
pushl %esi
pushl %ecx
call rec #funcitons
call bit #functions
popl %ecx
popl %esi
popl %ebx
rmmovl %esi, (%ebx)
rmmovl %ecx, (%ebx)
irmovl $4, %edx
addl %edx, %ebx
irmovl $0xffffffff,%edx
rmmovl %edx,(%ebx)
irmovl $4,%edx
addl %edx,%ebx
irmovl $1,%edx
addl %edx,%ecx
irmovl $8,%edx
subl %ecx,%edx
jne innerloop
halt