Budowa linii asemblera

Podobne dokumenty
Mikrokontroler Motorola M68HC05. Technika mikroprocesorowa dr inż. Wiesław Madej

Wstęp Architektura mikrokontrolerów 68HC08

Architektura komputerów. Asembler procesorów rodziny x86

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Funkcje czasowe (multifunction timer)

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

1. Struktura urządzeń z wykorzystaniem mikrokontrolerów...13

Mikrokontroler ATmega32. Język symboliczny

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

szyna danych WR synchr HLDA DBIN zegar STSTB IOW 16 bitowe rej

Technika mikroprocesorowa I Wykład 2

Model programowy i zestaw instrukcji M68HC11

Struktura i działanie jednostki centralnej

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

SYSTEMY MIKROPROCESOROWE W AUTOMATYCE. Projekt bariery świetlnej.

Rejestry procesora. Asembler CPU D0 D1 D2 D3 D4 D5 D6 D A0 A1 A2 A3 A4 A5 A6 USP (A7) SSP (A7 ) CCR SR

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

HC05 DAWID PIOTROWSKI

Mikrokontrolery AVR ATmega

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA

Architektura komputerów

Programowalne układy logiczne

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Programowanie mikrokontrolerów (CISC)

INSTRUKCJE Instrukcje przeniesienia: Instrukcje konwersji: Arytmetyczne instrukcje:

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86

Lista rozkazów mikrokontrolera 8051

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Architektura komputerów

Mikroprocesory i mikrosterowniki

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Politechnika Świętokrzyska

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

Lista instrukcji mikroprocesora Programowanie w assemblerze

Algorytm mnożenia sekwencyjnego (wariant 1)

Metody Realizacji Języków Programowania

PROCESORY ARM TRUDNO ZNALEŹĆ PROCESORY O TAK LICZNYCH, ORYGINALNYCH, NOWYCH, POMYSŁOWYCH ROZWIĄZANIACH!

Struktura programu w asemblerze mikrokontrolera 8051

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Architektura typu Single-Cycle

Podstawy programowania w języku C i C++

Sprzęt i architektura komputerów

Mikroprocesory i Mikrosterowniki

Sprzęt i architektura komputerów

Podstawy Techniki Mikroprocesorowej

Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle

Organizacja typowego mikroprocesora

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura komputerów

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86

Programowanie mikrokontrolera 8051

Ćwiczenie 3. Konwersja liczb binarnych

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Lista Rozkazów: Język komputera

Wojciech Zientara Mapa pamięci Atari XL/XE: Procedury wejścia/wyjścia

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

SYSTEMY MIKROPROCESOROWE W AUTOMATYCE PROJEKT. Temat: Bariera optyczna

Kurs Zaawansowany S7. Spis treści. Dzień 1

NOTATNIK KONSTRUKTORA

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec)

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Zuzanna Hartleb i Artur Angiel

Techniki mikroprocesorowe i systemy wbudowane

SYSTEM MIKROPROCESOROWY

Programowanie niskopoziomowe

SYSTEMY MIKROPROCESOROWE

Programowanie Niskopoziomowe

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

Tryby adresowania procesorów rodziny ColdFire

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Wstęp Zagadnienia ogólne... 11

Pracownia elektryczno-elektroniczna klasa IV

Mikrooperacje. Mikrooperacje arytmetyczne

Rozszerzalne kody operacji (przykład)

Załącznik do ćwiczenia w środowisku MASM32 wersji 10 Sterowanie przebiegiem wykonania programu

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

1. Operacje logiczne A B A OR B

2 Przygotował: mgr inż. Maciej Lasota

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Języki i paradygmaty programowania

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

Programowanie w asemblerze ARM wprowadzenie

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };

organizacja procesora 8086

Asembler - język maszynowy procesora

IV PROGRAMOWANIE MIKROKOMPUTERA Technika Cyfrowa 2. Wykład 4: Programowanie mikrokomputera 8051

Wojciech Zientara Mapa pamięci Atari XL/XE: Podstawowe procedury systemu operacyjnego

Programowanie mikroprocesorów jednoukładowych

PROGRAMOWANIE NISKOPOZIOMOWE

Transkrypt:

Budowa linii asemblera Pola w linii s a oddzielone znakami białymi (spacje, tabulacje). Wewn atrz pola znaki te nie wystepuj a. Linia programu zawiera cztery pola (być może puste): etykieta mnemonik operand komentarz * to jest linia komentarza LABEL NOP etykieta moze wystapic... NOP... lub nie * operand (o ile jest) * zadajemy: LDA LICZ8 symbolicznie, LDA $C0 numerycznie, LDA TABL+TLEN-1 lub przy pomocy wyrazenia MW-ZPCiR-ICT-PWr 1

Dyrektywy asemblera TABLEN EQU 5 #define TABLEN 5 ORG 0 typedef struct { ELEM_A DS.B 1 char ELEM_A; ELEM_B DS.W 1 int ELEM_B; ELEM_C DS.B TABLEN char ELEM_C[TABLEN]; STRU_L EQU * } T_STRU; ORG RAM LICZ8 DS.B 1 char LICZ8; LICZ16 DS.W 1 int LICZ16; TABL DS.B TLEN char TABL[TLEN]; STR1 DS.B STRU_L T_STRU STR1,STR2; STR2 DS.B STRU_L ORG ROM STALA8 DC.B 255 const char STALA8=255; STALA16 DC.W $FFFF const int STALA16=0xffff; NAPIS DC.B "ula",0 const char * NAPIS="ula"; STABL DC.B 1,2,3 const char STABL[STLEN]={1,2,3}; STLEN EQU *-STABL MW-ZPCiR-ICT-PWr 2

