Керуйте масивом рекордів гравця.
Ваше завдання - створити компонент для підрахунку рекордів класичної гри Frogger, однієї з найбільш продаваних і найбільш затягуючих ігор усіх часів та класики ери аркадних автоматів. Ваше завдання - написати методи, які повертають найвищий рекорд із масиву, останній доданий рекорд і три найвищі рекорди.
Функції в цій вправі приймають масив, який містить одне або кілька чисел, кожне з яких представляє один «ігровий рахунок».
В x86-64 assembly елементи масиву доступні як зсув у байтах від базового вказівника.
Цей базовий вказівник передається в регістрі згідно з угодою про виклики System V AMD64 ABI.
Перші 3 аргументи передаються в rdi, rsi, rdx у цьому порядку.
Оскільки ігрові рахунки гравця представлені 32-бітними цілими числами, які займають 4 байти, їх можна прочитати з
rsi |
|---|
dword [rsi] |
dword [rsi + 4] |
| ... |
dword [rsi + 4*scores_count - 4] |
personal_top_three() має записати найкращі рахунки гравця в буфер, який також передається в регістрі, а доступ до нього відбувається в той самий спосіб.
rdi |
|---|
dword [rdi] |
dword [rdi + 4] |
| ... |
Цілі числа за домовленістю повертаються в регістрі rax.
Зареєструйтеся на Exercism, щоб вивчати й опановувати x86-64 Assembly, а також 22 концепції130 вправ та справжнє наставництво від людей, і все це безкоштовно.