CPC Rulez https://cpcrulez.fr/forum/ |
|
design patterns https://cpcrulez.fr/forum/viewtopic.php?f=4&t=4252 |
Page 3 sur 4 |
Auteur : | TOUKO [ 15 Juil 2010, 20:26 ] |
Sujet du message : | Re: design patterns |
Excellent merci pour les infos, et le code |
Auteur : | Demoniak [ 03 Août 2010, 11:50 ] |
Sujet du message : | Re: design patterns |
Une petite astuce, il y avait longtemps Code : SUB xx NEG peut être remplacé par Code : SUB xx+1 CPL Biensur à condition que xx soit compris entre 1 et 126 |
Auteur : | norecess [ 03 Août 2010, 18:17 ] |
Sujet du message : | Re: design patterns |
@demoniak quel est l'avantage? de visu ca semble prendre le meme temps machine. |
Auteur : | Demoniak [ 03 Août 2010, 18:52 ] |
Sujet du message : | Re: design patterns |
Le neg prends 2 opcodes (#ED #44) et dure 2 nops, alors que le cpl ne prends qu'un opcode (#2F) et un nop. |
Auteur : | norecess [ 03 Août 2010, 20:42 ] |
Sujet du message : | Re: design patterns |
Ah ! Puisqu'on y est ! J'ai un "pattern" assez degueu en ce moment dans mon code, pour switcher 2 valeurs d'une frame a l'autre : Code : ld a, (IsFlipped) or a jp z, setBitplan2 ld hl, ( stackBitplan1 ) jp endSetBitplan setBitplan2: ld hl, (stackBitplan2 ) endSetBitplan: ld ( bitplanStack_Start + 1 ), hl Comment tu ferais pour rendre le truc plus.... elegant ? |
Auteur : | norecess [ 03 Août 2010, 20:45 ] |
Sujet du message : | Re: design patterns |
PS. Les LD HL, (NN) pourrait etre remplaces par des LD HL, NN |
Auteur : | norecess [ 03 Août 2010, 23:53 ] |
Sujet du message : | Re: design patterns |
apres reflexion, il y aurait bien un truc du genre .. (j'ecris de tete) Code : sla a ld b, 0 ld c, a ld hl, table add hl, bc ld a, (hl) inc hl ld h, (hl) ld l, a ... table: dw ptr1 dw ptr2 Un meilleur pattern que ca ? |
Auteur : | AsT [ 04 Août 2010, 00:39 ] |
Sujet du message : | Re: design patterns |
Si tu mets ta table à une adresse du type : #2000 par exemple, un simple inc l suffit au lieu d'un inc hl... Par contre, ta table ne pourras contenir que 128 adresses différentes, ce qui n'est déjà pas si mal, non ? Ah oui, dernière chose, utilise plutot add a,a (qui prends 1 nop) que sla a (qui prends 2 nops). J'aurais plutôt écrit : Code : add a,a ld h,#20 ; hl=20xx ld l,a ld e,(hl) ; récupère poids faible inc l ld d,(hl) ; et ici poids fort / de=adresse de la table .... org #2000 table defw adr1 defw adr2 9 Nops contre 17... ça devrait aller maintenant ! Si tu préfères avoir dans hl à la place de de un simple ex de,hl (1 nop) fera l'affaire. |
Auteur : | AsT [ 04 Août 2010, 00:54 ] |
Sujet du message : | Re: design patterns |
On peut faire encore plus rapide, je pensais à : Code : add a,a ; 1 nop ld h,#20 ; 2 nops ld l,a ; 1 nop jp (hl) ; 1 nop org #2000 defw adresse1 defw adresse2 .... ce qui nous fait 5 nops... le compte est bon ! ^^ |
Auteur : | norecess [ 04 Août 2010, 00:59 ] |
Sujet du message : | Re: design patterns |
Bien vu pour ADD A,A vs. SLA A ! Pour le coup de la table en &256, un peu inutile pour le peu de fois que c'est utilise dans une frame. |
Auteur : | AsT [ 04 Août 2010, 01:00 ] |
Sujet du message : | Re: design patterns |
Le meilleur exemple reste le 2ème à mon avis... Concernant la table de 256 octets, tu n'es pas obligé d'utiliser les 256 octets... mais ça te permet de gagner 1 nop grace à inc l au lieu de inc hl. ^^ |
Auteur : | markerror [ 04 Août 2010, 07:07 ] |
Sujet du message : | Re: design patterns |
Bonjour, Tu peux aussi te débrouiller pour que la valeur du registre A représente directement celle à mettre dans L (si ta table est en &2000, ça fera &00 ou &02). Bon, après, si tu dois décaler ton code, ça te fera une belle petite migraine pour retrouver ce =@# bug si tu n'as pas commenté ton source ). Mais au final, un NOP de gagné. T&J/GPA |
Auteur : | AsT [ 04 Août 2010, 22:05 ] |
Sujet du message : | Re: design patterns |
bien vue herve... ca fait encore 1 nop de gagne... |
Auteur : | norecess [ 05 Août 2010, 00:39 ] |
Sujet du message : | Re: design patterns |
Vous etes des tarés. Et on vous aime pour ca |
Auteur : | AsT [ 05 Août 2010, 07:27 ] |
Sujet du message : | Re: design patterns |
@NoRecess : Pourquoi ? Tu trouves que 4 nops ça fait trop ? |
Page 3 sur 4 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |