Как реализовать функцию Java в Hack Assembly? Я знаю, что инструкции по изменению переменных легко сделать, но как HACK вызывает функцию? Например:
function(int a, int b) {
if (a-b > 0)
return a;
else
return b;
}
Мой (я думаю, неправильный) результат:
@a
D=M
@b
D=D-M
@JUMPMARK1
D;JGT
@Jumpmark2
0;JMP
(JUMPMARK1)
@a
D=M
@function
M=D
(Jumpmark2)
@b
D=M
@function
M=D
Итак, проблема в том, что я не знаю, где хранить результат (возврат). Должен ли я создать переменную, как в этом примере, для функции и сохранить ее там?