bonjour à tous,
dans la doc de rmac, j'ai récupéré les conditions de test pour le GPU et le DSP :
;-------------------------
;CC (Carry Clear) = %00100
;CS (Carry Set) = %01000
;EQ (Equal) = %00010
;MI (Minus) = %11000
;NE (Not Equal) = %00001
;PL (Plus) = %10100
;HI (Higher) = %00101
;T (True) = %00000
;-------------------------
étant habitué au 68000 et ses bge / ble etc je m'interroge sur la possibilité de faire des tests avec plus grand ou égal / plus petit ou égal
a priori pl intègre le zéro, c'est a dire qu'il semble être plus grand ou égal ?
parce que ça, ça me semble tout cracra :
jump mi,(saut_pas_de_collision)
nop
jump eq,(saut_pas_de_collision)
nop
( même si ça fonctionne )
impressive !
merci beaucoup
j'avais noté ça
.GPU
LT ccdef %11001
GT ccdef %10101
GE ccdef %10100 ; PL
LE ccdef %11000 ; MI
Oui bien sûr, tu peux faire ça (sauf quand l'un des deux est une valeur immédiate), ou alors tester la condition opposée. "Impossible" veut simplement dire que ça n'est pas supporté directement sous cette forme.
Par contre à ma connaissance, il n'y a pas de conditions qui permettent des comparaisons signées sur le GSP et le DSP.
Quant à PL et MI, ils testent le MSB (pas le carry), ce n'est pas ce qu'il faut pour faire des comparaisons non signées.

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT TurboOui, tant que les nombres sont suffisamment petits (et donc qu'il n'y a pas de différence entre la valeur du MSB et celui du carry), ça doit fonctionner quand même.

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT Turbo