Au secours !
Je viens de me mettre à l'assembleur mais quand je compile des fichiers z80, ça me crée juste un fichier .bin et un .lst, et il y a des erreurs à toutes les lignes, même avec les programmes copiés-collés dans les tutoriels. (unrecognized instruction principalement)
Quelqu'un pourrait m'aider svp ?
SVP ! SVP ! SVP ! SVP !
La curiosité est la mèche dans la chandelle du savoir...
glre Le 02/06/2006 à 12:10 est-ce que tu fais bien une tabulation à chaques lignes d'isntructions?
Ah ah ! Sacré Gödel, il avait l'idée de vouloir mettre au chômage tous les mathématiciens ce fourbe !
Oui !
Ce qui ce passe, c'est comme si le fichier include était recopié tel quel dans mon fichier et que le compilateur ne reconnaissait aucune des instructions. (des fichiers includes et des instructions z80)
J'ai aussi des "label misaligned", ou des "label not found", alors que je n'en ai pas mis !! DAMMIT !!!!
Cela dit, j'ai réussi a faire mon premier prog à l'aide de Ezasm, mais je préférerais y arriver seul et avoir accès à plus de fonctions que celles dans "ion.inc".
Et tant que j'y suis, comment on trace des lignes, et comment on peut faire passer une valeur d'un registre à une variable standard (Genre A, ou [[A]] ) ?
Quelqu'un peut m'aider svp, svp,Svp, SVp, SVP !!!
La curiosité est la mèche dans la chandelle du savoir...
joe14 Le 07/06/2006 à 07:46 Une seule chose : laisse tomber les variables "standard" accessibles en basic et copie directement tes variables dans le saferam. Si tu tiens vraiment à le faire tout de même (pour sortir une variable utilisable par un prog basic par exemple), regarde dans asmguru, c'est expliqué (il faut passer par les OP).
Pour tracer des lignes, fait un boucle de copie d'un octet $FF dans le graph buffer.
OK, mais comment on "fait une boucle de copie d'un octet" ?
Et j'ai essayé d'afficher une image dans un programme en utilisant "BigSprite" dans Ezasm (il me semble que ça correspond à l'instruction "ionlargesprite"), de taille 31 sur 31, mais quand j'ai lancé le programme sur l'émulateur, ça m'a affiché n'importe quoi !
Alors ???
La curiosité est la mèche dans la chandelle du savoir...
joe14 Le 09/06/2006 à 08:48 ld hl,Plotsscreen
ld a,$FF
ld b,06
label:
ld (hl),a
inc hl
djnz label
par exemple
YEEEEAAAAAHHH !!!!!!!!!!
J'ai enfin réussi à faire un prog asm : il efface l'écran, il allume un pixel et il s'arrête dès qu'on appui sur une touche. Content !
Sinon pour faire une ligne, ça à l'air plus simple d'utiliser _iline, non ?
Et tu connaitrais pas un site ou un fichier qui détaille toutes les romcalls ?
Merci d'avance.
La curiosité est la mèche dans la chandelle du savoir...
glre Le 13/06/2006 à 13:03 hum _iline est très lent, si c'est pour utiliser dans un pong par exemple, c'est mort, j'ai déjà essayé, sinon ça peut etre interessanat, tout dépend de l'usage que tu va en faire
Ah ah ! Sacré Gödel, il avait l'idée de vouloir mettre au chômage tous les mathématiciens ce fourbe !
joe14 Le 18/06/2006 à 00:41 C'est pourquoi je fais un jeu stagnant lol (en fait, c'est l'inverse, j'utilise les ROM_CALLS parce que je fais un jeu stagnant)
joe14 Le 19/06/2006 à 12:55 Je ne crois pas que ex b,d existe. Il faut bien comprendre que toutes les commandes ne sont pas accessibles avec tous les registres. Quant à exx, il s'utilise sans opérande (enfin, il s'écrit tout court quoi) et sert à échanger af avec af', bc avec bc', hl avec hl' et de avec de' (je crois que c'est tout mais je ne suis pas sûr et pour af avec af', c'est à vérifier, je sais plus si exx le fait)). C'est à dire qu'il échange le contenu des registres classiques avec leurs équivalent fantômes. C'est pourquoi il ne faut pas que les interruptions soient actives pendant cette utilisation, car ces registres fantômes servent justement à sauvegarder les contenus des registres de travail durant une interruption.
529 -> $211 => ld hl,529 <=> ld hl,$211 <=> ld h,$02 et ld l,$11 <=> ld h,2 et ld l,17 à priori.
Je dors, mais plus tard (et malgré ça, je trouve pas le temps de programmer...)
Alors comment s'utilise "ex" ?
Sinon, j'ai compris le truc pour les valeurs des registres 8 bits en fonction de ceux de 16 bits, mais je comptais en binaire ; apparemment ça marche aussi...
La curiosité est la mèche dans la chandelle du savoir...
J'ai oublié...
Est ce qu'on peut utiliser sans problèmes "ion.inc" dans un programme MirageOS ?
La curiosité est la mèche dans la chandelle du savoir...
joe14 Le 21/06/2006 à 11:47 Les programmes ion sont compatibles mirageOS (car Mirage OS contient les routines de Ion), donc oui.
Pour ex, il existe : ex de,hl
ex af,af' (soit dit en passant, exx n'échange pas af et af', j'ai vérifié)
ex (sp),hl
ex (sp),IX
ex (sp),IY
Pour savoir les commandes possibles, utilise une "Z80 OPCODE reference list" (voir sur ticalc par exemple qui fête ses 10 ans d'existence)