Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałHenio Łuczak Został zmieniony 10 lat temu
1
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
2
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);
3
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).
4
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
5
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
6
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 Apojedynczy znak ASCII41h tekstcią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ą
7
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
8
Dostępne operatory wyrażeń:
9
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.
10
Dyrektywy asemblera
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.