Asembler MCS51. Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę: na przykład: tuskocz:adda,r0 ;dodanie.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Tworzenie stron internetowych
Rekurencja 1 Podprogram lub strukturę danych nazywamy rekurencyjną, (recursive subprogram, recursive data structure) jeżeli częściowo składa się z samej.
Wprowadzenie do języka skryptowego PHP – cz. 2
typy całkowite (całkowitoliczbowe)
HTML.
CPU.
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów,
11 Poprawne modele zawartości. Zarządzanie zmianami struktury.
Poprawne modele zawartości. Zarządzanie zmianami struktury. 30 października 2003.
Procesor DSP Sharc ADSP21161 firmy Analog Devices
Mapa pamięci mikrokontrolera
Podstawowe składniki funkcjonalne procesora i ich rola.
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Struktury.
Wykład 2 struktura programu elementy języka typy zmienne
Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.
EXCEL podstawy (C) W.K
Wprowadzenie do programowania w języku Turbo Pascal
Arkusz kalkulacyjny Excel
Język SQL (Structured Query Language) DDL (Data Definition Language)
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Technika Mikroprocesorowa 1
Asembler AVR.
MCS51 - wykład 2.
MCS51 - wykład 6.
OPRACOWAŁ : KONRAD MIGAŁA iz krótki tekst Krótki tekst Do formatowania tekstu użyjemy znacznika jest to znacznik który umożliwia utworzenie akapitu.
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
Architektura komputerów
ETO w Inżynierii Chemicznej
TABLICE C++.
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
Formuły i funkcje w excelu
Otwieranie elementów w różnych ramkach
ANNA BANIEWSKA SYLWIA FILUŚ
Podstawy programowania w języku C i C++
Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę: na przykład: tuskocz:adda,r0 ;dodanie do akumulatora.
Technologie informacyjne EXCEL I
Technologie informacyjne EXCEL I
Andrzej Repak Nr albumu
MAKRA 1.
Korespondencja seryjna
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Temat 12: Formularze.
Podstawy języka Instrukcje - wprowadzenie
Aplikacje internetowe Projektowanie formularzy Część 2.
Podstawy HTML RAMKi. Ramki Za ich pomocą możesz swobodnie podzielić okno przeglądarki na kilka części i w nich niezależnie przeglądać dokumenty. Ramki.
Aplikacje internetowe
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
TEMAT: WPROWADZENIE DO ARKUSZA KALKULACYJNEGO EXCEL
Procesor, pamięć, przerwania, WE/WY, …
Portal edukacyjny A.Ś. FORMULARZE W JĘZYKU HTML. Portal edukacyjny A.Ś. Obiekty umieszczane na stronach www Teksty Obrazy Odnośniki Tabele Ramki pływające.
Architektury procesorów rdzeniowych mikrokontrolerów.
Opracowanie mgr Karol Adamczyk
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Tryby adresowania i formaty rozkazów mikroprocesora
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Filtrowanie, Funkcje bazodanowe
„Filtry i funkcje bazodanowe w EXCELU”
Do czego służy arkusz kalkulacyjny, jego budowa
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
ETO w Inżynierii Chemicznej
Formuły i funkcje w excelu
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Format rozkazu Tryby adresowania.
Adresowanie bezklasowe Podział sieci na podsieci
Zapis prezentacji:

Asembler MCS51

Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę: na przykład: tuskocz:adda,r0 ;dodanie do akumulatora liczby z R0 movr6,a ;odeslanie sumy do R6 Asembler MCS51 2/14

gdzie: - obszar o szerokości min. 1 znaku, przeznaczony na wpisywanie identyfikatorów tzw. etykiet po etykiecie musi występować dwukropek i spacja (': '), oddzielają on wtedy etykietę od pozostałej zawartości linii i zwiększają czytelność programu; - obszar przeznaczony na wpisanie symbolicznej nazwy rozkazu; w polu tym wpisuje się także tzw. dyrektywy asemblera (patrz dalej); Asembler MCS51 3/14

gdzie-c.d.: - obszar, którego wypełnienie jest opcjonalne - zależne od wymagań wpisanego w rozkazu, pole to jest przeznaczone na listę argumentów rozkazu; - opcjonalny obszar, którego początek jest identyfikowany przez znak średnika (‘;’), jest on przeznaczony do wpisywania dowolnego tekstu objaśniającego działania realizowane przy pomocy użytych rozkazów mikroprocesora; w szczególnym przypadku komentarz może zaczynać w dowolnym miejscu linii programu, także od pierwszej kolumny (z pominięciem pozostałych pól). Asembler MCS51 4/14

