A MNOZ5Z1B ASM


;PODPROGRAM MNOZENIA LICZBY 5-BAJTOWEJ Z JEDNOBAJTOWA
;WEJSCIE:
; R0 - ADRES NAJMLODSZEGO BAJTU 5-BAJTOWEJ MNOZNEJ
; R1 - ADRES MNOZNIKA
;WYJSCIE:
; ILOCZYN JEST UMIESZCZANY W MIEJSCE CZYNNIKOW ILOCZYNU, GDZIE
; ZLOZENIE BAJTOW (R0-4):(R0-3):(R0-2):(R0-1):(R0):(R1) DAJE WYNIK
; (R0-4) - BAJT NAJSTARSZY, A R0 I R1 SA WARTOSCIAMI WEJSCIOWYMI ADRESOW
; ZALECA SIE, ABY MNOZNA I MNOZNIK ZAJMOWALY SZESC KOLEJNYCH BAJTOW
; UZYWANE ZASOBY:
; ACC,B,R0,R1,R2,R3,R4,R5,R6,R7
; W DEKLARACJACH ZMIENNYCH ZDEFINIOWAC BEZPOSREDNIE ADRESY REJESTROW JAKO
; R0REG EQU 0
; R5REG EQU 5
; R6REG EQU 6
; R7REG EQU 7
MNOZ5Z1B:
PUSH R0REG
MOV A,@R0 ; 1 BAJT
MOV B,@R1
MUL AB
MOV R7,A
MOV R6,B
MOV R5,#0
DEC R0
MOV A,@R0 ; 2 BAJT
MOV B,@R1
MUL AB
ADD A,R6
MOV R6,A
MOV A,B
ADDC A,R5
MOV R5,A
CLR A
ADDC A,#0
MOV R4,A
DEC R0
MOV A,@R0 ; 3 BAJT
MOV B,@R1
MUL AB
ADD A,R5
MOV R5,A
MOV A,B
ADDC A,R4
MOV R4,A
CLR A
ADDC A,#0
MOV R3,A
DEC R0
MOV A,@R0 ; 4 BAJT
MOV B,@R1
MUL AB
ADD A,R4
MOV R4,A
MOV A,B
ADDC A,R3
CLR A
ADDC A,#0
MOV R2,A
DEC R0
MOV A,@R0 ; 5 BAJT
MOV B,@R1
MUL AB
ADD A,R3
MOV A,B
ADDC A,R2
MOV R2,A
POP R0REG
MOV @R1,R7REG
MOV @R0,R6REG
DEC R0
MOV R1,#R5REG
MOV R6,#4
MN5Z1B1:
MOV A,@R1
MOV @R0,A
DEC R0
DEC R1
DJNZ R6,MN5Z1B1
RET



Wyszukiwarka