Wstęp do informatyki. Operandy instrukcji. Tryby adresowania. Adresowanie natychmiastowe (Immediate) Operand jest podaną liczbą

Podobne dokumenty
Wstęp do informatyki. Operandy instrukcji. Tryby adresowania. Programowanie komputera asembler c.d. Cezary Bolek

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

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Magistrala systemowa (System Bus) Architektura komputera

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

Architektura systemów komputerowych Laboratorium 7 Symulator SMS32 Stos, Tablice, Procedury

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

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputerów. Asembler procesorów rodziny x86

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Magistrala systemowa (System Bus)

Rozszerzalne kody operacji (przykład)

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

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Programowanie Niskopoziomowe

Sprzęt i architektura komputerów

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

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Techniki mikroprocesorowe i systemy wbudowane

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Sprzęt i architektura komputerów

PROGRAMOWANIE NISKOPOZIOMOWE. Adresowanie pośrednie rejestrowe. Stos PN.04. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

architektura komputerów w 1 1

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

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

Architektura komputerów

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

Ćwiczenie nr 6. Programowanie mieszane

Programowanie komputera

Mikroprocesor Operacje wejścia / wyjścia

A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym

Ćwiczenie 3. Konwersja liczb binarnych

Egzamin maturalny z informatyki Poziom rozszerzony część I

Architektura komputerów

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

Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 1 Algorytmy sortowania (27.02.

PROGRAMOWANIE NISKOPOZIOMOWE. Systemy liczbowe. Pamięć PN.01. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

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

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

1.3. Największa liczba naturalna (bez znaku) zapisana w dwóch bajtach to a) b) 210 c) d) 32767

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

PROGRAMOWANIE NISKOPOZIOMOWE

Język programowania: Lista instrukcji (IL Instruction List)

Organizacja typowego mikroprocesora

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Programowanie w Ruby

Programowanie mikrokontrolera 8051

Metody Obliczeniowe w Nauce i Technice laboratorium

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Programowanie niskopoziomowe

JAK DZIAŁAJĄ FUNKCJE PODZIAŁ PAMIĘCI

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Opracowanie danych pomiarowych. dla studentów realizujących program Pracowni Fizycznej

Programowanie Niskopoziomowe

2.1. W architekturze MIPS, na liście instrukcji widzimy dwie instrukcje dotyczące funkcji: .text main: la $a0, string1 # drukuj pierwszy łańcuch

SYSTEM OCENY STANU NAWIERZCHNI SOSN ZASADY POMIARU I OCENY STANU RÓWNOŚCI PODŁUŻNEJ NAWIERZCHNI BITUMICZNYCH W SYSTEMIE OCENY STANU NAWIERZCHNI SOSN

Praktycznie całe zamieszanie dotyczące konwencji wywoływania funkcji kręci się w okół wskaźnika stosu.

Podstawy Informatyki Języki programowania c.d.

INSTRUKCJE Instrukcje przeniesienia: Instrukcje konwersji: Arytmetyczne instrukcje:

Lista Rozkazów: Język komputera

Politechnika Warszawska

Wstępdo assemblera MA51

architektura komputerów w 1 1

Architektura typu Single-Cycle

EGZAMIN MATURALNY Z INFORMATYKI

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

SYSTEM MIKROPROCESOROWY

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

Ćwiczenie nr 4. Zasady kodowania podprogramów

Struktura i działanie jednostki centralnej

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Procesory rodziny x86. Dariusz Chaberski

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Programowanie mikrokontrolerów. 8 listopada 2007

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

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Wykład 4. Środowisko programistyczne

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Programowanie mikrokontrolerów (CISC)

PRZEWODNIK PO PRZEDMIOCIE

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

UCHWAŁA nr XXVIII/532/12 SEJMIKU WOJEWÓDZTWA WIELKOPOLSKIEGO. z dnia 26 listopada 2012 r.

Zasady wykonywania programu drabinkowego w sterowniku

PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA

Przetworniki analogowo-cyfrowe i cyfrowo- analogowe

Mikroinformatyka. Wielozadaniowość

Lista rozkazów mikrokontrolera 8051

organizacja procesora 8086

ASEMBLER MCS-51 Podstawowe informacje

1. Asembler i wstawki asemblerowe w C

Programowalne układy logiczne

Programowanie w języku Python. Grażyna Koba

Lista instrukcji mikroprocesora Programowanie w assemblerze

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

WOJSKOWA AKADEMIA TECHNICZNA

Transkrypt:

