De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "Logische bewerkingen Over het toepassen van AND, OR, NOT en EXOR bewerkingen in programmeeromgevingen."— Transcript van de presentatie:

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

2 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

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

4 IN- en OUT bewerkingen 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 b.v. poort 0379H b0 b7

5 IN- en OUT bewerkingen 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 5V 8x b.v. poort 0379H b0 b7

6 IN- en OUT bewerkingen 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 V 8x b.v. poort 0379H b0 b

7 IN- en OUT bewerkingen 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 waarde

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

9 IN- en OUT bewerkingen 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 bitpatr

10 IN- en OUT bewerkingen 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 bitpatr1 OUT b0 b b.v. poort 037AH

11 IN- en OUT bewerkingen 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 bitpatr1 OUT b0 b

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

13 Resetten met AND IN 5V 8x b.v. poort 0379H b0 b7 0 ? ? ? ? ? ? ? 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 waarde

14 Resetten met AND IN xxxxxxx0 5V 8x b.v. poort 0379H b0 b7 0 ? ? ? ? ? ? ? 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. waarde waarde = INPORT (&H379)

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

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

17 Resetten met AND xxxxxxx0 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 waarde & A 0 0 ABF & A 1 A

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

19 Resetten met AND xxxxxxx0 Alle bits worden gereset behalve bit 0. Deze was al nul en blijft nul (rood). waarde ABF AND

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

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

22 Resetten met AND AND 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. IN xxxxxxx0 5V 8x b.v. poort 0379H b0 b7 0 ? ? ? ? ? ? ? waarde waarde = (INPORT (&H379) AND &H01) waarde

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

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

25 Resetten met AND AND x 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 B IN xxxxxxxx b.v. poort 0379H b0 b7 ? ? ? ? ? ? 0 waarde ? waarde = (INPORT (&H379) AND &H80) IF waarde = 0 THEN…….

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

27 Inverteren met EXOR 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 =1 A 0 ABF A 1 /A A

28 Inverteren met EXOR 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. =1 A 0 ABF A 1 /A A EXOR waarde F0H

29 Inverteren met EXOR Nog een voorbeeld. Wat is de uitkomst? =1 A 0 ABF A 1 /A A EXOR waarde C3H

30 Inverteren met EXOR Controleer jouw uitkomst. De rode bits zijn geïnverteerd. De functie is EXOR &HC3 Maar EXOR 195 doet hetzelfde! =1 A 0 ABF A 1 /A A EXOR waarde C3H

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

32 Setten met OR 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 11 A 0 ABF 11 A 1 1 A

33 Setten met OR 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 &HF OR waarde F0H 11 0 ABF 11 A 1 1 A

34 Setten met OR Nog een voorbeeld. Wat is de uitkomst? A OR waarde C3H 11 0 ABF 11 A 1 1 A

35 Setten met OR Controleer jouw uitkomst. De rode bits zijn geset. De functie is OR &HC3 Maar OR 195 doet hetzelfde! OR waarde C3H 11 0 ABF 11 A 1 1 A

36 Setten met OR Dit is het laatst scherm STOPPEN


Download ppt "Logische bewerkingen Over het toepassen van AND, OR, NOT en EXOR bewerkingen in programmeeromgevingen."

Verwante presentaties


Ads door Google