Przeznaczenie etykiet: 1. Identyfikatory adresów w przestrzeni adresowej procesora - wskazują: adresy skoków, np: tutaj: add A,P0 adresy początkowe wywoływanych procedur, np: acall dod3B ;dodaj liczby 3-bajtowe adresy początkowe struktur danych, np: tablica1: db 12,234,0,11 ;tablica liczb 1-bajtowych Asembler MCS51 5/14

Przeznaczenie etykiet: 2. Identyfikatory stałych programowych, - ułatwia to ich użycie w tekście programie - zwiększenie czytelności programu, np: CR EQU 13 ;definicja znaku ASCII 3. Identyfikowanie zmiennych programowych, poprzez przypisanie im np. dyrektywą EQU adresu początkowego, np: data EQU 70h ;zmienna przechowujaca dzien mies..... mov r1,#data ;R1<-adres zmiennej ‘data’ Asembler MCS51 6/14

Stałe: są to wartości liczbowe lub znakowe zdefiniowane na etapie asemblacji programu lub pobierane z innych programów w procesie łączenia (linkowania). Przykłady: stałaznaczenie reprezentacja binarna ‘A’pojedynczy znak ASCII41h ‘tekst’ciąg znaków ASCII74h,65h,6Bh,73h,74h 787, 787Dliczba dziesiętna0313h 10011Bliczba binarna13h 2AFhliczba szesnastkowa02AFh 2A0Hliczba szesnastkowa02A0h 0F00hliczba szesnastkowa0F00h 0x2AF, $2AFliczba szesnastkowa02AFh 0457liczba ósemkowa012Fh 457Q, 457q liczba ósemkowa012Fh 457O, 457oliczba ósemkowa012Fh identyfikatoro przypisanej wartościzgodna z wartością Asembler MCS51 7/14

Wykorzystanie wyrażeń Przykładowo, zamiast sekwencji deklaracji: zmienna1 equ4500h zmienna2 equ4502h zmienna3 equ4504h zmienna4 equ4508h możemy zapisać: zmienna1 equ4500h zmienna2 equzmienna1+2 zmienna3 equzmienna2+2 zmienna4 equzmienna3+4 Wynik asemblacji - taki sam, ale przy drugim zapisie łatwiejsze poprawki Asembler MCS51 - wyrażenia 8/14

Dostępne operatory wyrażeń: Asembler MCS51 - wyrażenia 9/14

Dostępne funkcje wyrażeń: Następstwo operatorów: - nawiasy( ); - NOT, HIGH, LOW; - +, - (jednoargumentowe do określenia znaku argumentu); - *, /, MOD; - +, - (dwuargumentowe); - SHR, SHL; - AND, OR, XOR; -, >=, >, LT, LTE, EQ, NE, GTE, GT. Asembler MCS51 - wyrażenia 10/14

Asembler MCS51 - dyrektywy 11/14

Asembler MCS51 - dyrektywy 12/14

Asembler MCS51 - dyrektywy 13/14

Asembler MCS51 - dyrektywy 14/14

Asembler MCS51 - dyrektywy 15/14 CSEG, DSEG, ISEG, BSEG, XSEG – określają do jakiej przestrzeni adresowej (kodu progamu, RAM wewn. adresowanej bezpośrednio, pośrednio, bitów adresowalnych, RAM zewn.) mają być wpisane / przypisane definiowane po nich obiekty (kody rozkazów, stałe, etykiety). Warianty użycia: xSEG – „przełączenie” generacji kodu na wskazany segment, jeżeli był on już definiowany kontynuowane są adresy z wcześniejszego odwołania, jeżeli nie - adresacja startuje od 0. xSEG AT adres - „przełączenie” generacji kodu na wskazany segment ze wskazaniem adresu, od którego mają być umieszczane nowe obiekty.

Asembler MCS51 - dyrektywy 16/14 Przykład użycia dyrektyw segmentów: bseg at10h;wskazanie na bit adresowalny o adresie 10h, ;czyli 0-rowy bit w bajcie RAM wewn. o adresie 22h flaga1:dbit1;rezerwacja 1-bitowych znaczników na bitach flaga2:dbit1;10h i 11h (22h.0 i 22h.1) cseg at200h;wskazanie na obszar programu od adresu 200h kody:db23,33,51,92,99 ;5-elementowa tablica stałych programowych ;ulokowana na adresach 200h..204h org0 ajmpini;początek definiowania programu