Code : Tout sélectionner
CLR W2
CLR W3
CLR W6
CLR W7 ;raz registre
MOV #0XE100,w0
MOV #0x05F5,W1 ; charge le diviseur (100 000 000)
DO #28,4f
BCLR SR,#C
RlC NBHEX
RlC NBHEX+2
RlC NBHEX+4
RlC W2,W2 ;précharge le dividende
RlC W3,W3
4:
NOP
DO #18,3f
BCLR SR,#C
RlC NBHEX
RlC NBHEX+2
RlC NBHEX+4
RlC W2,W2
RlC W3,W3 ;charge le dividende
SUB W2,W0,W4
SUBB W3,W1,W5 ;on divise par le diviseur
BCLR SR,#C
BRA LE,fini ;extraction de la partie entière
EXCH W3.W5
EXCH W2,W4
BSET SR,#C
fini:
RLC W6,W6 ;W7:W6 partie entier W3:W2 partie dec
RLC W7,W7
3:
NOP
c'est sur bout de code que j'aimerai que l'on travaille si tu veux bien j'ai déjà bien raccourci avec les rotations a gauche (précharge) la division se fait en 497 cycles pour 64 octets de mem.
A+
bon je renonce sur le tabulation 4 fois c'est trop :mrgreen:



