Dzielenie liczb na procesorze Z80


Temat: Dzielenie liczb na procesorze Z80

Skład grupy:

Paweł Wyszyński

Arkadiusz Żanowski

Zadanie:

Zamodelować program realizujący dzielenie dwóch liczb dodatnich bez znaku.

Dla zrealizowania zadanego zadania zakładam, że:

Algorytm dzielenia można sformułować w następujący sposób:

  1. Testuj najmniej znaczący bit dzielnika. Jeżeli jest on równy 0, przejdź do 2). Jeżeli jest równy 1, odejmij dzielnik od najbardziej znaczącego bajtu wyniku.

  2. Przesuń 2-bajtowy wynik o jeden bit w lewo

  3. Powtórz 1) i 2) tyle razy, aby wszystkie bity dzielnika zostały przetestowane.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Algorytm dzielenia graficzny

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

Program dzielenia z opisami:

################################################################################

# #

# Micro Series Z80 Assembler V1.25/MD1 14/Apr/99 17:30:37 #

# #

# Source = c:dziel.s01 #

# List = c:dziel.lst #

# Object = c:dziel.r01 #

# Options = #

# #

# (c) Copyright IAR Systems 1984 #

################################################################################

1 ;dzielenie liczb dzielna 16 bitowa dzielnik 8 bitowy

2 ;B - najbardziej znaczący bit C-najmniej znaczący bit

3 ;D-dzielnik

4 ;WYNIK dzielenia - C, reszta z dzielenia - B

5 ;E - rejestr pomocniczy

6

7

8 0000 1E09 ld e,9 ;inicjalizacja licznika bitów w rejestrze pomocniczym

9 0002 78 ld a,b ;najbardziej znaczący bit dzielnika do akumulatora

10 0003 start:

11 0003 47 ld b,a ;zawartość a do b

12 0004 79 ld a,c ;najmniej znaczący bit dzielnej do akumulatora

13 0005 17 rla ;przesuń akumulator w lewo (najmniej znaczący bit

14 ;dzielnika)

15 0006 4F ld c,a ;zawartość akumulatora zapisz do c

16 0007 1D dec e ;zmniejsz o 1 licznik bitów

17 0008 CA1500 jp z,p1 ;jeśli licznik=0 to skocz do p1

18 000B 78 ld a,b ;najbardziej znaczący bit dzielnej do akumulatora

19 000C 17 rla ;przesuń w lewo a (najbardziej znaczący bit dzielnika)

20 000D 92 sub d ;odejmij od a zawartość d (dzielnik)

21 000E D20300 jp nc,start ;jeśli CY=0 to skocz na start

22 0011 82 add a,d ;jeśli nie to dodaj do a zawartość d (dzielnik)

23 0012 C30300 jp start ;skocz na start

24 0015 p1:

25 ;p1 jest wykonywane dopiero po przetestowaniu

26 ;wszystkich bitów

27

28 0015 17 rla ;przesuń a w lewo

29 0016 5F ld e,a ;zawartość a do e (rejestr pomocniczy)

30 0017 3EFF ld a,255 ;do a wpisz wartość 255 (FFh)

31 0019 A9 xor c ;dodaj modulo 2 zawartość c do akumulatora

32 001A 4F ld c,a ;zawartość a zapisz do c (wynik dzielenia)

33 001B 7B ld a,e ;zawartość e (rejestr pomocniczy) do akumulatora

34 001C 1F rra ;przesuń w prawo akumulator

35

36 001D 76 halt

37 001E end

Errors: None #########

Bytes: 30 # dziel #

CRC: F53C #########

Algorytm programu wzorowany jest na algorytmie mnożenia dwubajtowego realizowanego w toku poprzedniego laboratorium z tą różnicą, że:


Laboratorium

z

Techniki Mikroprocesorowej

Temat: Dzielenie liczb na procesorze Z80.

Skład grupy:

Paweł Wyszyński

Arkadiusz Żanowski

START

Sprawdź, czy najmniej znaczący bit dzielnika, jest ...

Przesuń dwubajtowy wynik o 1 bit w lewo

Odejmij dzielnik od najbardziej znaczącego bajtu wyniku

Sprawdź, czy jest to ostatni bit ?

Testuj następny bit !

Koniec !!!



Wyszukiwarka

Podobne podstrony:
dzielenie liczb typu 800 na 10, nauczanie zintegrowane
zadania tekstowe na dzielenie liczb, średnia
Jak emocje wplywają na procesy poznawcze
2 2 indentyfikacja wplywu logistyki na procesy gospodarczeid 20042 ppt
Piesni maryjne na procesje do druku
Wpływ cukru na proces starzenia
Jaki parametr procesu otrzymywania MgO ma istotny wplyw na proces uwadniania spoiw magnezjowych
Modulacja i detekcja, 6.3.3. ab, BADANIE WPŁYWU AMPLITUD SYGNAŁÓW NA PROCES MODULACJI AM
Dzielenie celu na etapy
Wpływ hormonow na procesy metaboliczne w kościach, 2013
Znaczenie jazdy rowerowej na proces rehabilitacji
Leki wpływające na proces krzepnięcia
21- Jak sformatować dysk twardy i podzielić go na partycje, Formatowanie dysku twardego i dzielenie
Formatowanie dysku twardego i dzielenie go na partycje
Formatowanie dysku twardego i dzielenie go na partycje, Porady dla każdego

więcej podobnych podstron