Мне нужно преобразовать следующий код C в его эквивалент в сборке. Я только взял несколько уроков по ассемблеру и на самом деле еще не имею gr asp языка.
int x = 45
int y = 27
while (x != y) {
if (x > y)
x = x - y;
else if (y > x)
y = y - x;
}
return x; // Sends exit code containing GCD
Я написал то, что, как мне кажется, работает и собираюсь использовать отладчик найти неизбежный fl aws, но хотел спросить, направляюсь ли я в правильном направлении с оператором if else.
.global _start
_start
mov R1, #45 @R1 = 45
mov R2, #27 @R2 = 27
loopTop:
cmp R1, R2
beq allDone
bge R1,R2
sub R1,R1,R0
bge R2,R1
sub R2,R2,R1
b loopTop
allDone:
SWI R1
Любая помощь / советы будут с благодарностью! Спасибо!