Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
Algorithme de Bresenham
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour Temps-X et à tous
Je suis du meme avis que Claudius
ayant aussi moi même utilisé une sortie terminal texte
pour par exemple , verifier/ afficher des fontes de caracteres ..
c'est tres pratique .. sans connaitre sur quel LCD /ecran où on va l'afficher.
on peut utilise aussi , du "pseudo code" pour décrire un algorithme
Un pseudo-code (également appelé LDA pour Langage de Description d'Algorithmes) fait référence à une syntaxe ressemblant à un code,
généralement utilisée pour indiquer aux humains le fonctionnement d'une syntaxe de code ou pour illustrer la conception d'un élément
d'architecture de code
..sachant que tu te sert de Basic aussi !
.. l'usage de macro, est une forme aussi d'évolution de langage .. qui n'est plus de l'ASM pur et dur .
Ce n'est pas marcher sur tes plates-bandes !
car le sujet de ton post : Algorithme de Bresenham , est un sujet générique adaptable pour
TOUS les systemes de programmation
y compris , le C.
D'ailleurs ce genre de post devrait être dans une section HORS LANGAGE
histoire de ne pas froisser les esprits.
FANTASPIC site de partage et entraide !
Je suis du meme avis que Claudius
Claudius a écrit : Comme quoi, avant d'envisager un portage, il est impératif de valider d'une manière exhaustive l'algorithme
et en général dans un langage évolué indépendamment de tout périphérique; ici un écran remplacé par une
console texte permettant de vérifier au pixel près ;-)
ayant aussi moi même utilisé une sortie terminal texte
pour par exemple , verifier/ afficher des fontes de caracteres ..
c'est tres pratique .. sans connaitre sur quel LCD /ecran où on va l'afficher.
on peut utilise aussi , du "pseudo code" pour décrire un algorithme
Un pseudo-code (également appelé LDA pour Langage de Description d'Algorithmes) fait référence à une syntaxe ressemblant à un code,
généralement utilisée pour indiquer aux humains le fonctionnement d'une syntaxe de code ou pour illustrer la conception d'un élément
d'architecture de code
Temps-X a écrit : on se retrouve encore une fois de plus avec un code C en section ASM, j'ai rien contre le C,
mais quand même ça commence à devenir ennuyeux.
..sachant que tu te sert de Basic aussi !
.. l'usage de macro, est une forme aussi d'évolution de langage .. qui n'est plus de l'ASM pur et dur .
Ce n'est pas marcher sur tes plates-bandes !
car le sujet de ton post : Algorithme de Bresenham , est un sujet générique adaptable pour
TOUS les systemes de programmation
y compris , le C.
D'ailleurs ce genre de post devrait être dans une section HORS LANGAGE
histoire de ne pas froisser les esprits.
FANTASPIC site de partage et entraide !
Algorithme de Bresenham
Bonjour paulfjujo, et tout le forum,
décidément, on se comprends vraiment pas, j'ai déjà testé sur PC en Basic, j'ai pas besoin de passer par un terminal ...
L'algorithme du cercle en basic fonctionne, je tiens à le préciser encore une fois de plus.
Je m'attendais à l'entendre celle là....
Ce qui est demandé, transformé le code basic en ASM
un volontaire....
C'est une bonne idée, je valide..
Hors langage, peut être pas, participation avec tout les langages qui se rapporte au pic sur les différentes algorithme existent sans dérivé
Il y en a un paquet... il y a de quoi s’occuper.
A+
paulfjujo a écrit :Source du message Je suis du même avis que Claudius
décidément, on se comprends vraiment pas, j'ai déjà testé sur PC en Basic, j'ai pas besoin de passer par un terminal ...
L'algorithme du cercle en basic fonctionne, je tiens à le préciser encore une fois de plus.
paulfjujo a écrit :Source du message ..sachant que tu te sert de Basic aussi !
Je m'attendais à l'entendre celle là....
Ce qui est demandé, transformé le code basic en ASM
un volontaire....
paulfjujo a écrit :Source du message D'ailleurs ce genre de post devrait être dans une section HORS LANGAGE
C'est une bonne idée, je valide..
Hors langage, peut être pas, participation avec tout les langages qui se rapporte au pic sur les différentes algorithme existent sans dérivé
Il y en a un paquet... il y a de quoi s’occuper.
A+
Algorithme de Bresenham
Bonjour à tous
Paul je ne vois pas en quoi un macro-assembleur n'est pas un assembleur. L'assembleur est un programme et un langage d'assemblage destinés à écrire du code machine lisible directement pas le processeur. Le fait de simplifier la saisie en dupliquant des parties de texte ne change rien à l'affaire.
Temps-x as-tu un lien sur l'algorithme cercle que tu veux passer en assembleur ?
D'accord avec toi, s'il y a erreur on le voit tout de suite à l'écran. Par contre je me souviens quand je travaillais la dessus, avoir mis la cam microscope usb pour filmer le lcd et vérifier la tête des cercles de petits rayons, R= 0, 1, 2, ... Rapport à la vue qui baisse :)
Paul je ne vois pas en quoi un macro-assembleur n'est pas un assembleur. L'assembleur est un programme et un langage d'assemblage destinés à écrire du code machine lisible directement pas le processeur. Le fait de simplifier la saisie en dupliquant des parties de texte ne change rien à l'affaire.
Temps-x as-tu un lien sur l'algorithme cercle que tu veux passer en assembleur ?
D'accord avec toi, s'il y a erreur on le voit tout de suite à l'écran. Par contre je me souviens quand je travaillais la dessus, avoir mis la cam microscope usb pour filmer le lcd et vérifier la tête des cercles de petits rayons, R= 0, 1, 2, ... Rapport à la vue qui baisse :)
Algorithme de Bresenham
Bonjour satinas,
Je suis l'auteur du programme écrit en basic, donc le seule lien c'est en Post #17
Quand on teste en mode écran 320x200 pas besoin de loupe, on vois tout de suite les problèmes, surtout avec un écran 17 pouces.
A+
Je suis l'auteur du programme écrit en basic, donc le seule lien c'est en Post #17
Quand on teste en mode écran 320x200 pas besoin de loupe, on vois tout de suite les problèmes, surtout avec un écran 17 pouces.
A+
Modifié en dernier par Temps-x le mar. 1 nov. 2022 20:16, modifié 1 fois.
Algorithme de Bresenham
Re
Code basic traduit en ASM pour cercle le départ
A suivre ...
A+
Code basic traduit en ASM pour cercle le départ
Code : Tout sélectionner
cercle
; xc = 64: yc = 32: Rayon = 25: Couleur = 12
clrf diametre+0
clrf diametre+1
clrf tmps+0
clrf tmps+1
clrf x ; x = 0
movlw D'2' ; (echelle) 2 = longueur oled(128)/ hauteur oled(64)
movwf echelle ;
movf rayon,W ; y = Rayon
movwf y
;
movf rayon,W ; 1 - rayon
sublw D'1' ;
movwf diametre+0 ;
btfsc STATUS,C ; résultat négatif ou positif ?
bra no_negatif ;
comf diametre+0,F ; inversion de tout les bits, car résultat négatif
comf diametre+1,F ;
incf diametre,F ; complément à deux
bsf diametre+1,7 ; indicateur du résultat négatif, bits 16 à 1
no_negatif
bcf STATUS,C ; carry à zéro pour effectuer une opération
rlcf diametre+0,F ; diametre = 2 * (1 - rayon)
rlcf diametre+1,F ; multiplication par 2
do_cercle
movf xc,W
movwf zx
movf x,W
addwf zx,F
movf yc,W
movwf zy
movf y,W
addwf zy,F
pset zx, zy,0,1 ; pset(xc + x, yc + y),couleur
movf yc,W
movwf zy
movf y,W
subwf zy,F
pset zx, zy,0,1 ; pset(xc + x, yc - y),couleur
movf xc,W
movwf zx
movf x,W
subwf zx,F
movf yc,W
movwf zy
movf y,W
addwf zy,F
pset zx, zy,0,1 ; pset(xc - x, yc + y), couleur
movf yc,W
movwf zy
movf y,W
subwf zy,F
pset zx, zy,0,1 ; pset(xc - x, yc - y), couleur
;-----------------------------------------------------------------------------------------------
la suite arrive
;-----------------------------------------------------------------------------------------------
A suivre ...
A+
Algorithme de Bresenham
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Algorithme de Bresenham
- Claudius
Passioné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Bonjour le Monde,
Autre remarque constructive: Toujours séparer le traitement des données (ie. implémentation d'un algorithme) de leurs présentations (écran, synthèse vocale, etc.). Principe inventé en 1979 par feu la Société Xerox (cf. Modèle-Vue-Contrôleur - Définition et Explications et Modèle-vue-contrôleur pouvant se limiter au Modèle-vue dans le cas précis car aucune action utilisateur ;-)
Alors quand je vois au post #17 que le ratio x/y de l'écran est "noyé" dans l'algorithme et donc dans son implémentation ... on fait comment si on a un écran avec un ratio x/y de 1/1 ou 2/3. De plus, il faut revalider l'algorithme car celui-ci tient compte de la présentation !..
Rien que pour cette raison et sans animosité, bon nombre de développeurs ne passeront pas de temps à essayer de comprendre ni même à utiliser le code proposé (dommage pour le partage de la connaissance)
Maintenant, Temps-x, s'agissant de "Quand on teste en mode écran 320x200 pas besoin de loupe, on voit tout de suite les problèmes, surtout avec un écran 17 pouces." ... ben voyons ... très pratique avec ou sans loupe pour présenter à la communauté un dysfonctionnement ou même prouver avec certitude un bon fonctionnement
A suivre...
Autre remarque constructive: Toujours séparer le traitement des données (ie. implémentation d'un algorithme) de leurs présentations (écran, synthèse vocale, etc.). Principe inventé en 1979 par feu la Société Xerox (cf. Modèle-Vue-Contrôleur - Définition et Explications et Modèle-vue-contrôleur pouvant se limiter au Modèle-vue dans le cas précis car aucune action utilisateur ;-)
Alors quand je vois au post #17 que le ratio x/y de l'écran est "noyé" dans l'algorithme et donc dans son implémentation ... on fait comment si on a un écran avec un ratio x/y de 1/1 ou 2/3. De plus, il faut revalider l'algorithme car celui-ci tient compte de la présentation !..
Rien que pour cette raison et sans animosité, bon nombre de développeurs ne passeront pas de temps à essayer de comprendre ni même à utiliser le code proposé (dommage pour le partage de la connaissance)
Maintenant, Temps-x, s'agissant de "Quand on teste en mode écran 320x200 pas besoin de loupe, on voit tout de suite les problèmes, surtout avec un écran 17 pouces." ... ben voyons ... très pratique avec ou sans loupe pour présenter à la communauté un dysfonctionnement ou même prouver avec certitude un bon fonctionnement
A suivre...
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
Algorithme de Bresenham
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
satinas a écrit :Paul je ne vois pas en quoi un macro-assembleur n'est pas un assembleur. L'assembleur est un programme et un langage d'assemblage destinés à écrire du code machine lisible directement pas le processeur. Le fait de simplifier la saisie en dupliquant des parties de texte ne change rien à l'affaire.
je n'ai pas dit çà ! et ça ne contredit en rien ce que tu dis.
mais seulement que l'usage de macro .. et surtout de subroutines
font qu'on s'approche d'un langage de plus haut niveau .. comme le C
et lorsqu'on s'est fait , une bonne bibliotheque de sous programmes ou fonctions
la partie pure et dure , au niveau de l'instruction de base du MCU considéré , tend à disparaitre . (Vu par le programmeur !)
Avant de faire du C, j'ai beaucoup pratiqué l'ASM pour différent Microprocesseurs ou MCU .
(SCMP, 6502,6800,6809,PDP11, 68008,Z80,8086,80286,AT89C2501, PIC16F..)
et en ASM, à chaque fois il faut se palucher de A à Z le jeu d'intruction .. de plus en plus etoffé
au bout d'un moment on passe au C .. même si ce n'est pas la panaCée.
avec quelques fois , des petits bouts d'ASM .. nostalgie ..et efficacité!
car on ne peut pas trop comparer un MCU (et ses peripheriques intégrés) comme ,un Microprocesseur (tout nu, tout bronzé!) .
Meme en C, la partie peripherique est largement usité avec les registres de base ,donc au plus pres de la version ASM
On se croirait entre Ru.... et Uk.... ( ASM et C) , ou l'inverse ( C et ASM )
Bref, je vais m'abstenir de poster quoi que ce soit , sur la rubrique ASM .
A+ coté C comme Clair, je quitte le coté OBSCUR comme ASoMbrit
Algorithme de Bresenham
Bonsoir francois77, Claudius,
Ça ne changerait pas grand chose, c'est surtout du temps qu'il me faut... c'est très instructif de marcher sur les pas d'un homme comme Bresenham
Pas d'effort, pas de récompense.....
Sache que rien n'est jamais acquit...
A+
francois77 a écrit :Source du message Tu peux passer directement en mode 18f si cela te simplifie la vie
Ça ne changerait pas grand chose, c'est surtout du temps qu'il me faut... c'est très instructif de marcher sur les pas d'un homme comme Bresenham
Claudius a écrit :Source du message Rien que pour cette raison et sans animosité, bon nombre de développeurs ne passeront pas de temps à essayer de comprendre ni même à utiliser le code proposé (dommage pour le partage de la connaissance)
Pas d'effort, pas de récompense.....
Claudius a écrit :Source du message un dysfonctionnement ou même prouver avec certitude un bon fonctionnement
Sache que rien n'est jamais acquit...
A+
Algorithme de Bresenham
L'avantage des macros est de permettre en assembleur de faire des pseudo fonctions avec passage d'arguments, sinon c'est la galère car on est obligé de remplir ou empiler/dépiler les arguments un par un lors des CALL. Sans macros on ne peut pas envisager de voir grand. Après bien sûr le choix du langage reste au goût de chacun selon son niveau de masochisme.
https://fr.wikipedia.org/wiki/MenuetOS
https://fr.wikipedia.org/wiki/MenuetOS
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 54 invités