Mikroprocessorprogrammering

Anonim

Mikroprocessorprogrammering

Digitale kredsløb


Spørgsmål 1

Hvad er forskellen mellem en JMP ("jump") instruktion og en CALL ("call") instruktion "# 1"> Reveal svar Skjul svar

En JMP-instruktion fortæller blot, at mikroprocessoren "hopper" til en bestemt adresse. En CALL-instruktion omdirigerer også programflow til en bestemt adresse, men husker sit sted, så programmet kan "returnere", hvor det slukket.

Bemærkninger:

Diskuter begrebet en subrutine med dine elever, og hvordan subroutiner økonomiserer programstørrelsen.

Spørgsmål 2

Et vigtigt træk ved mikroprocessorer er brugen af flagregistre . Hvad er netop et "flag", og hvad bruges de til i mikroprocessor programmering? Identificer nogle almindelige maskin-sprogkommandoer, der angiver flag, og nogle almindelige kommandoer, der læser flag.

Reveal svar Skjul svar

Flag er enkeltbit registreringer i et mikroprocessorsæt ifølge resultaterne af en operation. Aritmetiske og logiske operationer er almindelige eksempler på kommandoer, der angiver flag. Betingede operationer som "Jump if Zero" er baseret på flagstatus: det vil sige status for bestemte flag diktere, hvad en betinget operation vil gøre.

Bemærkninger:

Da jeg begyndte at lære microprocessor programmering, spekulerede jeg på, hvordan betingede operationer som JZ "vidste" om at hoppe eller ej. Det fremgik af inspektion af forskellige programmer, at disse betingede operationer baserede deres "beslutning" på kommandoen umiddelbart forud, men jeg anede ikke, hvordan dette kommunikative link blev lavet. Når jeg først undersøgte flag, var det hele fornuftigt.

  • ← Forrige regneark

  • Regneark Indeks

  • Næste regneark →