bewerkingen in programmeeromgevingen

Slides:



Advertisements
Verwante presentaties
Snelheid van digitale IC’s
Advertisements

Een getal met een komma noemen we een decimaalgetal.
PROFIELWERKSTUK Hoe kunnen wij je helpen?.
H 22: Kosten van een duurzaam produktiemiddel (dpm)
Serieel naar parallel omzetting
Echte Vrienden zijn belangrijk in het leven.
PROS2 Les 2 Programmeren en Software Engineering 2.
Informatica klas 4 Hoofdstuk 1
Parallel naar serieel omzetting
Databases via internet
Een paar programma’s met een aantal basisprincipes.
Ik geloof… Dat onze achtergrond en omstandigheden misschien wel van invloed zijn geweest op wie we zijn, maar dat wìj verantwoorde- lijk zijn voor wie.
Arduino project.
Basisgeheugenschakelingen
Logische schakelingen
Digitaal 2. De NEN- en NOF-poort.
Week 2: Microarchitectuur niveau ALU en datapad
automatiseringselektronica
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
Paragraaf 1: Frankrijk in de 18e eeuw
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
1Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen &  vorige toestand uitgang.
Digitale signalen.
Numerieke Natuurkunde
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Kansrekening. Inhoud Inleiding Inleiding Mogelijkheden noemen/toelichten Mogelijkheden noemen/toelichten Ondervonden problemen (en oplossingen) Ondervonden.
Finite State Machines.
Signaalverwerking Verwerkers. IR-buitenlamp. IJkgrafiek sensor.
Algoritmiek Object-georiënteerd Programmeren
Validiteit, betrouwbaarheid en casemixcorrectie
Gegevensvoorstelling en berekeningen
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
Praktisch rekenen aan transistors 1
Interpreteren van data
BINAIR2: 10-jan-2003, RW Maar HOE reken je nu een BINAIRE waarde om naar een DECIMALE waarde?
Informatica: Binair rekenen.
MET DANK AAN COLLEGA’S IN DEN LANDE ! vee 2012
Programmeren met If This Then That (IFTTT)
Instructieprogramma Behoort bij OPEN LEERTAAK OT 3.1.2
H1 Informatie digitaal §1.1 Bits en bytes Informatie in nullen en enen
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Stromen bij digitale signalen
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Bits & bytes.
Onze school, Albeda colege Schiedam Nieuwland.
Les 1: Zaterdag 10 mei 2014 Wim Peeters
Inleiding computersystemen en netwerken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2.1 Programmeren (2.9) assembler,
Echte Vrienden zijn belangrijk in het leven.
Torens van Hanoi ● Uitgevonden door Franse Wiskundige Edouard Lucas in ● Beschreven in zijn wiskundig “spelletjesboek” Récréations Mathématiques.
Instructie Programmeren Task 3 5JJ70. Task 3.1: MIPS Rating Volg de beschrijving in de opdracht om het aantal assembly instructies in de loop uit te vinden.
Instructie Programmeren Task 2 5JJ70. Task 2.1: Voltage divider Welk type variabele heb je nodig? Negative weerstanden bestaan niet! (print een error.
Programmeren met kinderen NWT-conferentie basisonderwijs SPANNING & SENSATIE.
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
rekenen Basisvaardigheden toegepast rekenen
C++ Les 1: introductie. Programmeren Programma’s scripts Websites libraries (Sound, GUI, netwerking…)
Inhoud Optellen en aftrekken. Vermenigvuldigen en delen.
Inhoud Breuken (optellen, aftrekken, vermenigvuldigen en delen).
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
BEGINNER EV3 PROGRAMMeer Les
Technische Automatisering
Programmeren met Reeksen
Gevorderde EV3 PROGRAMMEER LES
Programmeren woensdag 4 oktober 2017.
Bouwstenen voor computer
Logische basisfuncties
Binaire getallen 1. binair → decimaal 2. decimaal → binair.
Quantumcomputers en quantumcommunicatie
Software Development fundamentals
Transcript van de presentatie:

bewerkingen in programmeeromgevingen Logische bewerkingen Over het toepassen van AND, OR, NOT en EXOR bewerkingen in programmeeromgevingen

Inleiding Zowel in lagere als hogere programmeertalen wordt soms met bitpatronen gemanipuleerd. Meestal als er gewerkt wordt met in- en output poorten. De logische bewerkingen die hier voor worden toegepast zijn: AND voor het resetten van bits, OR voor het setten van bits EXOR voor het inverteren van bits Hoe dat in zijn werk gaat leer je in dit instructieprogramma beginnen

Menu IN en OUT bewerkingen Resetten met AND Inverteren met EXOR Setten met OR Stoppen

IN- en OUT bewerkingen IN b.v. poort 0379H Via poorten kunnen binaire waarden vanuit de buitenwereld in de computer worden ingelezen. Een poort heeft een poortadres (ook wel poortnummer genoemd). In dit geval is dat poortadres 0379H

IN- en OUT bewerkingen IN 5V b0 IN 8x b7 b.v. poort 0379H Op de ingangen van de INPUT-poort kunnen schakelaars zijn aangesloten. Staat de schakelaar in de bovenste stand, dan is de ingang 1. In de onderste stand is dat 0.

IN- en OUT bewerkingen IN 01010010 5V b0 IN 1 1 8x 1 b7 01010010 b.v. poort 0379H Bij een IN instructie wordt de waarde van de ingangen in de computer geladen. In assembly (machinetaal) is dit b.v. IN AL,DX In een hogere taal (VB) is dit waarde = INPORT (&H379)

IN- en OUT bewerkingen 01010010 waarde De binaire waarde staat hu in een register en heeft in een hogere taal een naam. Hier is dat “waarde”. Met deze variabele “waarde” kunnen we dingen doen.

IN- en OUT bewerkingen 01010010 waarde De waarde kan je weergeven als: 01010010B of %01010010 (binair) of als 52H of $52 (hexadecimaal) of als 80 (decimaal)

IN- en OUT bewerkingen 01101110 bitpatr1 Met out instructies kan je een bepaalde waarde ( in dit geval de variabele bitpatr1) naar een outputpoort sturen. In assembly (machinetaal) is dit b.v. OUT DX,AL In een hogere taal (VB) is dit OUTPORT (&H37A) = waarde

IN- en OUT bewerkingen OUT 01101110 1 1 1 1 1 b7 01101110 bitpatr1 b.v. poort 037AH Met out instructies kan je een bepaalde waarde ( in dit geval de variabele bitpatr1) naar een outputpoort sturen. In assembly (machinetaal) is dit b.v. OUT DX,AL In een hogere taal (VB) is dit OUTPORT (&H37A) = waarde

IN- en OUT bewerkingen OUT 01011110 1 1 1 1 1 b7 01011110 bitpatr1 De uitgangen van de poort worden nu 0 en 1 gemaakt in het bitpatroon uit de variabele. Welke waarde heeft de variabele bitpatr1 uitgedrukt in hex en dec? Schrijf dat op en kijk dan pas naar het volgende scherm.

IN- en OUT bewerkingen 01011110B = 5EH = 94 OUT 01011110 1 1 1 1 1 b7 01011110 bitpatr1 01011110B = 5EH = 94 Kan je deze conversie niet maken, kijk dan nog eens naar het instructieprogramma talstelsels uit projectperiode 3

Resetten met AND 5V b0 IN ? ? ? ? 8x ? ? ? b7 waarde b.v. poort 0379H We hebben een waarde ingelezen via een poort en willen in ons programma iets doen als de schakelaar in de bovenste stand staat. Bitje b0 is dan 1. Hier is sprake van een IF….(bitje0=1) …THEN situatie

Resetten met AND waarde = INPORT (&H379) IN xxxxxxx0 5V b0 IN ? ? ? ? 8x ? ? ? b7 xxxxxxx0 waarde b.v. poort 0379H De toestand van de andere ingangen is onbekend en doet er nu niet toe. We noemen dit don’t care conditions. We schrijven hiervoor een X.

Resetten met AND xxxxxxx0 waarde Om de toestand van bitje b0 te kunnen testen moeten we alle andere bits eerst resetten. Dit doen we met de AND instructie.

We kennen de AND functie. Bekijk de waarheidstabel goed. Resetten met AND A B F A & F B 1 1 1 1 1 xxxxxxx0 waarde We kennen de AND functie. Bekijk de waarheidstabel goed.

Resetten met AND & & xxxxxxx0 A B F A 1 & A 1 1 1 1 1 xxxxxxx0 waarde Je kunt ook zeggen: AND-en met een 0 is altijd 0 AND-en met een 1 verandert niets of: A · 0 = 0 en A · 1 = A

Resetten met AND xxxxxxx0 00000001 B F 1 1 1 1 1 xxxxxxx0 waarde 00000001 AND Terug naar de ingelezen waarde: Als ik alle bitjes wil resetten behalve bit 0, dan moet ik de waarde AND-en met 00000001B. Bit bij bit wordt nu een AND bewerking uitgevoerd.

Resetten met AND xxxxxxx0 00000001 00000000 B F 1 1 1 1 1 xxxxxxx0 waarde 00000001 AND 00000000 Alle bits worden gereset behalve bit 0. Deze was al nul en blijft nul (rood).

Bit 0 blijft staan terwijl de rest wordt gereset. Resetten met AND Bit 0 was 1 Bit 0 was 0 xxxxxxx1 waarde xxxxxxx0 waarde 00000001 00000001 AND AND 00000001 00000000 Bit 0 blijft staan terwijl de rest wordt gereset.

Resetten met AND waarde = (INPORT (&H379) AND &H01) IN xxxxxxx0 5V b0 IN ? ? ? ? 8x ? ? ? b7 xxxxxxx0 waarde b.v. poort 0379H 00000001 AND 00000000 waarde Kijk goed naar de instructie en de figuur. De AND functie met 01H (=00000001B) voeren we in een keer uit.

Resetten met AND waarde = (INPORT (&H379) AND &H01) IN xxxxxxx0 5V b0 IN ? ? ? ? 8x ? ? ? b7 xxxxxxx0 waarde b.v. poort 0379H 00000001 AND 00000000 waarde Als de waarde 01 is, moet de schakelaar wel in de bovenste stand staan. Is de waarde 00 dan weten we zeker dat de schakelaar in de onderste stand staat.

Resetten met AND IN xxxxxxx0 00000001 00000000 5V b0 IN ? ? ? ? 8x ? ? ? b7 xxxxxxx0 waarde b.v. poort 0379H 00000001 AND 00000000 waarde We wilden graag realiseren: IF….(bitje0=1) …THEN…... Dit kunnen we nu programmeren als: waarde = (INPORT (&H379) AND &H01) IF waarde = 01 THEN…….

Bedenk nu een programma dat iets doet als bit7 laag is Resetten met AND b0 IN ? ? ? ? ? ? ? b7 xxxxxxxx waarde b.v. poort 0379H ???????? AND waarde Bedenk nu een programma dat iets doet als bit7 laag is

Resetten met AND IN xxxxxxxx 10000000 x0000000 waarde = (INPORT (&H379) AND &H80) IF waarde = 0 THEN……. b0 IN ? ? ? ? ? ? ? b7 xxxxxxxx waarde b.v. poort 0379H 10000000 AND x0000000 waarde Eerst resetten we alles behalve bit 7. Als de waarde daarna 0 is moet bit b7 wel nul zijn. Bekijk goed het programma. Je mag natuurlijk ook gebruiken AND 128. Dit is de decimale waarde van het bitpatroon 10000000B

Inverteren met EXOR A =1 F A B F B 1 1 1 1 1 1 Soms is het nodig bepaalde bits te inverteren. Hiervoor gebruiken we de EXOR bewerking. Kijk eerst goed naar de waarheidstabel.

Inverteren met EXOR A =1 A A B F A 1 1 =1 /A 1 1 1 1 1 Je kunt ook zeggen EXOR-en met een 1 inverteert de variabele EXOR-en met een 0 verandert niets OF A  1 = /A en A  0 = A

Inverteren met EXOR A =1 A A B F A 1 1 =1 /A 1 1 1 1 1 10011100 waarde 11110000 F0H EXOR 01101100 waarde In het voorbeeld worden de bits 0 t/m 3 niet geïnverteerd en de bits 4 t/m 7 wel. Deze functie kan je noemen: EXOR &HF0.

Nog een voorbeeld. Wat is de uitkomst? Inverteren met EXOR A =1 A A B F A 1 1 =1 /A 1 1 1 1 1 10001110 waarde 11000011 C3H EXOR waarde Nog een voorbeeld. Wat is de uitkomst?

Inverteren met EXOR A =1 A A B F A 1 1 =1 /A 1 1 1 1 1 10001110 waarde 11000011 C3H EXOR 01001101 waarde Controleer jouw uitkomst. De rode bits zijn geïnverteerd. De functie is EXOR &HC3 Maar EXOR 195 doet hetzelfde!

Setten met OR A 1 F A B F B 1 1 1 1 1 1 1 Soms is het nodig bepaalde bits te setten. Hiervoor gebruiken we de OR bewerking. Kijk eerst goed naar de waarheidstabel.

Setten met OR A 1 A A B F A 1 1 1 1 1 1 1 1 1 1 Je kunt ook zeggen OR-en met een 1 set de variabele OR-en met een 0 verandert niets OF A + 1 = 1 en A + 0 = A

Setten met OR 1 A A B F A 1 1 1 1 1 1 1 1 1 1 10011100 waarde 11110000 F0H OR 11111100 waarde In het voorbeeld worden de bits 4 t/m 7 geset. De bits 1 t/m 3 veranderen niet. Deze functie kan je noemen: OR &HF0.

Nog een voorbeeld. Wat is de uitkomst? Setten met OR A 1 A A B F A 1 1 1 1 1 1 1 1 1 1 10001110 waarde 11000011 C3H OR waarde Nog een voorbeeld. Wat is de uitkomst?

Setten met OR 1 A A B F A 1 1 1 1 1 1 1 1 1 1 10001110 waarde 11000011 C3H OR 11001111 waarde Controleer jouw uitkomst. De rode bits zijn geset. De functie is OR &HC3 Maar OR 195 doet hetzelfde!

Dit is het laatst scherm Setten met OR Dit is het laatst scherm STOPPEN