All pastes #432989 Raw Edit

discovery

public text v1 · immutable
·published 2007-04-10 15:19 UTC
rendered paste body
;wejscie r2,r3,r4,r5 ;3 bajty-r2,r3,r4
;komorka r6 jest pomocniczna, do przechowywania pol-wynikow
; 12 34 56 | r4 r3 r2
;*      12 |*      r5
mnozenie:
	mov a,r2	;[56h]
	mov b,r5	;[12h]
	mul ab		;[b=06h, a=0ch]
	mov r2,a	;w r2 jest juz najmlodszy bajt (0) wyniku ! [0ch]
	mov r6,b	;mlodsza czesc bajtu 1 [06h]
	mov a,r3	;[34h]
	mov b,r5	;[12h]
	mul ab		;[b=03h, a=a8h, r6=06h]
	push acc	;przechowanie wyniku
	anl a,#08h	;usuniecie starszej czesci bajtu [a=08h]
	add a,r6	;wynik mlodszej czesci bajtu 1 (08h+06h) [0eh]
	mov r6,a	;zapisanie wyniku do rej. pomoc.
	pop acc		;[b=03h, a=a8h, r6=0eh]
	anl a,#80h	;usuniecie mlodszej czesci bajtu [a=a0h]
	anl a,r6	;polaczenie bajtu (1) [a=aeh]
	mov r3,a	;w r3 jest juz bajt (1) wyniku ! [aeh]
	mov r6,b	;mlodsza czesc bajtu 2 [03h]
	mov a,r4	;[12h]
	mov b,r5	;[12h]
	mul ab		;[b=01h, a=44h, r6=03h]
	push acc
	anl a,#08h	;usuniecie starszej czesci bajtu [a=04h]
	add a,r6	;wynik mlodszej czesci bajtu 2 (04h+03h) 
	mov r6,a	;zapisanie wyniku w rej. pomocniczym
	pop acc		;[b=01h, a=44h, r6=07h]
	anl a,#80h	;usuniecie mlodszej czesci bajtu [a=40h]
	orl a,r6	;polaczenie bajtu (2) [a=47h]
	mov r4,a	;w r4 jest juz bajt (2) wyniku ! [47h]
	mov r6,b	;mlodsza czesc bajtu 3 [01h]
	mov r5,b	;w r5 jest juz najstarszy bajt (3) wyniku ! [01h]
	ret
	
	END