Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałWisia Prokurat Został zmieniony 10 lat temu
1
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów, które może on wykonać. Zbiór ten nazywany jest listą rozkazów. Niezależnie od typu mikroprocesora, można wyróżnić następujące grupy rozkazów: rozkazy przesłań rozkazy komunikacji z układami wejścia-wyjścia rozkazy arytmetyczne rozkazy logiczne rozkazy sterujące rozkazy łączone inne
2
Lista rozkazów – rozkazy przesłań służą do kopiowania informacji pomiędzy: rejestrami mikroprocesora rejestrami a pamięcią komórkami pamięci są niezbędne do przetwarzania danych w systemie mikroprocesorowym są najczęściej wykorzystywaną grupą rozkazów w programach (stanowią ponad 45% rozkazów) wykorzystują wszystkie dostępne w danym mikroprocesorze tryby adresowania kodźródłoprzeznaczenie Ogólna struktura rozkazu
3
Lista rozkazów – rozkazy przesłań kodźródłoprzeznaczenie Ogólny format rozkazu przesłania W zapisie symbolicznym można spotkać dwie konwencje: np. w procesorach Intel MOVA,R0A R0 np. w procesorach Motorola MOVE D0,D1 D0 D1
4
Lista rozkazów – rozkazy przesłań MOVA,Rr MOVA,ad MOVA,@Ri MOVA,#n MOVRr,A MOVRr,ad MOVRr,#n MOVad,A MOVad,Rr MOVad,@Ri MOVad,#n MOVad1,ad2 MOV@Ri,A MOV@Ri,ad MOV@Ri,#n Przykład: rozkazy przesłań mikrokontrolera 8051 MOVDPTR,#nn MOVXA,@DPTR MOVXA,@Ri MOVX@DPTR,A MOVX@Ri,A MOVCA,@A+DPTR MOVCA,@A+PC MOVC,bit MOVbit,C CLRbit SETBbit
5
Lista rozkazów – rozkazy przesłań Oprócz wymienionych wcześniej rozkazów przesłań, do tej samej grupy należy zaliczyć: rozkazy wymiany rozkazy przesłania części słowa rozkazy wymiany części słowa rozkazy zerowania rejestrów wymiany: XCHA,Rr XCHA,ad XCHA,@Ri wymiany części słowa: XCHDA,@Ri SWAPA zerowania rejestrów: CLRA Przykłady rozkazów mikrokontrolera 8051
6
Lista rozkazów – rozkazy komunikacji z układami wejścia-wyjścia służą do odczytywania/zapisywania informacji z/do układów umieszczonych w przestrzeni adresowej wejścia-wyjścia występują tylko w mikroprocesorach o rozdzielonej przestrzeni adresowej układów wejścia-wyjścia i pamięci działają podobnie jak rozkazy przesłań, ale podczas ich wykonywania generowane są inne sygnały sterujące (np. IOW, IOR) wykorzystują zwykle jeden lub dwa tryby adresowania
7
OUT(port),A OUT(C),r OUTD(C):=(HL) HL:=HL-1 B=B-1 OTDRpowtarzaj OUTD aż B=0 OUTI(C):=(HL) HL:=HL+1 B=B-1 OTIRpowtarzaj OUTI aż B=0 Lista rozkazów – rozkazy komunikacji z układami wejścia-wyjścia INA,(port) INr,(C) IND(HL):=(C) HL:=HL-1 B=B-1 INDRpowtarzaj IND aż B=0 INI(HL):=(C) HL:=HL+1 B=B-1 INIRpowtarzaj INI aż B=0 Przykład: rozkazy komunikacji z układami we-wy mikroprocesora Z80
8
Lista rozkazów – rozkazy arytmetyczne służą do wykonywania operacji arytmetycznych charakterystycznych dla danego mikroprocesora wykorzystują zwykle wszystkie dostępne w danym mikroprocesorze tryby adresowania argumentów, ale ograniczoną liczbę trybów adresowania miejsca umieszczania wyników ogólnie można wyróżnić rozkazy arytmetyczne przeznaczone do wykonywania operacji arytmetycznych na: liczbach całkowitych liczbach stałoprzecinkowych liczbach zmiennoprzecinkowych
9
Lista rozkazów – rozkazy arytmetyczne ADDA,Rr ADDA,ad ADDA,@Ri ADDA,#n ADDCA,Rr ADDCA,ad ADDCA,@Ri ADDCA,#n SUBBA,Rr SUBBA,ad SUBBA,@Ri SUBBA,#n Przykład: rozkazy arytmetyczne mikrokontrolera 8051 CA := A + arg2 CA := A + arg2 + C CA := A – arg2 – C 0 Uwaga! W 8051 nie występuje rozkaz SUB
10
MOVA,ARG1 ADDA,ARG2 MOVRES,A MOVA,ARG1+1 ADDCA,ARG2+1 MOVRES+1,A Lista rozkazów – dodawanie liczb wielosłowowych (wielobajtowych) Dodawanie należy wykonywać od słów najmniej znaczących do najbardziej znaczących, wykorzystując znacznik przeniesienia C. Zadanie: dodać liczby 2 bajtowe umieszczone pod adresami ARG1 i ARG2; wynik umieścić pod adresem RES CA ARG2 ARG1 ARG2+1 ARG1+1 CA + + RES RES+1
11
MOVA,ARG1 CLRC SUBBA,ARG2 MOVRES,A MOVA,ARG1+1 SUBBA,ARG2+1 MOVRES+1,A Lista rozkazów – odejmowanie liczb wielosłowowych (wielobajtowych) Odejmowanie również wykonuje się od słów najmniej znaczących do najbardziej znaczących, wykorzystując znacznik przeniesienia C. Zadanie: odjąć liczby 2 bajtowe umieszczone pod adresami ARG1 i ARG2; wynik umieścić pod adresem RES CA ARG2 ARG1 ARG2+1 ARG1+1 CA - - RES RES+1 0 - C -
12
Arytmetyka liczb zakodowanych kodami NKB i U2 do dodawania oraz odejmowania liczb w kodach NKB i U2 służą te same rozkazy. Jedyną różnicą w przypadku operacji na liczbach U2 jest konieczność sprawdzania znacznika przepełnienia (OV) zamiast znacznika przeniesienia (C) dodawanie oraz odejmowanie liczb wielosłowowych w kodzie U2 wykonuje sie tak samo jak w przypadku liczb w NKB, tzn. z użyciem znacznika przeniesienia C. Jedynie po wykonaniu operacji na najbardziej znaczącym słowie nalezy sprawdzić stan znacznika przepełnienia (OV) a nie przeniesienia (C)
13
Arytmetyka liczb BCD w przypadku dodawania liczb w kodzie BCD należy wykonać rozkaz dodawania taki sam jak dla liczb w NKB, a następnie wykonać specjalną instrukcję korekcji dziesiętnej MOVA,ARG1 ADDA,ARG2 DAA MOVRES,A if (A[3..0] > 9) or (AC=1) then A := A+6 if (A[7..4] > 9) or (CY=1) then A[7..4] := A[7..4]+6 24 +13 37 15 + 9 1? A[3..0]>9 + 6 24 19 +28 41 AC=1 + 6 47 Przykłady: Uwaga! Rozkaz DA A jest rozkazem korekcji dziesiętnej po dodawaniu.
14
MOVA,ARG1 ADDA,ARG2 DAA MOVRES,A MOVA,ARG1+1 ADDCA,ARG2+1 DAA MOVRES+1,A Dodawanie wielosłowowych liczb BCD Dodawanie należy wykonywać od słów najmniej znaczących do najbardziej znaczących, wykorzystując znacznik przeniesienia C, z tym że po każdym rozkaznie dodawania powinien wystapić rozkaz korekcji dziesiętnej. CA ARG2 ARG1 ARG2+1 ARG1+1 CA + + RES RES+1
15
Lista rozkazów – rozkazy arytmetyczne INCA INCRr INCad INC@Ri DECA DECRr DECad DEC@Ri MULAB DIVAB Przykład: pozostałe rozkazy arytmetyczne mikrokontrolera 8051 arg := arg +1 arg := arg -1 B.A := A x B A := A / B,B := A mod B
16
Lista rozkazów – rozkazy arytmetyczne SLAr SLAmem Przykład: rozkazy przesunięć arytmetycznych µP Z80 0 SRAr SRAmem Używając rozkazów przesunięć arytmetycznych można wykonywać mnożenie i dzielenie liczb przez potęgi liczby 2.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.