Operady istrukcji Operadem istrukcji azywamy liczbę, której dotyczy wykoywaa operacja. Wstęp do iformatyki Programowaie komputera asembler c.d. INC AL ; zwiększ wartość rejestru AL operad istrukcji (wartość w rejestrze) Cezary Bolek cbolek@ki.ui.lodz.pl Uiwersytet Łódzki Wydział Zarządzaia Katedra Iformatyki Dla operacji wymagających dwóch operadów, ) pierzy azyway jest operadem przezaczeia, ) drugi operadem źródłowym. ADD AL, ; dodaj do AL wartość h operad przezaczeia operad źródłowy Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Tryby owaia Tryb owaia jest to sposób określeia lokalizacji operadu istrukcji KaŜdy operad istrukcji moŝe być wyraŝoy za pomocą róŝego trybu owaia. Nie zystkie tryby owaia są dozwoloe dla zystkich istrukcji ADD DL, ;dodaj do DL wartość h Adresowaie atychmiastowe (Immediate) Operad jest podaą liczbą AL, ;załaduj liczbę h do AL operad źródłowy wyraŝoy w trybie atychmiastowym operad w rejestrze operad - liczba ADD,DL ;??? NOT owaie atychmiastowe jest zabroioe dla pojedyczych operadów oraz operadów przezaczeia Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 4

Adresowaie bezpośredie rejestrowe (Register Direct) Operad jest liczbą w podaym rejestrze DEC CL AL,!Uwaga AL,BL ;załaduj liczbę h do AL operad przezaczeia wyraŝoy w trybie bezpośredim rejestrowym Przesłaia międzyrejestrowe w trybie bezpośredim rejestrowym ie są dozwoloe w symulatorze stosowaym w laboratorium, (ale zwykle akceptowae przez większość procesorów) Adresowaie bezpośredie pamięci (Memory Direct) Operad jest liczbą w komórce pamięci o podaym [ie] (w awiasach kwadratowych) AL,[] [],BL AL,[] ; załaduj liczbę z komórki ; o ie h do rejestru AL operad źródłowy wyraŝoy w trybie owaia bezpośredim pamięci ; realizacja AL,BL ; w symulatorze Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Adresowaie bezpośredie pamięci Adresowaie bezpośredie pamięci AL BL CL DL A [],BL DL,[8] A 4 8 9 A B Dla istrukcji arytmetyczych, logiczych i przesuięć ie jest dozwoloe uŝywaie owaia bezpośrediego pamięci. ADD AL,[] ;iedozwoloe INC [] ;iedozwoloe OR [],BL ;iedozwoloe NOT [] ;iedozwoloe ROR [] ;iedozwoloe Nie jest moŝliwe wykoaie operacji bezpośredio pomiędzy komórkami pamięci [],[] ; iedozwoloe Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 8

Adresowaie pośredie rejestrowe (Register Idirect) Adresowaie pośredie rejestrowe Operad jest liczbą w komórce pamięci o ie zajdującym się w [rejestrze] AL,[BL] [AL],BL ; załaduj wartość z komórki ; o ie w BL do AL operad źródłowy wyraŝoy w trybie pośredim rejestrowym ; załaduj wartość rejestru BL ; do komórki o ie w AL operad przezaczeia wyraŝoy w trybie pośredim rejestrowym AL BL CL DL B C A [DL],CL BL,[AL] B C 4 8 9 A B Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 9 Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Adresowaie pośredie rejestrowe Dla istrukcji arytmetyczych, logiczych i przesuięć ie jest dozwoloe uŝywaie owaia pośrediego rejestrowego. ADD AL,[BL] ;iedozwoloe INC [AL] ;iedozwoloe OR [AL],BL ;iedozwoloe NOT [CL] ;iedozwoloe ROR [DL] ;iedozwoloe Nie jest moŝliwe wykoaie operacji bezpośredio pomiędzy komórkami pamięci [AL],[BL] ;iedozwoloe Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Ie tryby owaia Posiadaie wielu owaia komplikuje wewętrzą strukturę procesora, ale moŝe zaczie zwiększać jego wydajość Przykłady trybów owaia (iedostępe w symulatorze) a) pośredie rejestrowe z przesuięciem b) pośredie rejestrowe z ideksem (i przesuięciem) c) pośredie liczikiem programu (z ideksem i przesuięciem) d) pośredie komórką pamięci (z ideksem i przesuięciem) e) pośredie rejestrowe z postikremetacją f) pośredie rejestrowe z predekremetacją a) X,[Y,Z] b) X,[d,Y,Z] c) X,[d,PC,Y] d) X,[d,[X,Y]] e) X,Y+ f) X,-Y X,Y,Z rejestry wewętrze procesora, d liczba Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl>

