; ; Multiplication d'un nombre par 10, par 80, par 100 ; par 1000 puis division du nombre *1000 par 7. ; ; auteur: Bernard Martin ; courriel: martin.bernard@uqam.ca ; date: Hiver 2011 ; cours: INF2170 ; *********************************************************** ; a) multiplication d'un nombre lu � l'�cran par 10 ; en multipliant ce nombre par 4 ; et en additionnant le nombre lu ; puis en multipliant le tout par 2 ; (nombre * 4 + nombre ) * 2 ; ; b) multiplication du nombre lu par 80 ; en multipliant le nombre lu par 10 ; et en le multipliant par 8 ; (nombre * 10) * 8 ; ; c) multiplication du nombre lu par 100 ; en multipliant le nombre lu par 16 ; et en additionnant le nombre lu multipli� par 8 ; puis en additionnant le nombre lu ; puis finalement, en multipliant le tout par 4 ; (nombre * 16 + nombre * 8 + nombre) * 4 ; ; d) multiplication du nombre lu par 1000 ; par additions successives ; ; e) division du (nombre lu * 1000) par 7 ; par soustractions successives ; a) multiplication par 10 STRO demande,d DECI nombre,d STRO message,d DECO nombre,d CHARO 10,i ; saut de ligne LDA nombre,d ASLA ; * 2 ASLA ; * 4 ADDA nombre,d ; * 5 ASLA ; * 10 STA resultat,d DECO resultat,d ; nombre * 10 CHARO 10,i ; saut de ligne ; b) multiplication par 80 LDX nombre,d ASLX ; * 2 ASLX ; * 4 ADDX nombre,d ; * 5 ASLX ; * 10 ASLX ; * 20 ASLX ; * 40 ASLX ; * 80 STX resultat,d DECO resultat,d ; nombre * 100 CHARO 10,i ; saut de ligne ; c) multiplication par 100 LDX nombre,d ASLX ; * 2 ASLX ; * 4 ASLX ; * 8 STX resultat,d ASLX ; * 16 ADDX resultat,d ; * 24 ADDX nombre,d ; * 25 ASLX ; * 50 ASLX ; * 100 STX resultat,d DECO resultat,d ; nombre * 100 CHARO 10,i ; saut de ligne ; d) multiplication par 1000 par additions successives LDX nombre,d ; Faire"nombre" tours de boucle LDA 0,i ; Initialiser l'accumulateur addition:ADDA 1000,i SUBX 1,i BRNE addition ; Faire un autre tour si non nul STA resultat,d DECO resultat,d CHARO 10,i ; saut de ligne ; e) division enti�re positive, calcul du quotient et du reste ; par soustractions r�p�titives LDA resultat,d ; dividende LDX 0,i ; quotient soustrai:ADDX 1,i SUBA diviseur,d BRGE soustrai SUBX 1,i ADDA diviseur,d STX quot,d STA reste,d DECO quot,d CHARO ";",i DECO reste,d STOP demande: .ASCII "Entrez le nombre � multiplier: \x00" message: .ASCII "\nVoici le nombre qui sera multipli� par 10, 80, 100 et 1000" .ASCII "\npuis multipli� par 1000 / 7: " resultat:.WORD 0 nombre: .WORD 0 quot: .WORD 0 reste: .WORD 0 diviseur:.WORD 7 .END