Programowanie mikroprocesorowe

Mikroprocesory [RS Elektronika] #43 (Lipiec 2019).

$config[ads_text] not found
Anonim

Programowanie mikroprocesorowe

Obwody cyfrowe


Pytanie 1

Jaka jest różnica między instrukcją JMP ("skok") a instrukcją CALL ("wywołanie") "# 1"> Odsłoń odpowiedź Ukryj odpowiedź

Instrukcja JMP po prostu nakazuje mikroprocesorowi "przeskok" do określonego adresu. Instrukcja CALL w podobny sposób przekierowuje przepływ programu do określonego adresu, ale zapamiętuje jego miejsce, aby program mógł "powrócić" tam, gdzie został przerwany.

Uwagi:

Przedyskutuj koncepcję podprogramu ze swoimi uczniami i dowiedz się, w jaki sposób podprogramy zmniejszają rozmiar programu.

pytanie 2

Ważną cechą mikroprocesorów jest wykorzystanie rejestrów flag . Czym dokładnie jest "flaga" i do czego służą w programowaniu mikroprocesorowym? Zidentyfikuj niektóre typowe polecenia języka maszynowego, które ustawiają flagi i niektóre typowe polecenia odczytywania flag.

Ujawnij odpowiedź Ukryj odpowiedź

Flagi są pojedynczymi bitami w mikroprocesorze ustawionym zgodnie z wynikami operacji. Operacje arytmetyczne i logiczne są częstymi przykładami poleceń ustawiających flagi. Operacje warunkowe, takie jak "Jump if Zero", opierają się na statusie flagi: to znaczy, że status pewnych flag określa, co zrobi operacja warunkowa.

Uwagi:

Kiedy zacząłem uczyć się programowania mikroprocesorowego, zastanawiałem się, w jaki sposób operacje warunkowe, takie jak JZ "wiedziały", czy skakać, czy nie. Z kontroli różnych programów wynikało, że te operacje warunkowe opierały swoją "decyzję" na bezpośrednio poprzedzającym dowództwie, ale nie miałem pojęcia, w jaki sposób nawiązano ten łącznik komunikacyjny. Jednak po zbadaniu flag wszystko miało sens.

  • ← Poprzedni arkusz roboczy

  • Indeks arkusza roboczego

  • Następny arkusz roboczy →