CPC Rulez
https://cpcrulez.fr/forum/

SJASMPlus
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5585
Page 1 sur 1

Auteur :  majikeyric [ 04 Sep 2015, 15:06 ]
Sujet du message :  SJASMPlus

Salut,

j'ai une question concernant la syntaxe de SJASMPlus,
J'aimerais me faire 2 tables de pointeurs sur la mémoire vidéo en fonction de la coordonnée Y d'un sprite.
(une table pour la partie Lo et une pour la partie High du pointeur.)

J'aimerais obtenir l'équivalent de ça (avec un autre assembleur):

Code :
   !for y,0,199
   {
      !byte < ( $c000 + ((y%8)*$0800) + ((y/8)*80) )
   }
   
   !for y,0,199
   {
      !byte > ( $c000 + ((y%8)*$0800) + ((y/8)*80) )
   }


Je n'ai pas trouvé dans SJASMPlus la possibilité de le faire même en essayant d'utiliser du script LUA...
Les opérateurs sur les bits font défaut... (ET binaire en l'occurence...).

Merci pour votre aide :)

Auteur :  Overflow [ 04 Sep 2015, 18:04 ]
Sujet du message :  Re: SJASMPlus

Y'a sans doute plusieurs moyens d'y arriver, en 1er jet j'ai ça:
Code :
   macro yh
   defb HIGH ( #C000 + #50*(y/8) + #800*(y mod 8) )
y=y+1
   endm

   macro yl
   defb LOW ( #C000 + #50*(y/8) + #800*(y mod 8) )
y=y+1
   endm   
      
y = 0 : .200 yh ; 200 octets, poids fort
y = 0 : .200 yl ; 200 octets, poids faible

Auteur :  majikeyric [ 05 Sep 2015, 12:53 ]
Sujet du message :  Re: SJASMPlus

Merci Overflow! :)

Y a aussi donc une directive de ce style:
.count nomMacro ?

Auteur :  Overflow [ 05 Sep 2015, 13:47 ]
Sujet du message :  Re: SJASMPlus

majikeyric a écrit :
Y a aussi donc une directive de ce style:
.count nomMacro ?
La doc précise pas macro mais:
Code :
.<expression> <code>
          Repeat <code> <expression> once

J'utilise sinon, avec parcimonie (zyeute la doc pour leurs significations):
ALIGN, ASSERT, PHASE & DEPHASE, DISPLAY, MODULE/ENDMODULE, INCBIN, SHELLEXEC, IF/ENDIF et qlq MACRO/ENDM

SJasm+

Auteur :  majikeyric [ 05 Sep 2015, 14:13 ]
Sujet du message :  Re: SJASMPlus

oui!! en plus c'est la première directive qui est expliquée! :twisted:

Page 1 sur 1 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/