Untitled48

Untitled48



88 10. Arytmetyka mikrokontrolerów

Z przytoczonych form zapisów liczb można wysnuć następujące wnioski:

•    podając wartość liczby należy podać podstawę systemu w postaci pojedynczej litery: dla systemu binarnego B lub b, dla systemu ósemkowego Q lub q lub O lub o, dla systemu dziesiętnego D lub d, a dla systemu szesnastkowego II lub h; w systemie dziesiętnym można pominąć podstawę systemu (podstawa p=10 jest domyślna),

•    w systemie szesnastkowym oprócz cyfr pojawia się 6 dodatkowych liter A..F lub a..f dla oznaczenia wartości z przedziału 10..15,

•    w kodzie binarno-dziesiętnym BCD stosowane są tylko cyfry z przedziału 0..9.

Interpretacja liczb ujemnych zależy od sposobu zapisu znaku i wartości liczby, np. znak-modul, kod uzupełnienia do dwóch itp. 161. W mikroprocesorach przyjęto do zapisu N-bajtowych liczb ujemnych metodę kodu uzupełnienia do 2™. W szczególności liczba ujemna 1-bitowa jest reprezentowana przez uzupełnienie do 2, stąd nazwa kodu. W metodzie tej najbardziej znaczący bit niesie informację o znaku liczby, a pozostałe o jej wartości w kodzie uzupełnienia do dwóch. Jeśli rozpatruje się liczby 8-bitowe to bit by jest bitem znakowym, a bity b^ q są bitami wartości:

+ 3 = 0000 001 lb,    bit by =    0,    liczba    dodatnia

-3 = 1111 llOlb,    bit by =    1,    liczba    ujemna

Zamiana liczby dodatniej na ujemną i odwrotnie (negacja arytmetyczna) dokonywana jest przez negację logiczną wszystkich bitów liczby, a następnie na dodaniu 1. Zamiana liczby +53 na liczbę ujemną realizowana jest następująco:

+53d = 35h = 0011    OlOlb

negacja logiczna:    1100    lOlOb

+1 _1

-53d = OCBh = 1100    101 lb

W praktyce negację arytmetyczną liczby w kodzie uzupełnienia do 2 wykonuje się przez negację logiczną wszystkich bitów po pierwszym bicie niezerowym:

•    testowanie bitów rozpoczyna się od bitu najmniej znaczącego (LSB),

•    pozostawia się niezmienione wszystkie zera oraz pierwszą napotkaną jedynkę,

•    neguje się logicznie wszystkie pozostałe bity.

W systemach mikroprocesorowych do zapisu porcji informacji oprócz bitów stosowane są bajty i słowa (zmienne 16-bitowe). Zakres zmiennych binarnych zależy od liczby bajtów wykorzystanych do zapisu liczby:

zmienna typu:

liczby całkowite bez znaku

liczby całkowite ze znakiem

bajt

0.. 255

-128.. +127

słowo

0.. 65.535

-32.768 .. +32.767

10.1 Instrukcje arytmetyczne - rejestr statusowy PSW

Arytmetyka mikrokontrolerów jest arytmetyką binarną z jednym wyjątkiem, który dotyczy dodawania liczb w kodzie BCD. Zasadnicza grupa instrukcji arytmetycznych związana jest z akumulatorem A. Jeden z argumentów i wynik operacji zawarty jest zawsze w akumulatorze A, z wyjątkiem instrukcji inkrementacji (zwiększania o jeden) i dekrementacji (zmniejszania o jeden) zawartości rejestrów Rn, rejestrów specjalnych SFR oraz komórek wewnętrznej pamięci RAM. Wyjątkiem są również instrukcje mnożenia i dzielenia, z którymi związany jest rejestr B.

Związanie większości instrukcji arytmetycznych z akumulatorem A powoduje, że akumulator jest najbardziej obciążonym rejestrem mikrokontrolera. Również czas wykonania programu, który odwołuje się co chwilę do akumulatora jest długi.

W rejestrze słowa statusowego PSW znajdują się znaczniki (C, AC, OV i P), które zmieniane są w trakcie wykonywania instrukcji arytmetycznych. Przeznaczenie każdego z nich jest inne:

rejestr

PSW


CY AC


FO


RS1


RSO


OV


FI


adres

ODOh


• znacznik przeniesienia C sygnalizuje przekroczenie zakresu (O..OFFh) 8-bitowych liczb całkowitych bez znaku w operacji dodawania i odejmowania oraz przekroczenie zakresu 0..99d przy operacji korekcji dziesiętnej. Oznacza przeniesienie między kolejnymi dodawanymi bajtami lub pożyczkę przy wielobajtowym odejmowaniu.


Wyszukiwarka

Podobne podstrony:
Untitled49 90 10 Arytmetyka mikrokontrolerem Jeśli wykonane zostanie dodawanie dwóch zmiennych 1-baj
Untitled51 94 10. Arytmetyka mikrokontrolcrói 94 10. Arytmetyka
Untitled52 96 10. Arytmetyka mikrokontrolerów różnić się więcej niż o -128 .. +127 w stosunku do adr
Untitled54 100 10. Arytmetyka mikrokontrolerów! Jeżeli operacje dzielenia dotyczą potęgi 2 (np.
Untitled50 92 10. Arytmetyka mikrokontrolen Znacznik C jest przeniesieniem między kolejnymi bajtami.
Untitled55 102 10. Arytmetyka mikrokontrolerów Korekcja dziesiętna A7 Ą : 0110 OOOOb Suma: A = 80h =
Untitled53 98 10. Arytmetyka mikrokontrolerów rozpoczynającego się od etykiety Duży jeśli A > 2Eh
0 (10) 181 W formie do przetwórstwa tworzyw termoplastycznych można wyróżnić następujące układy
szczeki 10 Jfirg A. Auera) Wewnątrzustne metody ustalenia złamania Można używać następujących rodza
Untitled53 98 10. Ary tmetyka mikrokontrolerów rozpoczynającego się od etykiety Duży jeśli A > 2E
Untitled50 92 10. Ar metyka mikrokontrolerów Znacznik C jest przeniesieniem między kolejnymi bajtami
UNTITL16 Diagram 1.10 Wpływ nachylenia w przypadku klinów (a. b) i wachlarzy (c). od Wcos 0 (dla war
UNTITL61 10 rozszyfrować rysek ale jak już zauważono, można wybrać mniej liczebną próbę, dającą niżs
Untitled Scanned 10 2 Bald ist Weifonacfoten^ dt łw+tif* lich curt GSol* ochcm *)r 4*-* hmm bf^fCAt.

więcej podobnych podstron