sprawozdanieAOKII docx











SPRAWOZDANIE

Architektura i Organizacja Komputerów II
Analiza programu
prim.s





Wojskowa Akademia Techniczna













Autor: Rafał Swacha
Grupa:
I9Y3S1

1. Kod źródłowy

;*********** WINDLX Exp.2: Generate prime number table *************

;*********** (c) 1991 Günther Raidl *************

;*********** Modified 1992 Maziar Khosravipour *************


;-------------------------------------------------------------------

; Program begins at symbol main

; generates a table with the first 'Count' prime numbers from 'Table'

;-------------------------------------------------------------------


.data


;*** size of table

.global Count

Count: .word 10

.global Table

Table: .space Count*4


.text

.global main

main:

;*** Initialization

addi r1,r0,0 ;Index in Table

addi r2,r0,2 ;Current value


;*** Determine, if R2 can be divided by a value in table

NextValue: addi r3,r0,0 ;Helpindex in Table

Loop: seq r4,r1,r3 ;End of Table?

bnez r4,IsPrim ;R2 is a prime number

lw r5,Table(R3)

divu r6,r2,r5

multu r7,r6,r5

subu r8,r2,r7

beqz r8,IsNoPrim

addi r3,r3,4

j Loop


IsPrim: ;*** Write value into Table and increment index

sw Table(r1),r2

addi r1,r1,4


;*** 'Count' reached?

lw r9,Count

srli r10,r1,2

sge r11,r10,r9

bnez r11,Finish


IsNoPrim: ;*** Check next value

addi r2,r2,1 ;increment R2

j NextValue

Finish: ;*** end

trap 0



2. Schemat działania

3. Opis programu

Po uruchomieniu program przypisuje rejestrom R1 i R2 odpowiednio wartości 0 oraz 2, po czym przechodzi do punktu NextValue.

NextValue
Do tego punktu program powróci, jeśli sprawdzana liczba nie będzie liczbą pierwszą (zostanie wykonane IsNoPrim). Następuje przypisanie rejestrowi R3 wartości 0, a program rozpoczyna wykonywanie pętli Loop.

Loop
Następuje sprawdzenie równowartości rejestrów R1 i R3. W przypadku odpowiedzi twierdzącej, rejestr R4 przyjmuje wartość 1. Sprawdzane jest czy R4 jest różne od 0. Jeśli tak, program przechodzi do IsPrim

IsPrim
Wartość R2 zostaje zapisana do pierwszego pola w tabeli Table, R1 zwiększa wartość o 1, zaś Count przyjmuje wartość R9. Wartość rejestru R1 trafia do R10 po przesunięciu arytmetycznym w prawo o 2 bity. Program porównuje wartości R9 oraz R10. Jeśli R9 nie jest większe od R10, do R11 przesyłana jest wartość 1. Jeśli R11 nie jest równe zero, program następuje skok do Finish.

IsNoPrim


Finish
Następuje zakończenie wykonywania programu.

4 | Strona



Wyszukiwarka

Podobne podstrony:
Tomasz Zięba L16 MPiS sprawozdanie 7 docx
Oziębło Adrian 14210 sprawozdanie docx
próba rozszerzania metali sprawozdanie docx
Dawid Zięba L16 MPiS sprawozdanie 7 docx
udarność sprawozdanie docx
udarnosc sprawozdanie docx
JERZY JURCZAK SPRAWOZDANIE docx
Sprawozdanie techniczne(bd) docx
Ula SPRAWOZDANIE AUTOMATYKA granica stabilnosci docx doc
Sprawozdanie 6 Analityczne opracowanie pary zdjęć lotniczych (budowa modelu) metodą wiązek przy zast
sprawozdanie skręcanie moje dobrze docx
Sprawozdanie na zarządzanie jakością dominik docx
INZ ELEKT sprawozdanie 7 Marta docx
2 definicje i sprawozdawczośćid 19489 ppt
Bilans Sprawozdawczy wyraz rachunku majątku i kapitału 4
PROCES PLANOWANIA BADANIA SPRAWOZDAN FINANSOWYC H
W 11 Sprawozdania
Wymogi, cechy i zadania sprawozdawczośći finansowej
2 Sprawozdania finansowe jako podstawowe źródło informacji w zarządzaniu finansami

więcej podobnych podstron