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



Podobne dokumenty
Programowanie mikroprocesorów jednoukładowych

Politechnika Świętokrzyska

Mikroprocesory i mikrosterowniki

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 komputerów w 1 1

Programowanie w asemblerze ARM: instrukcje

Mikroprocesory i Mikrosterowniki

Podstawy Techniki Mikroprocesorowej

Programowanie mikroprocesorów jednoukładowych

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Struktura i działanie jednostki centralnej

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

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

PROGRAMOWANIE STRUKTUR CYFROWYCH. Konwencje dla asemblera KCPSM3. Simple IO. PicoBlaze - projekty. c Dr inż. Ignacy Pardyka. Rok akad.

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

Programowanie mikroprocesorów jednoukładowych

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Architektura typu multi cycle

Wykład 4. Środowisko programistyczne

LEARNING AGREEMENT FOR STUDIES

1 Ogolnie o asemblerach. 2 Zarys architektury MIPS

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Programowanie w asemblerze ARM wprowadzenie

Architektura komputerów

Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika w Toruniu

Wstęp do Reverse engineeringu

Polski Krok Po Kroku: Tablice Gramatyczne (Polish Edition) By Anna Stelmach

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

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

Budowa linii asemblera

MIKROKONTROLERY - ŁADOWANIE KODU

Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

SQL 4 Structured Query Lenguage

Rev Źródło:

Układy reprogramowalne i SoC Język VHDL (część 4)

Instructions for student teams

Lista Rozkazów: Język komputera

Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering

Systemy wbudowane. Przykłady kodu Assembler

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

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

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Projekt prostego procesora

Podstawy Techniki Mikroprocesorowej

Installation of EuroCert software for qualified electronic signature

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

PX101A. Frezy do PLEXI/ Router bits for Plexi Acrylic ALU Z= str. 122

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

1 Zarys architektury MIPS


MS Visual Studio 2005 Team Suite - Performance Tool


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

Camspot 4.4 Camspot 4.5

Architektura typu Single-Cycle

Arrays -II. Arrays. Outline ECE Cal Poly Pomona Electrical & Computer Engineering. Introduction

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

OpenPoland.net API Documentation

Programming in Assembler. Laboratory manual. Exercise 6

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Procedury. int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; } return product; }

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

1: ////////// 2: // test.c. 3: ssize_t ret = read(fd, buf, nbytes);

18. Przydatne zwroty podczas egzaminu ustnego. 19. Mo liwe pytania egzaminatora i przyk³adowe odpowiedzi egzaminowanego

Programowanie w asemblerze MIPSa

Przewody do linii napowietrznych Przewody z drutów okrągłych skręconych współosiowo

FORMULARZ REKLAMACJI Complaint Form

Oracle PL/SQL. Paweł Rajba.

Programowanie w asemblerze Uwagi o ARM

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

Zaawansowane metody programowania. Algorytmy

Laboratorium Programowania Kart Elektronicznych

Procesory osadzone ETD 7211 W

Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej

Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze.

RS868v3 module configuration

Wybrzeze Baltyku, mapa turystyczna 1: (Polish Edition)

Aspekty aktywne baz danych

Thermal Brewer Aurora

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

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2

Programowanie niskopoziomowe

Robotic Arm Assembly Manual

Wykład 5_2 Arkusze stylów dziedziczenie. Technologie internetowe Zofia Kruczkiewicz

Zarządzanie sieciami telekomunikacyjnymi

Has the heat wave frequency or intensity changed in Poland since 1950?

Prices and Volumes on the Stock Market

Nazwa projektu: Kreatywni i innowacyjni uczniowie konkurencyjni na rynku pracy

y = The Chain Rule Show all work. No calculator unless otherwise stated. If asked to Explain your answer, write in complete sentences.

Warsztat: Infoblox DNS Firewall & DNS Infoblox Threat Analytics. Czyli jak w godzinę ochronić użytkowników.

How to share data from SQL database table to the OPC Server? Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT.

Procesory sygnałowe (Analog Devices)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader

Kształtując przyszłość, jakiej chcemy. refleksje z raportu podsumowującego Dekadę Edukacji dla Zrównoważonego Rozwoju ( ).

Transkrypt:

TRUDNO ZNALEŹĆ PROCESORY O TAK LICZNYCH, ORYGINALNYCH, NOWYCH, POMYSŁOWYCH ROZWIĄZANIACH! ASEMBLERY Pola Separatory Wizytówki Kody operacji Pseudo operacje adresy I dane Dyrektywy Stałe Komentarze SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 1 / 12

ASEMBLERY przykłady programów. Ruch danych AREA program, CODE, READONLY LDRB R1,VALUE ;ładuj wartość, którą przenosimy STR R1, RESULT ;do pamięci -- kierunek!!! tutaj BAL tutaj ; endless loop ALBO: VALUE DCW &C123 :pozycjonowanie, bo używamy... RESULT DCW 0 SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 2 / 12

