Imię ..........Piotr
Nazwisko ........Lewicki
Wiek ..
Wzrost 72.4409449 inch
Waga ...2574.9728 oz
Narodowość .........Polska

28-05-2010

Assembler – MIPS – Mnożenie macierzy

Filed under: Security — Tagi: , , — Levik @ 17:02

Hej, oto kod prezentujący mnożenie macierzy, na studiach w ramach kursu Architektura systemów komputerowych kodzimy w asemblerze. Na warsztacie mamy mikroporcesor MIPS:

[...]MIPS (Microprocessor without Interlocked Piped Stages) jest to architektura komputerowa (w szczególności procesor typu RISC) rozwijana przez firmę MIPS Technologies. Istnieje zarówno w wersji 32- jak i 64-bitowej.[...]

Procek ten jest 2 na liście najczęściej wykorzystywanych procesorów, a to za sprawą jego komercyjnego sukcesu, chociaż nie tylko. Można go spotkać np. w PSP, albo PS2. =)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
###################################################
#
# Krótkie omówienie: 
# Program mnoży macierze. Poniżej mały przykład, aby zobrazowac ideę zapisu macierzy jako 
# tablicy w asm. (wiersz po wierszu). Należy również podać wymiary macierzy.
#
###################################################
#            ASCII ART <^_^>
#
#	A.       B.		   C.
#	| 1 0 2| |3 1|     |5 1|
#	|-1 3 1| |2 1|  =  |4 2|
#	         |1 0|
#
 
.data
	macierzA: .byte 1,0,2,-1,3,1											
	macierzB: .byte 3,1,2,1,1,0
 
	newLine:  .asciiz "\n"
	spacja :  .asciiz " "
	wynik  :  .asciiz "macierz C:\n"
.text
main:
 
############# WYMIARY MACIERZY ###########
	li $s0,2	# wiersze macierzy A	
	li $s1,3	# kolumny macierzy A	
 
	li $s2,3	# wiersze macierzy B	
	li $s3,2	# kolumny macierzy B	
##########################################
 
	bne $s1,$s2,koniec # aby pomnożyć macierze liczba kolumn macierzy A. musi być równa liczbie wierszy macierzy B. 
 
	move $s4,$s0	   # wiersze macierzy C
	move $s5,$s3	   # kolumny macierzy C
 
	la $t8,macierzA
	la $t9,macierzB
 
	li $v0,4
	la $a0,wynik
	syscall
 
	li $t0,0          # inicjalizacja liczniaka petli
for1:
 
	li $t1,0	   # inicjalizacja liczniaka petli	
	for2:
 
		move $a0,$t8
		move $a1,$t9
 
		jal mnozenie   # wywołanie procedury mnozenie jej kod zostal zaczerpniety z poprzedniego cwiczenia
 
		li $v0,1
		move $a0,$t6
		syscall
 
		li $v0,4
		la $a0,spacja
		syscall
 
		add $t9,$t9,1 # dodajemy jeden aby przejsc na następną kolumne
 
		add $t1,$t1,1
		bne $t1,$s3,for2
 
	li $v0,4
	la $a0,newLine
	syscall
 
	la $t9,macierzB    # ponownie ustawiamy adres macierzy B
	add $t8,$t8,$s1    # dodajemy do adresu liczbę kolumn macierzy a aby przejsc do nastepnego wiersza
 
	add $t0,$t0,1
	bne $t0,$s0,for1
 
koniec:
	li $v0,10
	syscall
 
mnozenie:
	li $t3,0 #licznik petli
	li $t6,0 #wynik
 
for3:
	lb $t4,0($a0)
	lb $t5,0($a1)
 
	mul $t4,$t4,$t5        # mnożenie składowych
	add $t6,$t6,$t4	  # sumowanie wyniku
 
	add $a0,$a0,1	         # przesuwamy sie na nastepny element macierzy A
	add $a1,$a1,$s3	  # przesuwamy sie na nastepny element macierzy B	
 
	add $t3,$t3,1
	bne $s1,$t3,for3
 
jr $ra

Pozdrawiam Levik

24-01-2010

