Meilleurs scores

Meilleurs scores

Facile

Instructions

Gère le tableau des meilleurs scores d'un joueur.

Ta tâche consiste à construire le composant de gestion des meilleurs scores du classique Frogger, l'un des jeux les plus vendus et les plus addictifs de tous les temps, et un classique de l'ère des salles d'arcade. Ta tâche consiste à écrire des méthodes qui renvoient le meilleur score du tableau, le dernier score ajouté et les trois meilleurs scores.

Notes spécifiques à l'assembleur x86-64

Les fonctions de cet exercice prennent un tableau contenant un ou plusieurs nombres, chacun représentant un « score de partie ».

En assembleur x86-64, on accède aux éléments d'un tableau par un décalage en octets depuis un pointeur de base.

Ce pointeur de base est passé dans un registre, conformément à la convention d'appel System V AMD64 ABI.

Les 3 premiers arguments sont passés dans rdi, rsi et rdx, dans cet ordre.

Comme les scores de partie du joueur sont représentés par des entiers 32 bits, qui occupent 4 octets, on peut les lire ainsi :

rsi
dword [rsi]
dword [rsi + 4]
...
dword [rsi + 4*scores_count - 4]

personal_top_three() doit écrire les meilleurs scores du joueur dans un tampon, lui aussi passé dans un registre et auquel on accède de la même manière.

rdi
dword [rdi]
dword [rdi + 4]
...

Par convention, les valeurs entières sont renvoyées dans le registre rax.


Source

Hommage au jeu d'arcade des années 80 Frogger.
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
x86-64 Assembly Exercism

Prêt à commencer Meilleurs scores ?

Inscris-toi sur Exercism pour apprendre et maîtriser x86-64 Assembly avec 22 concepts130 exercices, et un vrai mentorat humain, le tout gratuitement.