CODINGSOURCES ★ CODING Source &010 - Multiplcation ★

Multiplication ( 2 src's )Coding Sources
Solution 1:

;
; INPUT: THE VALUES IN REGISTER B EN C
; OUTPUT: HL = B * C
; CHANGES: AF,DE,HL,B
;
MUL: LD HL,0
LD A,B
OR A
RET Z
LD D,0
LD E,C
LOOP: ADD HL,DE
DJNZ LOOP
RET

Solution 2:

Très gourmand en mémoire , mets extremement rapide

; IN : A and D are to be multiplied
; OUT: HL is result
; CHANGES : AF,BC,E,HL
;
ORG &1000
MUL: LD E,A
SUB D
LD H,MULTAB/256
LD L,A
LD C,(HL)
INC H
LD B,(HL)
LD A,E
ADD A,D
LD L,A
LD E,(HL)
DEC H
LD L,(HL)
LD H,E
OR A
SBC HL,BC
RET
; MULTITAB dois avoir une adresse d'implémentaion ayant un poid
; faible nul ( &xx00 )
ORG &1300
MULTAB: DB 0, 0, 1, 2, 4, 6, 9, 12, 16, 20
DB 25, 30, 36, 42, 49, 56, 64, 72, 81, 90
DB 100, 110, 121, 132, 144, 156, 169, 182, 196, 210
DB 225, 240, 0, 16, 33, 50, 68, 86, 105, 124
DB 144, 164, 185, 206, 228, 250, 17, 40, 64, 88
DB 113, 138, 164, 190, 217, 244, 16, 44, 73, 102
DB 132, 162, 193, 224, 0, 32, 65, 98, 132, 166
DB 201, 236, 16, 52, 89, 126, 164, 202, 241, 24
DB 64, 104, 145, 186, 228, 14, 57, 100, 144, 188
DB 233, 22, 68, 114, 161, 208, 0, 48, 97, 146
DB 196, 246, 41, 92, 144, 196, 249, 46, 100, 154
DB 209, 8, 64, 120, 177, 234, 36, 94, 153, 212
DB 16, 76, 137, 198, 4, 66, 129, 192
DB 0, 192, 129, 66, 4, 198, 137, 76, 16, 212
DB 153, 94, 36, 234, 177, 120, 64, 8, 209, 154
DB 100, 46, 249, 196, 144, 92, 41, 246, 196, 146
DB 97, 48, 0, 208, 161, 114, 68, 22, 233, 188
DB 144, 100, 57, 14, 228, 186, 145, 104, 64, 24
DB 241, 202, 164, 126, 89, 52, 16, 236, 201, 166
DB 132, 98, 65, 32, 0, 224, 193, 162, 132, 102
DB 73, 44, 16, 244, 217, 190, 164, 138, 113, 88
DB 64, 40, 17, 250, 228, 206, 185, 164, 144, 124
DB 105, 86, 68, 50, 33, 16, 0, 240, 225, 210
DB 196, 182, 169, 156, 144, 132, 121, 110, 100, 90
DB 81, 72, 64, 56, 49, 42, 36, 30, 25, 20
DB 16, 12, 9, 6, 4, 2, 1, 0
DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DB 0, 0, 1, 1, 1, 1, 1, 1, 1, 1
DB 1, 1, 1, 1, 1, 1, 2, 2, 2, 2
DB 2, 2, 2, 2, 2, 2, 3, 3, 3, 3
DB 3, 3, 3, 3, 4, 4, 4, 4, 4, 4
DB 4, 4, 5, 5, 5, 5, 5, 5, 5, 6
DB 6, 6, 6, 6, 6, 7, 7, 7, 7, 7
DB 7, 8, 8, 8, 8, 8, 9, 9, 9, 9
DB 9, 9, 10, 10, 10, 10, 10, 11, 11, 11
DB 11, 12, 12, 12, 12, 12, 13, 13, 13, 13
DB 14, 14, 14, 14, 15, 15, 15, 15
DB 16, 15, 15, 15, 15, 14, 14, 14, 14, 13
DB 13, 13, 13, 12, 12, 12, 12, 12, 11, 11
DB 11, 11, 10, 10, 10, 10, 10, 9, 9, 9
DB 9, 9, 9, 8, 8, 8, 8, 8, 7, 7
DB 7, 7, 7, 7, 6, 6, 6, 6, 6, 6
DB 5, 5, 5, 5, 5, 5, 5, 4, 4, 4
DB 4, 4, 4, 4, 4, 3, 3, 3, 3, 3
DB 3, 3, 3, 2, 2, 2, 2, 2, 2, 2
DB 2, 2, 2, 1, 1, 1, 1, 1, 1, 1
DB 1, 1, 1, 1, 1, 1, 1, 0, 0, 0
DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DB 0, 0, 0, 0, 0, 0, 0, 0

https://CPCrulez.fr

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Grafikdemo (CPC Amstrad International)
» Coding Src's » Read or write in record time (Computing with the Amstrad)
» Coding Src's » Schnell gespeichert (Happy Computer)
» Coding Src's » Physikprogramm Ph 10.6 (CPC Amstrad International)
» Coding Src's » 3-D-Würfel (CPC Magazin)
» Coding Src's » Grafiksequenz - Animationssystem (CPC Amstrad International)
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 047 millisecondes et consultée 2013 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.