Follow your inner moonlight; don’t hide the madness.

Filed under: Security — Tagi: — Levik @ 01:57

Dziś będzie mrocznie, ponuro, melancholijnie z domieszką pajęczyny i zimnego powietrza dochodzącego zza okna. Tak to już jest jak nie spełnia się swoich własnych oczekiwań, choć wydaje się, że zrobiło się wszystko co w naszej mocy. Nie mniej jednak najgorsze jest przekonanie, że należy się nam coś od świata, Boga czy jakiegokolwiek wyższego absolutu w który przyszło nam wierzyć. Ktoś kiedyś powiedział, że należę do tych ludzi, którzy nigdy nie będą szczęśliwi, czasami obawiam się, że to może być prawda… ale jestem zdrowy, mam kochającą rodzinę, nigdy w moim dotychczasowym życiu niczego mi nie brakowało. Nie dręczyły mnie poważne zmartwienia. Pewnie pomyślisz, że szukam pocieszenia pośród zagmatwanych myśli i natłoku obowiązków i chyba masz rację. Dlatego jeszcze raz postaram się zmobilizować. Poproszę Boga o podmuch wiatru w żagle i ruszę naprzód.

Kolejny post pojawi się zapewne bardzo szybko, a żeby Google zapomniał o tym wpisie jak najszybciej. Mam nadzieję, że ja też o nim zapomnę i to szybko.

Zacząłem czytać książkę „Długi Marsz” bo nic tak nie pomaga Polakowi jak zmartwienia innych o 1000-kroć większe od naszych, ale w tej książce jest coś więcej… tam jest to czego szukam, a może to właśnie jest moje przekleństwo, martyrologiczne podejście do samego siebie. Kurcze muszę zejść na ziemię…

Ostatnimi czasy w wolnych chwilach (czyli raczej bardzo rzadko) oglądam foto-relacje z wypraw w różne zakątki świata. Głównie zaciekawiły mnie górskie wyprawy. Marzy mi się, żeby wyrwać się na chwilę w takie ustronne miejsce i spotkać się z samym sobą „sam na sam”. Zrobiłem nawet tapetkę na poprawę nastroju. Jeśli ktoś ma 1280×800 to „be my guest”

07-01-2010

Fiza „prawie” zaliczona – CosmoVillage – powrót do przeszłości

Filed under: Security — Tagi: , , , — Levik @ 17:19

2010 tak to już 2010… bardzo rzadko piszę, ale nie mam czasu, jeśli już go mam to jestem za bardzo zmęczony. Co nie zmienia faktu, że jest o czym pisać… Dzisiaj miałem ostatnie laborki z fizyki. Jeśli ktoś tam nie był to nie wie co to znaczy. Będę się upierał przy swoim pomimo jakichkolwiek argumentów z zewnątrz. Muszę jeszcze tylko zaliczyć kartkówkę z rachunku niepewności pomiarowych i otrzymam odpowiedni „certyfikat” (czyt. wpis w indeksie).

Święta spędziłem w domu… „to były wyjątkowe święta” jak każde i oczywiście za krótkie. W przyszłym tygodniu mam 5 kolokwiów. Nawet nie wiem jak to jest możliwe i nie wiem jak je wszystkie zaliczę, ale podobno to nieważne grunt to po prostu to zrobić, a jak NIE WIEM. Wątpię, żeby ktoś miał na coś takiego gotowy przepis. Po prostu się zrobi, na razie raczej wszystko idzie po mojej myśli, no ale jak przystało na mnie… wolę nie zapeszać, bo zawsze mogę coś zmalować.

Ostatnio wpadły mi w ręce płytki podpisane „Cosmo Village”, „Uher Team” itp. postanowiłem wrzucić jeden z filmików na youtube’a. Furory to on nie zrobi, bo poziom reprezentowaliśmy raczej przeciętny, ale tak dla własnej satysfakcji „dlaczego nie”. Dobra już się nie usprawiedliwiam.



Dobra kończę bo trzeba jeszcze troszkę pokodzić… Pozdro

- by levik@wp.pl L3VIK -

Jesteś gościem numer - Twój adres IP to: 38.107.179.213