SlideServe
Menu
Préférences
© SlideServe · v2026

Programowanie w asemblerze

sybil avatar
19 diapositives · 373 Views · Oct 01, 2014

Programowanie w asemblerze. Budowa programu w asemblerze. Stałe programowe. Wyrażenia w asemblerze. Dyrektywy asemblera. Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę:. < pole etykiety >. < pole mnemonika >. < pole argumentów >.

Programowanie w asemblerze - slide 1
01 / 19Programowanie w asemblerze
1 / 17

Télécharger la présentation

Programowanie w asemblerze
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Programowanie w asemblerze

  2. Budowa programu w asemblerze Stałe programowe Wyrażenia w asemblerze Dyrektywy asemblera

  3. Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę: <pole etykiety> <pole mnemonika> <pole argumentów> <pole komentarza> na przykład: ld a,(licznik) ;pobranie do A wartosci licznika tuskocz: add a,b;dodanie do akumulatora liczby z rej.B ld c,a;odeslanie sumy do rej.C albo: ld a,(licznik);pobranie do A wartosci licznika tuskocz: add a,b;dodanie do akumulatora liczby z rej.B ld c,a;odeslanie sumy do rej.C

  4. gdzie: <pole etykiety> - obszar o szerokości min. 1 znaku, przeznaczony na wpisywanie po etykiecie musi występować dwukropek i spacja (': '), oddzielają one wtedy etykietę od pozostałej zawartości linii i zwiększają czytelność programu; identyfikatorów - tzw. etykiet;

  5. gdzie: <pole mnemonika> - obszar przeznaczony na wpisanie symbolicznej nazwy rozkazu; w polu tym wpisuje się także tzw. dyrektywy asemblera (patrz dalej);

  6. gdzie: <pole argumentów> - obszar, którego wypełnienie jest opcjonalne - zależne od wymagań wpisanego w rozkazu, pole to jest przeznaczone na listę argumentów rozkazu; <polu mnemonika>

  7. gdzie-c.d.: <pole komentarza> - 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ć się w dowolnym miejscu linii programu, także od pierwszej kolumny (z pominięciem pozostałych pól).

  8. Przeznaczenie etykiet: 1. Identyfikatory adresów w przestrzeni adresowej procesora - wskazują: adresy skoków, np: tutaj: add A,B adresy początkowe wywoływanych procedur, np: call dod3B ;dodaj liczby 3-bajtowe . . . dod3b: ld a,(hl) . . . ret adresy początkowe struktur danych, np: org 2400h tablica1: dfb 12,234,0,11 ;tablica liczb 1-bajtowych ;zaczynajaca sie od 2400h

  9. Przeznaczenie etykiet: 2. Identyfikatory stałych programowych - reprezentują wartości znane już na etapie pisania programu - ułatwia to ich użycie w tekście programie - zwiększenie czytelności programu, np: CR: EQU 13 ;definicja znaku carriage return LF: EQU 10 ;definicja znaku line feed ... ld (hl),CR ;zakonczenie linii tekstu inc hl ;standardowa kombinacja ld (hl),LF ;znakow sterujacych CR,LF

  10. Przeznaczenie etykiet: • 3. Identyfikowanie zmiennych programowych, poprzez przypisanie im adresu początkowego tych zmiennych, np: • data: EQU 700h ;zmienna przechowujaca dzien mies. • mies: EQU 701h ;zmienna przechowujaca miesiac • .... • ld hl,data ;HL:=adres zmiennej ‘data’ • albo: • ORG 700h • data: dfs 1 ;zmienna przechowujaca dzien mies. • mies: dfs 1 ;zmienna przechowujaca miesiac

  11. 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ła znaczenie reprezentacja binarna "A" pojedynczy znak ASCII 41h "tekst" ciąg znaków ASCII 74h,65h,6Bh,73h,74h 787, 787D liczba dziesiętna 0313h 10011B liczba binarna 13h 2AFh liczba szesnastkowa 02AFh 2A0H liczba szesnastkowa 02A0h 0F00h liczba szesnastkowa 0F00h 0x2AF, $2AF liczba szesnastkowa 02AFh 0457 liczba ósemkowa 012Fh 457Q, 457q liczba ósemkowa 012Fh 457O, 457o liczba ósemkowa 012Fh identyfikator o przypisanej wartości zgodna z wartością

  12. Wykorzystanie wyrażeń. Przykładowo, zamiast sekwencji deklaracji: zmienna1: equ 4500h zmienna2: equ 4502h zmienna3: equ 4504h zmienna4: equ 4508h możemy zapisać: zmienna1: equ 4500h zmienna2: equ zmienna1+2 zmienna3: equ zmienna2+2 zmienna4: equ zmienna3+4 Wynik asemblacji - taki sam, ale przy drugim zapisie łatwiejsze poprawki

  13. Dostępne operatory wyrażeń.

  14. Dostępne operatory wyrażeń.

  15. Dyrektywy asemblera.

  16. Dyrektywy asemblera.

  17. Dyrektywy asemblera.

  18. Dyrektywy asemblera.

  19. Dyrektywy asemblera.