254 255

254 255



25 4

6.4* PROGRAMOWANIE MIKROKOMPUTERÓW

Dla połączonego i przetestowanego systemu mikroprocesorowego (mikrokomputera) trzeba napisać program czyniący go żądanym układem cyfrowym. Programowanie jest sztuką, w której nabiera się biegłości uruchamiając własne lub analizując cudze poprawne programy. Zazwyczaj jego celem jest napisanie programu rozwiązującego postawione zadanie w minimalnym czasie lub przy minimalnej pojemności pamięci. Tutaj ograniczymy się zasadniczo do pierwszego stopnia wtajemniczania» omawiając na przykładach zagadnienia elementarne.

6*4.1. Programy w języku maszynowym

Program rozumiany i bezpośrednio realizowany przez jj.P 6080 ma postać sekwencji 8-bitowych liczb dwójkowych, będących zakodowanymi rozkazami z podanej poprzednio listy. Jak pamiętamy, program taki nazywamy programem w języku maszynowym. Jego przygotowanie jest bardzo uciążliwe i znacznie wygodniej jest posługiwać się symbolami literowymi, będącymi mnemoniczny-mi skrótami nazw rozkazów. Większość rozkazów oprócz swego symbolu wymaga podania operaadów (rejestrów, adresów, danych itp.). Operandy te wpisujemy dużymi literami lub liczbami w miejsce ich symboli podanych w liście rozkazów małymi literami. Liczby możemy podawać w kodzie dziesiętnym lub szesnastkowym, w tym ostatnim przypadku dodając po liczbie literę H (He-xadecimal). Poniżej podano przykłady symbolicznego zapisu rozkazów i odpowiadających mu liczb dwójkowych.

M0V A, B

01111000

ADI 5

11000110

00000101

JZ 00C8H

11001010

11001000

00000000

LXI H.27AEH

00100001

00100111

10101110

Program napisany w postaci symbolicznej musi być przed wprowadzeniem do pamięci komputera zamieniony na liczby dwójkowe. Jest to operacja bar-r-dzo prosta, bowiem każdemu rozkazowi zapisanemu w postaci symbolu i ope-randów odpowiadają jedna, dwie lub trzy liczby dwójkowe wg ustalonego przepisu. Tłumaczenia dokonuje zazwyczaj odpowiednio zaprogramowany komputer.

Przed napisaniem programu wygodnie jest przedstawić algorytm rozwiązania w postaci tzw. sieci działań. Sieć działań jest diagramem opisującym przebieg wykonywania programu w czasie. Podstawowe symbole występujące w sieci działań przedstawiono na rys. 6.10.

Sieć działań dekomponuje postawione zadanie na zespół podzadań, które łatwiej ogarnąć myślowo, a więc łatwiej zaprogramować. Oczywiście można tworzyć kolejne, coraz bardziej szczegółowe wersje sieci działań. Procesu tejo nie opłaca się jednak posuwać za daleko, gdyż narysowanie sieci

UJ


WPROWADZENIE LUB WYPAOWADtENIE DANYCH

OPERACJA LUB GRUPA OPERACJI , MP, LlClENlE , PRZESYŁANIE

HV


o


255


c


D


01KAC1ENIE MIEJSCA ROEPOCt^ClA , lAKONCUNO LUB PftlERWANIA WYKONWANIA PROGRAMU


TAK    ROIGAŁE1IEHSE. lALEZHlt ,00 SPEŁNIENIA WARUNKU WPISANEGO

W ROMB PROGRAM MA 8VĆ KONTYNUOWANY W JEDNYM l KIERUNKÓW.

Rys. 6.10, Ważniejszo symbole występujące w sieci działań

działań, z której jednoznacznie wynikają poszczególne rozkazy programu jest co najmniej tak samo pracochłonne jak jego bezpośrednie napisanie. Stąd też, najczęściej sieć działań zajmuje się tylko podstawowymi operacjami logicznymi i arytmetycznymi programu nie wnikając w szczegóły i stanowi pomost pomiędzy słownym opisem metody rozwiązania zadania a opisem formalnym, jakim jest program.

Przykład 6,1

Przygotować program dla ^.P 8080 czyniący go układem kombinacyjnym realizującym funkcję logiczną 8 zmiennych:

f (x^ ,X2    ,Xr7 ,Xg) ~ x^x+ ^2'^6^‘7'^8 + ^5^5

Procesor wczytuje wartość 8 zmiennych x^ - Xq rozkazem IN, a wynik wyprowadza na zewnątrz rozkazem OUT.

Sieć działań dla tego zadania może mieć postać jak na rys. 6.11. Przystępując do pisania programu zastanówmy się, jak sprawdzać warunki podane w blokach rozgałęzień. Np. sprawdzenie uarunku = 1 i x^ = 1 i x^=0 wymaga porównania bitów reprezentujących zmienne x^,X2,x^ % liczbą odniesienia 110. Ponieważ rozkazy CŁ!P i CPI działają na wszystkich ośmiu bitach, nieistotne w danym przypadku bity należy zamaskować i porównywać liczby x^x2Zx/fZZZZ i 11Z0ZZZZ, gdzie Z oznacza bit zamaskowany. Przy operacji porównania maskowanie polega na zrównaniu odpowiadających sobie bitów, np. przez ich wyzerowanie. Oznacza to, że dla sprawdzenia rozpatrywanego warunku należy wczytaną liczbę pomnożyć logicznie przez 11010000 a następnie porównać z liczbą 11000000. Program działający według tej zasady wygląda następująco.


Wyszukiwarka

Podobne podstrony:
254 255 25 4 6.4. PROGRAMOWANIE MIKROKOMPUTERÓW Dla połączonego i przetestowanego systemu mikroproce
top avrgcc XVZ HOBBY ROBOT xyz.isgreat.orgKURS Programowania mikrokontrolerówAYI? Dla entuzjastów ro
kurs600x100 KURS Programowania mikrokontrolerówAY9 Dla entuzjastów robotyki :)
s179 Rozdział 13Poczta elektronicznaAutor: Bill Bali Programy obsługi poczty elektronicznej dla połą
61 (95) ProjektowaniePierwszy program Pierwszym programem napisanym dla mikrokontrolera w nowym ukła
14 SWB - Programowanie mikrokontrolerów - wykład 10a®*Dyrektywy asemblera Polecenie dla kompilatora,
Kompendium4 25. Dolegliwości związane z zespołem cieśni kanału nadgarstka Zalecane programy zabiego
Program 11 Schemat połączenia diody LED do linii PBO portu B mikrokontrolera oraz przycisku SI do li
254 255 (6) (podobnie jak pitagorejczycy; por. frg. D 3 n.) „anarchię za największe zło dla ludzi *
254 255 I;w warunkach nfeprfnef informacji5.1. Wprowadzenie W dotychczas rozpatrywanych zagadnieniac
254 255 254 14. Tablice i nomogramy Tablica 14.2. c.d. Zestawienie współczynników oporów miejscowych
higeina 21 Przykłady programu świetlnego dla kurcząt-brojlerów Wiek Godzin światła na
ig 05 08 Filtry trasy wejściowej dla Połączenie lokalnejji<i Akcja: C Zezwalaj na używanie wszyst
ig 05 15 Filtry usługi wejściowej dla Połączenie lokalne -U-*! Akcja: C Zezwalaj na używanie wszystk

więcej podobnych podstron