W ramach ćwiczeń dostałem do rozwiązania kilka zadań. Jednym z nich jest zaimplementowanie EAX <-- max(EBX, ECX, EDX).
Moglibyście mi wyjaśnić jak to dokładnie powinno wyglądać? Co jest złego w mojej logice?
section .text
global _start
_start:
mov $2, %EBX ;wrzucam wartosci do rejestrow
mov $8, %ECX
mov $4, %EDX
cmp %EBX, %ECX ; ECX - EBX
jg _setHigherValue ; jesli EBX > ECX to przeskocz do _setHigherValue
cmp %ECX, %EDX ; EDX - ECX
jle _setECXAsHighestValue
jg _setEDXAsHighestValue
_setHigherValue:
mov %EBX, %ECX ; przepisz wartosc z EBX do ECX.
; ? teraz wraca do kolejnej instrukcji ze _start ?
_setECXAsHighestValue:
mov %EBX, %EAX
_setECDAsHighestValue:
mov %EDX, %EAX
nop;