SYS |
Système |
Basic du Commodore 64 |
Syntaxe
Paramètres
Nom |
Description |
n |
Ce paramètre permet d'indiquer l'adresse mémoire où est situé le programme. L'adresse est un nombre naturel de 16 bits situé dans l'intervalle de 0 à 65535, soit 0000h à FFFFh en hexadécimal. |
Description
Cette commande permet d'exécuter un programme écrit en langage machine 6510 à l'adresse spécifié.
Remarques
- L'instruction SYS est suivie d'un nombre décimal ou d'une variable numérique compris entre 0 et 65 535. Le programme commence à exécuter un programme en langage machine
à partir de l'adresse spécifiée. La commande SYS est similaire à la fonction USR, mais ne transmet pas de paramètre.
- Si l'adresse spécifié est en dehors de l'intervalle autorisé (entre 0 et 65535), alors le Commodore BASIC V2 retournera le message d'erreur :
- Avant d'appeler cette commande, on peut définir la valeur des registres du microprocesseur 6510, accumulateur (A), d'index X, d'index Y et de registre d'états en utilisant les octets de cellules mémoires situé aux adresses respectives de 780 à 783 (030Ch à 030Fh).
Ainsi, le langage de programmation BASIC offre la possibilité de configurer les paramètres et les données d'appel d'une routine en langage machine.
- Si la routine en langage machine rencontre une instruction assembleur RTS du 6510, alors la commande enregistre immédiatement le résultat contenu dans les registres accumulateurs (A), index X, index Y et le registre d'états dans les cellules mémoires situé aux adresses respectives de 780 à 783 (030Ch à 030Fh).
De cette façon, on peut transférer le résultat de la routine de langage machine au langage de programmation BASIC pour un traitement ultérieur.
- Il existe de nombreuses routines de code machine situé dans le BASIC en ROM que l'on peut appeler à l'aide de cette commande. Par exemple, il existe les routines suivantes :
Nom |
Adresse |
Description |
CHKCOM |
44797 (AEFDh) |
Cette routine de langage machine permet de vérifier que le caractère suivant dans la commande est une virgule. |
GETBYT |
47006 (B79Eh) |
Cette routine de langage machine permet de lire un paramètre en octets, soit une valeur situé entre 0 et 255. |
GETPAR |
47083 (B7EBh) |
Cette routine de langage machine permet de lire un paramètre en nombre naturel, soit une valeur situé entre 0 et 65535, suivi d'une virgule d'un octet. |
RESET |
64738 (FCE2h) |
Cette routine de langage machine permet de réinitialiser le Commodore 64. |
... |
... |
... |
Exemples
L'exemple suivant permet de démarrer un programme en langage machine situé à l'adresse 1234 :
- SYS 1234
L'exemple suivant permet de réinitialiser le Commodore 64 :
- SYS 64738
Dernière mise à jour : Lundi, le 12 décembre 2016