Tryby adresowania IMM immediate argument bezpośrednio w programie 0300 A6 55 LDA #$55 $55 -> A INH inherent bez argumentów (dotyczy rejestrów CPU) 0302 4C INCA (A)+1 -> A EXT extended 16-bitowy adres argumentu 0303 C6 03 FF LDA $3FF ($03FF) -> A DIR direct page 8-bitowy adres argumentu 0306 B6 FF LDA $FF ($00FF) -> A IX IX1 IX2 indexed (0,1,2-byte offset) IX jako wskaźnik argumentu 0308 F6 LDA 0,X ((IX)) -> A 0309 E6 02 LDA 2,X (2+(IX)) -> A 030B D6 03 E0 LDA $3E0,X ($3E0+(IX)) -> A REL relative adres wynikowy liczony wzgledem PC 030E 27 EF BRA $300 (PC)+$0300-$0310 -> PC 0310 MW-ZPCiR-ICT-PWr 3

Adresowanie indeksowe ****************************** * IX jako indeks int i; * UWAGA: * w HC05 indeks: [0..255] CLX LOOP1 LDA TABL,X for(i=0;i<tlen;i++){ STA PORTA PORTA=TABL[i]; INX CPX #TLEN BNE LOOP1 } ****************************** * IX jako wskaznik char *ptr; * UWAGA: * w HC05 tylko strona zerowa LDX #TABL ptr=tabl; LOOP2 LDA 0,X do{ STA PORTA PORTA=*ptr++; INX CPX #(TABL+TLEN) BNE LOOP2 } while(ptr!=tabl+tlen); MW-ZPCiR-ICT-PWr 4

Instrukcje typu rejestr pami eć tryby: IMM, DIR, EXT, IX, IX1, IX2 skrót ADC ADD AND BIT CMP EOR LDA LDX MUL ORA SBC STA STX SUB opis suma z przeniesieniem suma iloczyn bitowy test bitowy porównanie różnica symetryczna ładowanie akumulatora ładowanie rejestru indeksowego mnożenie A i X (tylko INH) suma bitowa różnica z przeniesieniem składowanie akumulatora (bez IMM) składowanie rejestru indeksowego (bez IMM) różnica MW-ZPCiR-ICT-PWr 5

Instrukcje jednoargumentowe (RMW) skrót opis ASL arytmetyczne przesuwanie w lewo (DIR, IX, IX1 oraz INH ASLA, ASLX) ASR arytmetyczne przesuwanie w prawo (DIR, IX, IX1 oraz INH ASRA, ASRX) BCLR BSET CLR COM DEC INC LSL LSR NEG ROL ROR TST zerowanie bitu (DIR) ustawienie bitu (DIR) zerowanie (DIR, IX, IX1 oraz INH CLRA, CLRX) dopełnienie arytmetyczne (DIR, IX, IX1 oraz INH COMA, COMX) zmniejszenie o 1 (DIR, IX, IX1 oraz INH DECA, DECX) zwiekszenie o 1 (DIR, IX, IX1 oraz INH INCA, INCX) logiczne przesuniecie w lewo (DIR, IX, IX1 oraz INH LSLA, LSLX) logiczne przesuniecie w prawo (DIR, IX, IX1 oraz INH LSRA, LSRX) dopełnienie bitowe (DIR, IX, IX1 oraz INH NEGA, NEGX) obrót w lewo z przeniesieniem (DIR, IX, IX1 oraz INH ROLA, ROLX) obrót w prawo z przeniesieniem (DIR, IX, IX1 oraz INH RORA, RORX) sprawdzanie znaku i zera (DIR, IX, IX1 oraz INH TSTA, TSTX) MW-ZPCiR-ICT-PWr 6

Instrukcje wzgl ednych skoków warunkowych tryb REL skrót BCC BCS BEQ BHCC BHCS BHI BHS BIH BIL BLO BLS BMC BMI BMS BNE BPL BRA BRCLR BRN BRSET warunek wykonania skoku brak przeniesienia wyst apienie przeniesienia relacja równości brak przeniesienia połówkowego wyst apienie przeniesienia połówkowego ostra relacja wiekszości nieostra relacja wiekszości stan wysoki wejścia IRQ stan niski wejścia IRQ ostra relacja mniejszości nieostra relacja mniejszości przerwania nie zamaskowane wynik ujemny przerwania zamaskowane relacja nierówności wynik nieujemny zawsze bit wyzerowany (słowo tryb DIR) nigdy bit ustawiony (słowo tryb DIR) MW-ZPCiR-ICT-PWr 7

Inne instrukcje steruj ace tryb INH skrót BSR CLC CLI JMP JSR NOP RSP RTI RTS SEC SEI STOP SWI TAX TXA WAIT opis wzgledny skok do podprogramu (REL) zerowanie flagi przeniesienia zerowanie maski przerwań skok bezwzgledny (DIR, EXT, IX, IX1, IX2) wywołanie podprogramu (DIR, EXT, IX, IX1, IX2) instrukcja pusta inicjalizacja wskaźnika stosu powrót z obsługi przerwania powrót z podprogramu ustawienie flagi przeniesienia ustawienie maski przerwań zatrzymanie zegara, odblokowanie przerwania IRQ przerwanie programowe przepisanie akumulatora do rejestru indeksowego przepisanie rejestru indeksowego do akumulatora zatrzymanie CPU i odblokowanie przerwań MW-ZPCiR-ICT-PWr 8