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 ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

16f876 , Police Windows et Écran OLED Ssd1306
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#11 Message par francois77 » sam. 15 oct. 2022 08:58

Bonjour a tous

Ce matin blocage du cerveau

J'ai besoin de faire une rotation sur un octet type

0110 1111 -> vers 1111 0110

L'objectif c'est de faire une rotation des 8 bits sans la carry et avec un 16f

Si vous avez une solution simple je prends

Merci d'avance

Francois

Traitement de l'image par quart

Capture10.JPG
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

16f876 , Police Windows et Écran OLED Ssd1306
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#12 Message par satinas » sam. 15 oct. 2022 09:24

Bonjour a tous
L'instruction swapf fait cela, elle échange les 2 quartets d'un octet en ram, vers W ou vers la ram, sans modifier STATUS.
Bonne idée de calculer un quart de cercle, puis de faire un effet miroir. On peut aussi aller jusqu'au 1/8 de cercle.
De même le cercle est une ellipse particulière, autant faire un algo pour l'ellipse, mais là on se limite au quart de cercle, et si l'ellipse est inclinée ?

16f876 , Police Windows et Écran OLED Ssd1306
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#13 Message par francois77 » sam. 15 oct. 2022 10:29

Bonjour Satinas,

" L'instruction swapf fait cela, elle échange les 2 quartets d'un octet en ram, vers W ou vers la ram, sans modifier STATUS."

Sauf erreur de ma part, cela ne va pas le faire !

SWAPF = 1110 0001 => 0001 1110

C'est vraiment une inversion bit a bit que je veux faire

1110 0001 => 1000 01111

" Bonne idée de calculer un quart de cercle, puis de faire un effet miroir. On peut aussi aller jusqu'au 1/8 de cercle."

Plus compliqué a faire car après il faut faire la gestion des lignes 0 a 7

" De même le cercle est une ellipse particulière, autant faire un algo pour l'ellipse, mais là on se limite au quart de cercle, et si l'ellipse est inclinée ?"


Mon petit cerveau est en mode 286 avec 500k de ram , donc cela devient compliqué pour moi

Merci pour ton retour rapide, je vais creuser une solution

A+

Francois

16f876 , Police Windows et Écran OLED Ssd1306
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#14 Message par satinas » sam. 15 oct. 2022 11:17

Ce n'est plus une rotation alors.
En m'aidant de cette page http://www.piclist.com/techref/microchi ... evbits.htm

Code : Tout sélectionner

  clrf   cpt
  ...
  movlw  b'11100001'
  movwf  byte_in
  call   invert_byte
  ...

invert_byte
  clrf   byte_out
  bsf    cpt,3
invert_bit
  rrf    byte_in
  rlf    byte_out
  decfsz cpt
  goto   invert_bit
  return

16f876 , Police Windows et Écran OLED Ssd1306
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#15 Message par francois77 » sam. 15 oct. 2022 11:35

Hello Satanas,

Le comble, c'est que j'ai recherché sur le site de piclist :cry: :cry: :cry: :cry:

Merci pour ton aide, je vais tester

A+

Francois

16f876 , Police Windows et Écran OLED Ssd1306
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#16 Message par francois77 » sam. 15 oct. 2022 18:03

Bonjour,

Et voici le résultat

A+

Francois

Capture.JPG
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

16f876 , Police Windows et Écran OLED Ssd1306
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#17 Message par Temps-x » sam. 15 oct. 2022 21:37

Bonsoir francois77, et tout le forum,

:+1: pour l'idée, mettre les 1/4 de données dans un tableau c'est pas un algorithme, mais c'est une très bonne idée.

Comme l'explique satinas, généralement on fait la même chose avec seulement les 1/8 de cercle quand appelle 1 octant(45°) avec l'algorithme de Bresenham.

Puis on les reproduits 8 fois de suite

J'ai fini ma routine, qui fonctionne sans aucun tableau, je vais la mettre sur le forum, mais avant faut que je la mettre au clair, avec quelle que commentaire pour bien comprendre son fonctionnement.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

16f876 , Police Windows et Écran OLED Ssd1306
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#18 Message par francois77 » dim. 16 oct. 2022 18:05

Bonjour a tous

Au départ, j'avais eu l'idée de me servir d'Excel pour fabriquer mes propres images en 128 * 64

la suite c'était de fabriquer des images miroir types cercles, rectangles, formes xy .....

La suite bis , c'était des faires des cercles

Petit test avec une vidéo faites Windows (Win + g)

grosfi.ch/HFTePUYVnuq

Sur l'écran en vrai c'est pas mal (11 images en 1/4)

Pour le 1/8 j'ai tenté de comprendre le principe, mais pour l'instant bof bof

J'attends avec impatience la version de Temps-x

A+

Francois

16f876 , Police Windows et Écran OLED Ssd1306
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#19 Message par Temps-x » lun. 17 oct. 2022 01:26

Bonsoir francois77, et tout le forum,

Je te mets tous les détailles dans la semaine, code + fichier compilé, avec surement une petite vidéo sur les deux algorithmes ligne droite et circle,

La version 8 bits et fonctionnelle, mais comme j'aime bien faire les choses, je suis entrain de l’adapter pour les écrans 16 bits, pas évident à faire.

Comme ça je reviendrais pas dessus :-D , de plus je la rends compatible pour 16F et 18F, il y a 220 ligne en code + deux macro qui s'appelle circle
et ligne

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

16f876 , Police Windows et Écran OLED Ssd1306
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#20 Message par francois77 » lun. 17 oct. 2022 08:16

Bonjour Temp-x et tout le forum

De mon côté, je m’amuse avec mes petits essais

Pour faire mon graph, ma première version de 20 « tableau » fessait 2688 octet. Sur mon 16f cela commençait à poser un vrai problème de taille

Une nouvelle version est en cours et devrait diminuer de taille considérablement (1286 octet)

Mon idée a est la suivante :
Au lieu d’avoir 20 tableaux de 4 lignes par 32 caractères (64* 64), je vais faire des tableaux partiels

J’espère avoir le temps de le faire avant la fin de la semaine, car j’ai dû bouleau qui m’attend à l’extérieur

Même si je travaille de mon côté, j’attends de voir ta réalisation qui me permettra de comprendre (je l’espère) ton algorithme.

A+
Francois


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 36 invités