ARCH1-ZAD-ASM 2009.pdf

(52 KB) Pobierz
Microsoft Word - ARYT-ZADANIA+ROZW-rev 2008.DOC
Rok II
ARCHITEKTURA KOMPUTERÓW
Lista nr P1
Zapisz w j zyku C++ oraz w j zyku asemblera gnu as (LINUX – składnia AT&T) *) algorytmy:
1. Obliczenie kolejnej liczby Fibonacciego w standardowej (integer) i rozszerzonej precyzji ( N x32b).
2. Obliczenie sumy rozszerzonej precyzji ( N x32b) (> long integer) i jej warto ci bezwzgl dnej.
3. Obliczenie iloczynu rozszerzonej precyzji ( N x32b) liczb naturalnych i liczb całkowitych.
4. Obliczenie ilorazu podwójnej i potrójnej precyzji.
5. Obliczenie pierwiastka kwadratowego z liczby całkowitej na podstawie wzoru na sum m kolejnych
nieparzystych liczb naturalnych: (2 k +1)+(2 k +3)+…+(2 n –1)= n 2 k 2 , n = k + m .
6. Obliczenie NWP liczb naturalnych wg wzoru Euklidesa: je li a > b , to NWP( a, b )=NWP( a mod b, b ).
7. Generowanie liczb pierwszych – „sito Eratostenesa” (usuwanie z listy wielokrotno ci liczby p ).
8. Wyszukanie najwi kszej całkowitej z liczb 1024-bitowych umieszczonych w tablicy ( big endian ):
9. Obliczenie kombinacji C( k,n ): n – liczba z rejestru ecx, k – liczba z rejestru esi, wynik w eax (<2 32 )
według algorytmu C( k,n ) = {[...{[( n /1)*( n –1)/2]*( n –2)/3}*( n –3)/4 .... ]*( n k +1)/( k –1)}*( n k +1)/ k .
A. Obliczenie warto ci liczby zapisanej w konwencji big endian (najwy sza cyfra – pierwszy bajt tablicy)
w tablicy jednowymiarowej kodów ASCII jej kolejnych cyfr: a) dziesi tnych, b) szesnastkowych.
ci d = 0,1,…,9 jest 3 d 16 Kodem litery jest 01 m b 4 b 3 b 2 b 1 b 0 gdzie b 4 …b 0 to numer
dwójkowy litery w porz dku alfabetu łaci skiego (a–1, b–2, …, z–26), m =0 dla liter du ych, 1 dla małych (np. kodem
litery E – jest 010 00101 2 (45 16 )
B. Zapisanie jako tablica kodów ASCII odpowiadaj cych: (i) szesnastkowej, (ii) dziesi tnej reprezentacji
liczby: a) liczby 32-bitowej w kodzie U2 (integer), b * ) liczby całkowitej wielokrotnej precyzji ( N x32b)
zapisanej w konwencji little endian w kolejnych słowach tablicy.
C. Obliczenie metod Newtona: a) odwrotno ci liczby, b) odwrotno ci pierwiastka kwadratowego.
D. Obliczenie w k -bitowym kodzie spolaryzowanym +2 k –1 oraz +(2 k –1 –1): a) sumy i ró nicy dwóch liczb,
b) całkowitej połowy warto ci liczby, c) pomniejszonej o 1 liczby przeciwnej do danej
E. Rozkodowanie argumentu zmiennoprzecinkowego w formacie rozszerzonym ( n – rozmiar argumentu,
k – rozmiar wykładnika w kodzie +(2 k –1 –1)) na wykładnik i mno nik i zakodowanie zwrotne.
F * Obliczenie metod Newtona: a) odwrotno ci liczby, b) odwrotno ci pierwiastka kwadratowego z dan
dokładno ci (2 –p ). Uwaga: znajd metod oszacowania pocz tkowego przybli enia.
G * Emulator mno enia zmiennoprzecinkowego w formacie rozszerzonym ( n >64 – rozmiar argumentu
w bitach, k >15 – rozmiar wykładnika w kodzie +(2 k –1 –1)). * Zaimplementuj schematy zaokr glania.
** Sygnalizuj nadmiar i niedomiar oraz denormalizacj . *** Sprawd argumenty (NaN, niesko czono ).
H * Emulator dodawania zmiennoprzecinkowego w formacie rozszerzonym ( n >64 – rozmiar argumentu
w bitach, k >15 – rozmiar wykładnika w kodzie +(2 k –1 –1)). * Sygnalizuj utrat dokładno ci.
*) Literatura:
1. Linux asm ( www.zak.ict.pwr.wroc.pl - materiały…/Architektura komputerów 2/ laboratorium /programowanie + Linux.
2. H.S.Warren: Uczta programistów, Helion, Gliwice, 2003 (oryginał: Hacker’s Delight, Pearson Education Inc., 2003).
3. J.Bentley: Perełki oprogramowania, WNT, Warszawa, 2001.
4. J.Bentley: Wi cej perełek oprogramowania. Wyznania programisty, WNT, Warszawa, 2007.
© Janusz Biernat, ARYT-ZADANIA+ROZW-rev 2008.DOC’02
11 stycznia 2009
1
Uwaga: kodem cyfry o warto
321135715.001.png 321135715.002.png
Zgłoś jeśli naruszono regulamin