AREA program, CODE, READONLY LDRB R1,VALUE ;ładuj wartość, którą przenosimy MVN R1,R1 :one's complement STR R1, RESULT ;do pamięci -- kieri=unek!!! tutaj BAL tutaj ; endless loop ALBO: VALUE DCW &C123 :pozycjonowanie, bo używamy... RESULT DCW 0 SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 3 / 12

; Add two (32-Bit) numbers AREA Program, CODE, READONLY LDR R1, Value1 ; Load the first number LDR R2, Value2 ; Load the second number ADD R1, R1, R2 ; ADD them together into R1 (x = x + y) STR R1, Result ; Store the result Value1 DCD &37E3C123 ; First value to be added Value2 DCD &367402AA ; Second value to be added Result DCD 0 ; Storage for result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 4 / 12

; Add two numbers and store the result AREA Program, CODE, READONLY LDR R0, =Value1 LDR R1, [R0] ADD R0, R0, #0x4 LDR R2, [R0] ADD R1, R1, R2 LDR R0, =Result STR R1, [R0] Value1 DCD &37E3C123 ; First value Value2 DCD &367402AA ; Second value Result DCD 0 ; Space to store result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 5 / 12

; Shift Left one bit AREA Program, CODE, READONLY LDR R1, Value ; Load the value to be shifted MOV R1, R1, LSL #0x1 ; SHIFT LEFT one bit STR R1, Result ; Store the result Value DCD &4242 ; Value to be shifted Result DCD 0 ; Space to store result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 6 / 12

ASEMBLERY przykłady programów. ; Disassemble a byte into its high and low order nibbles AREA Program, CODE, READONLY LDR R1, Value ; Load the value to be disassembled LDR R2, Mask ; Load the bitmask MOV R3, R1, LSR #0x4 ; Copy just the high order nibble into R3 MOV R3, R3, LSL #0x8 ; Now left shift it one byte AND R1, R1, R2 ; AND the original number with the bitmask ADD R1, R1, R3 ; Add the result of that to ; What we moved into R3 STR R1, Result ; Store the result Value DCB &5F ; Value to be shifted ; Keep the memory boundaries Mask DCW &000F ; Bitmask = %0000000000001111 Result DCD 0 ; Space to store result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 7 / 12

; Find the larger of two numbers AREA Program, CODE, READONLY LDR R1, Value1 ; Load the first value to be compared LDR R2, Value2 ; Load the second value to be compared 9 CMP R1, R2 ; Compare them BHI Done ; If R1 contains the highest11 MOV R1, R2 ; otherwise overwrite R1 Done STR R1, Result ; Store the result Value1 DCD &12345678 ; Value to be compared Value2 DCD &87654321 ; Value to be compared Result DCD 0 ; Space to store result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 8 / 12

; 64 bit addition AREA Program, CODE, READONLY LDR R0, =Value1 ; Pointer to first value LDR R1, [R0] ; Load first part of value1 LDR R2, [R0, #4] ; Load lower part of value1 LDR R0, =Value2 ; Pointer to second value LDR R3, [R0] ; Load upper part of value2 LDR R4, [R0, #4] ; Load lower part of value2 ADDS R6, R2, R4 ; Add lower 4 bytes and set carry flag ADC R5, R1, R3 ; Add upper 4 bytes including carry LDR R0, =Result ; Pointer to Result STR R5, [R0] ; Store upper part of result STR R6, [R0, #4] ; Store lower part of result Value1 DCD &12A2E640, &F2100123 ; Value to be added Value2 DCD &001019BF, &40023F51 ; Value to be added Result DCD 0 ; Space to store result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 9 / 12

ASEMBLERY przykłady programów. ; * Scan a series of 16 bit numbers to find the largest AREA Program, CODE, READONLY LDR R0, =Data1 ;load the address of the lookup table EOR R1, R1, R1 ;clear R1 to store largest LDR R2, Length ;init element count CMP R2, #0 BEQ Done ;if table is empty Loop LDR R3, [R0] ;get the data CMP R3, R1 ;bit is 1 BCC Looptest ;skip next line if zero MOV R1, R3 ;increment -ve number count Looptest ADD R0, R0, #+4 ;increment pointer SUBS R2, R2, #0x1 ;decrement count with zero set BNE Loop ;if zero flag is not set, loop Done STR R1, Result ;otherwise done - store result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 10 / 12

AREA Data1, DATA Table DCW &A152 ;table of values to be tested DCW &7F61 DCW &F123 DCW &8000 TablEnd DCD 0 AREA Data2, DATA Length DCW (TablEnd - Table) / 4 ;because we're having to align ;gives the loop count Result DCW 0 ;storage for result SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 11 / 12

SZKICE ARCHITEKTURY I PROGRAMOWANIE MIKROPROCESORÓW Piotr Malecki 12 / 12