Instruksjonssettene til HCS08-mikrokontrolleren er forklart

Av | januar 13, 2022

Det komplette settet med HCS08-instruksjoner

Alle S08-instruksjoner (sannsynligvis alle datamaskininstruksjoner) kan betraktes som tre grunnleggende typer.

Databevegelse – en verdi leses fra ett sted og skrives til et annet. Alle opplastings-/lagringsinstruksjoner er eksempler på flytting fra ett sted til et annet. En av plasseringene er vanligvis et sted i hovedminnet og har en tilknyttet adresse, den andre er i et av CPU-registrene og har kun ett navn. Informasjonsflyten kan skje i alle retninger (avhengig av instruksjonen). I tillegg til lasting/lagringsinstruksjonene som involverer et CPU-register og hovedminne, er det flere overføringer som flytter (kopierer) data fra ett CPU-register til et annet. Det er en instruksjon, mov, som kopierer fra ett minnested til et annet. Det er også en rekke instruksjoner som skriver en implisitt verdi (vanligvis enere eller nuller) til et CPU-register eller minneplassering. Clra, er et eksempel.

Databehandling (ALU) – det er to typer; unær og binær. Unære instruksjoner opererer på en enkelt verdi hentet fra et CPU-register eller minneplassering og skrives (på samme sted) etter en viss modifikasjon (behandling). Nega er et eksempel. Binære instruksjoner opererer på et par verdier som kombineres på en eller annen måte for å produsere et resultat. Disse instruksjonene har nesten alltid minst én av verdiene fra et CPU-register og setter resultatet tilbake i det registeret. Add er et eksempel. En verdi av post A og en minneplassering oppnås. Disse verdiene kombineres (behandles) av den aritmetiske addisjonsoperasjonen og resultatet skrives til register A.

Endring av programflyt – hvor verdien av PC-en endres (eller i tilfelle av betingede grener, kan det være) fra tellesekvensen til normal stigning. Denne typen instruksjoner brukes til å foreta subrutineanrop, kodesløyfer og if-then-else-programkonstruksjoner i kodestil, for å nevne noen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *