begin process at 2012 05 25 11:34:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Processeurs

 > 

68XXX

 > 

Multiplication sans MULU motorola 68000


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Multiplication sans MULU motorola 68000

samedi 23 mai 2009 à 15:44:17 | Multiplication sans MULU motorola 68000

sliks

salut voila ma question comment faire
la Multiplication de deux chiffres de 16 bits le résultat sur 32 bits (non signé) sans l'instruction MULU
pouvez vous m'aidez a écrire un programme pour le motorola 68000 qui fait ca
merci d'avance
jeudi 20 août 2009 à 08:42:27 | Re : Multiplication sans MULU motorola 68000

ArnaudFabry

Membre Club

Salut,

Me voila revenu 20 ans en arrière lorsque je programmais mon Amiga.
Il va donc falloir que je creuse dans ma petite tête.


Pour multiplier x par y sans utiliser MULU, tu peux peut-être faire une boucle de type :

z=y
x=x-1
Deb:
x=x-1
y=y+z
si x<>0 alors aller en deb

Je te laisse le soin de transformer ça en instructions 60xxx.


Mais au fait pourquoi ne veux-tu pas utiliser MULU ?
Sur quoi programmes-tu ?


A+


Arnaud

vendredi 21 août 2009 à 17:15:40 | Re : Multiplication sans MULU motorola 68000

ArnaudFabry

Membre Club

Re-Bonjour,

Voici une autre méthode plus optimisée.

On cherche à multipliser D1 avec D2 résultat dans D3

D3=0
bcl :
si (bit0 de D1)=1 alors
D3=D3+D2
fin si
Decaler d'un bit vers la droite D1
Decaler d'un bit vers la gauche D2
si D1 non nul alors goto Bcl
fin:

Si tu le codes en 68000 je veux bien voir le source.
A+

Arnaud

mercredi 26 août 2009 à 23:51:44 | Re : Multiplication sans MULU motorola 68000

ArnaudFabry

Membre Club


Et enfin en 68000
d3 = d1 * d2




Code :
run:


'on charge des valeurs
move.w #10,d1
move.w #20,d2

'on s'assure qu'on travaille que sur des 16 bits
and.l #$0000FFFF,d1
and.l #$0000FFFF,d2
'on met a 0 le registre de resultat
clr.l d3

Boucle:
btst #0,d1
beq Suivant
'le bit0 de d1 n'est pas a 0 donc on ajoute d2 a d3
add.l d2,d3

Suivant:
'et on decale d1 de 1 bit vers la droite
lsr.l #1,d1
'on multiplie d2 par 2 en le decalant d'1 bit vers la gauche
lsl.l #1,d2


cmpi #0,d1
'on recommence tant que d1 n'est pas a 0
bne Boucle

rts


Arnaud



Cette discussion est classée dans : multiplication, bits, motorola, mulu


Répondre à ce message

Sujets en rapport avec ce message

asm 16 bits vers asm 32 bits [ par trinitacs ] Pouvez me traduire cet asm 16 bits en asm 32 bits:asm{ MOV AX, variable int 0x10}C'est pour activer le mode VGA.merci Placer là "partie basse" d'un registre 32 bits dans un registre 16 bits ??? [ par Otaku ] Salut, tout est dans le titre, comment faire pour placer la partie basse (LOWWORD) d'une valeur stockée dans le registre EAX dans un registre 16 bits TDASM,NDASM,NDASM32 ????? [ par Bombela ] Salut !!Je commence la prog Asm.Je connais déja Delphi et Le turbo pascal.Je ne sais que prendre comme compilateur.Mais je suppose que les 16 bits mar je veux faire une multiplication sur 64bit [ par falcon007de ] je programme avec masm 5.11 est je veux faire une multiplication sur 64bit ou plus s´il le fautdivision aussi sur 64bitdefinire des variable sur 64bit Petite question... [ par did2604 ] Bonsoir,Que signifie exactement la notation crochet en assembleur ? Je m'explique, par exemple : mov cl,[bx], je suppose que ce n'est pas un move ordi REP SCASB 32 bits [ par Bombela ] S'lut !J'arrive pas à utiliser REP SCASB en 32 bits.La boucle ne s'efectue qu' une fois dans tous les cas...Un exemple :STD ; on incrémentemov ecx, 10 Win32 et INT [ par Stormy ] Peut-on intégrer dans un code 32 bits traditionnel, une portion utilisant les registres 16 bits avec usage des interruptions DOS? Merci pour vos répon Division par 5 avec PIC [ par lionel57 ] Bonjour,Je suis débutant dans la programmation des PIC et j'aurait besoin d'aide pour élaborer une routine qui permet de diviser une varaible N de 16 Quel assembler choisir? [ par yandre100 ] Bonjour tout le monde. Je dois me mettre a l'assembler. J'ai un ordinateur portable pentium 4 avec windows xp installe.Peut on cataloguer les progra help me [ par theyoupione ] j'ai écri un ptit prog dont voici un extrait permettant d'envoyer un octet vers liaison série mais j'ai un pb lors de la compilation avec mplabl'erreu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,012 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales