fonction usr sur VG5000
Modérateurs : Papy.G, fneck, Carl
fonction usr sur VG5000
Bonjour j'ai un probleme avec la fonction usr du basic vg5000
Quoique je passe en parametre j'obtiens une erreur de syntaxe (par exemple la ligne 10 USR(1) me donne cette erreur)
Quelqu'un sait-il comment on doit utiliser cette fonction
Merci d'avance
Quoique je passe en parametre j'obtiens une erreur de syntaxe (par exemple la ligne 10 USR(1) me donne cette erreur)
Quelqu'un sait-il comment on doit utiliser cette fonction
Merci d'avance
- Carl
- Modérateur
- Messages : 13254
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: fonction usr sur VG5000
Bonjour,
voir page 98 du livre "cléf pour VG5000"
http://dcvg5k.free.fr/onlinedoc/clefs-p ... g5000.djvu
Carl
voir page 98 du livre "cléf pour VG5000"
http://dcvg5k.free.fr/onlinedoc/clefs-p ... g5000.djvu
Carl
Re: fonction usr sur VG5000
Bonsoir,
Je confirme que cela fonctionne avec les informations fournies dans "Clefs pour VG5000".
Un exemple :
10 CLEAR 50,&"6FFF"
20 DATA 3E,65,32,02,40,C3,80,00
30 FOR I=&"7000"TO &"7007":READ A$:A$="&"+CHR$(34)+A$+CHR$(34):A=VAL(A$):POKE i,A:NEXTI
40 POKE &"4834",&"00"
50 POKE &"4835",&"70"
60 A=USR(1)
La routine affiche bêtement le caractère "e" sur le premier caractère de la première ligne.
En retour A=101 soit la valeur ascii de "e".
Si on ne voulait pas de valeur de retour, on aurait pu remplacer le JP &0080 par un simple RET.
Contrairement à un CALL, il n'est pas nécessaire de préserver IX et HL dans la routine appelée, le système a l'air de faire ça tout seul comme un grand !
Je confirme que cela fonctionne avec les informations fournies dans "Clefs pour VG5000".
Un exemple :
10 CLEAR 50,&"6FFF"
20 DATA 3E,65,32,02,40,C3,80,00
30 FOR I=&"7000"TO &"7007":READ A$:A$="&"+CHR$(34)+A$+CHR$(34):A=VAL(A$):POKE i,A:NEXTI
40 POKE &"4834",&"00"
50 POKE &"4835",&"70"
60 A=USR(1)
La routine affiche bêtement le caractère "e" sur le premier caractère de la première ligne.
En retour A=101 soit la valeur ascii de "e".
Si on ne voulait pas de valeur de retour, on aurait pu remplacer le JP &0080 par un simple RET.
Contrairement à un CALL, il n'est pas nécessaire de préserver IX et HL dans la routine appelée, le système a l'air de faire ça tout seul comme un grand !
Re: fonction usr sur VG5000
Mon programme d'entrée de code machine pour vg5000
Quand je lance (run), je dois entrer mon code assembleur. La routine le chargera en memoire en code machine. Malheureusement, il plante dans la ligne 510.
Ce que voudrais faire, c'est recuperer par le BASIC la valeur du registre A.
Exemple avec mon programme
run
? 3E10 *****(mettre 10) dans le registre A********
?S *****fin d'entree de mon code machine ******
et la je voudrais recuperer par le BASIC, la valeur du registre A. Comment puis_je faire.
J'ai joint en screenshot mon programme, qui ne permet pas de recupérer cette valeur
Quand je lance (run), je dois entrer mon code assembleur. La routine le chargera en memoire en code machine. Malheureusement, il plante dans la ligne 510.
Ce que voudrais faire, c'est recuperer par le BASIC la valeur du registre A.
Exemple avec mon programme
run
? 3E10 *****(mettre 10) dans le registre A********
?S *****fin d'entree de mon code machine ******
et la je voudrais recuperer par le BASIC, la valeur du registre A. Comment puis_je faire.
J'ai joint en screenshot mon programme, qui ne permet pas de recupérer cette valeur
- Pièces jointes
-
- programme
- vg5000.png (18.7 Kio) Consulté 3868 fois
Re: fonction usr sur VG5000
Salut
USR() est une fonction, pas une instruction. Pour pouvoir lire sa valeur, il faut la placer dans une variable.
A = USR(1)
PRINT A
par exemple...
@+
USR() est une fonction, pas une instruction. Pour pouvoir lire sa valeur, il faut la placer dans une variable.
A = USR(1)
PRINT A
par exemple...
@+
Re: fonction usr sur VG5000
Bonne réponse de Kweeky !
Il faut donc simplement modifier la ligne 510 de ton programme :
510 A=USR(1)
et cela fonctionnera comme sur des roulettes .
Il faut donc simplement modifier la ligne 510 de ton programme :
510 A=USR(1)
et cela fonctionnera comme sur des roulettes .
Re: fonction usr sur VG5000
Merci beaucoup !!! Ca marche
Mon premier programme en langage machine !!!!!
En plus pour VG5000. Ah, si j'avais connu ca en en 86 lors de l'achat de mon vg5000
Je me suis demandé pendant des années comment on pouvait faire de l'assembleur sur VG5000 sachant qu'aucun logiciel permettant d'en faire n'avait été développé sur VG5000
Est-ce que quelqu'un a developpé entre-temps un tel logiciel?
Developper en assembleur sur PC pour télécharger sur le VG5000, c'est moins classe que de tout développer sur VG5000
Mon premier programme en langage machine !!!!!
En plus pour VG5000. Ah, si j'avais connu ca en en 86 lors de l'achat de mon vg5000
Je me suis demandé pendant des années comment on pouvait faire de l'assembleur sur VG5000 sachant qu'aucun logiciel permettant d'en faire n'avait été développé sur VG5000
Est-ce que quelqu'un a developpé entre-temps un tel logiciel?
Developper en assembleur sur PC pour télécharger sur le VG5000, c'est moins classe que de tout développer sur VG5000
Re: fonction usr sur VG5000
Bonjour,
A ma connaissance, aucun assembleur/désassembleur n'existe sur VG5000. Ca n'est pas forcément illogique, car la mémoire disponible sur la version de base est faible. Une fois le code de l'assembleur logé en mémoire, il n'aurait pas resté grand chose pour travailler. On aurait pu imaginer une cartouche à connecter sur l'extension VG5216, mais bon, le succès de la machine n'étant pas fulgurant, ça n'a pas aidé pour que de tels projets voient le jour.
Ca n'est pas vraiment maintenant un problème pour développer des programmes en langage machine grâce à DcVG5k. La fonction "Charger un fichier binaire" dans le menu "mise au point" (touche F9) permet facilement d'importer du code binaire créé avec n'importe quel logiciel externe. Personnellement, j'utilise l'assembleur de WinApe, un émulateur CPC qui offre un environnement de développement assez complet (assembleur à la syntaxe compatible avec Maxam, moniteur mémoire, dumps, etc... ).
A ma connaissance, aucun assembleur/désassembleur n'existe sur VG5000. Ca n'est pas forcément illogique, car la mémoire disponible sur la version de base est faible. Une fois le code de l'assembleur logé en mémoire, il n'aurait pas resté grand chose pour travailler. On aurait pu imaginer une cartouche à connecter sur l'extension VG5216, mais bon, le succès de la machine n'étant pas fulgurant, ça n'a pas aidé pour que de tels projets voient le jour.
Ca n'est pas vraiment maintenant un problème pour développer des programmes en langage machine grâce à DcVG5k. La fonction "Charger un fichier binaire" dans le menu "mise au point" (touche F9) permet facilement d'importer du code binaire créé avec n'importe quel logiciel externe. Personnellement, j'utilise l'assembleur de WinApe, un émulateur CPC qui offre un environnement de développement assez complet (assembleur à la syntaxe compatible avec Maxam, moniteur mémoire, dumps, etc... ).
Dernière modification par Markerror le 15 sept. 2013 10:19, modifié 1 fois.
- Carl
- Modérateur
- Messages : 13254
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: fonction usr sur VG5000
j'ai cru pendant longtemps qu'il y avait un assembleur/désassembleur en plus de l'educatif k7 "microprocesseur" mais le jour ou j'ai eu cette fameuse K7 et bien il n'y pas ce genre d'outil dessus...
joaopa, peux tu te présenter et nous dire ce que tu bricoles sur VG5000, merci
carl
joaopa, peux tu te présenter et nous dire ce que tu bricoles sur VG5000, merci
carl