Zaawasoway tryb owaia - przykład A A D D +D 9F 4 8 8 + 9 A 9F B D,[,[A,D]] Adresowaie pośredie komórką pamięci z ideksem i przesuięciem Stos Stos jest strukturą daych w pamięci, zorgaizowaą w taki sposób, Ŝe w daej chwili moŝliwy jest dostęp (odczyt lub zapis) tylko do jedego elemetu zajdującego się a wierzchołku. wierzchołek stosu stos rośie Stos jest wykorzystyway do przechowywaia pośredich wyików obliczeń, przekazywaia parametrów do procedur realizacji mechaizmu z podprogramu stos maleje Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 4 Orgaizacja stosu Orgaizacja struktury stosu zaleŝy od typu procesora, a omówioa poiŝej dotyczy symulatora z laboratorium. Stos rośie w kieruku malejących ów PołoŜeie wierzchołka stosu zajduje się w rejestrze (stack poiter). kazuje a pierzy woly bajt a stosie (a ie a ostati zajęty) Zdjęcie (odczytaie) bajtu ze stosu wymaga zwiększeia o i odczytaia komórki o ie [] OdłoŜeie (zapisaie) bajtu a stos wymaga zapisu do komórki o ie [] i zmiejszeia o Zapis a stos PUSH X Istrukcja PUSH odkłada a stos wartość rejestru X (AL, BL, CD lub DL). Wartość kaźika stosu jest odpowiedio modyfikowaa, aby kazywała aktualą pozycję wierzchołka po wykoaiu operacji. AL PUSH AL Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 4

Odczyt ze stosu POP Istrukcja POP zdejmuje ze stosu wartość i umieszcza w rejestrze X (AL, BL, CD lub DL). Wartość kaźika stosu jest odpowiedio modyfikowaa, aby kazywała aktualą pozycję wierzchołka po wykoaiu operacji. BL A X A Podprogramy Podprogram jest ciągiem istrukcji, który staowi fukcjoalą całość i moŝe być wywoływay z dowolego miejsca w programie główym, a po zakończeiu swego działaia powraca do miejsca skąd był wywołay. Program główy: Koiec programu Podprogram X: Koiec podprogramu istr uruchom podprogram X istr4 istr uruchom podprogram X istr STOP istr powrót POP BL Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 8 Mechaizm skoku do podprogramu Mechaizm z podprogramu Podczas skoku do podprogramu a stos odkładay jest (z rejestru IP), tj. istrukcji astępej po istrukcji skoku do podprogramu. Skok realizoway jest poprzez zapis do rejestru IP wartości u początku podprogramu (X) IP X istr X istr4 istr END X Podczas z podprogramu ze stosu pobieray jest, tj. istrukcji, od której trzeba wzowić wykoywaie programu główego. Powrót realizoway jest poprzez zapis do rejestru IP wartości u odczytaego ze stosu ( ) IP istr X istr4 istr END X Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 9 Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl>

Istrukcje skoku i z podprogramu p. xxx istrukcja skoku do podprogramu rozpoczyającego się od u xxx istrukcja (zakończeia) z aktualie wykoywaego podprogramu ext: JMP ext : BL,FF cc: DEC BL JNZ cc program główy wywołuje podprogram w ieskończoej pętli realizacja pętli opóźiającej jako podprogram Przekazywaie parametrów przez rejestry procesora Podprogramy mogą wykorzystywać wartości umieszczoe w rejestrach procesora jako swoje parametry. Jedyym ograiczeiem tej metody jest ograiczoa liczba rejestrów wewętrzych procesora. BL, BL,9 : DEC BL JNZ Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Przekazywaie parametrów przez komórki pamięci Określaie początku programu lub daych Podprogramy mogą wykorzystywać wartości umieszczoe w komórkach pamięci jako swoje parametry. Zaletą metody jest moŝliwość przekazaia duŝej liczby parametrów, a iedogodością jest koieczość rezerwacji miejsca w pamięci operacyjej. AL, [8],AL AL,9 [8],AL : BL,[8] cc: DEC BL JNZ cc ORG ; origi jest dyrektywą określającą w pamięci, od jakiego będą umieszczae koleje istrukcje lub dae. DB wartość ; defie byte jest dyrektywą rezerwującą bajt pamięci i wypełiającą go podaą wartością (pomoce przy rezerwacji pamięci) ORG ORG DB F DB F Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl> 4

Deklaracja apisów w pamięci DB apis jeśli argumetem dyrektywy DB będzie łańcuch tekstowy, to koleje bajty zostaą wypełioe kodami ASCII liter tego łańcucha ORG ORG DB hello DB 48 4 4C 4C 4F Wstęp do iformatyki Cezary Bolek <cbolek@ki.ui.lodz.pl>