• Keine Ergebnisse gefunden

LC 1 (Forsetzung)

N/A
N/A
Protected

Academic year: 2022

Aktie "LC 1 (Forsetzung)"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

LC 1 (Forsetzung)

Steuerwerk

Rechenwerk

OPC opadr BR

lda, ldb mov

1 ALU 2

3 add, sub

add, sub, and, rra, rla

add, sub, and, rra, rla

add, sub, and

O A mab B

AR

Memory 64 * 10

DR

(2)

LC 1

Arbeitsweise des Rechenwerkes

nach Fetchphase steht im der aktuelle Befehl im Befehlsregister BR

Steuerwerk (SW) liest den Operationskode OPC

von OPC abhängig:

Funktion der ALU

Datentransporte im Rechenwerk (RW)

z.B.: MOV opadr AR := opadr DR := A

MEMORY (AR) := DR

ADD ALU1 := A Flags: SF, OF ALU2 := B

ALU3 := ALU1 + ALU2 A := ALU3

(3)

LC 1

ein einfaches LC 1 Programm

s := x + y; {Pascal-Notation}

LC-Programm

LDA X LDB Y ADD MOV S HLT

x: DEF 12

Y: DEF -37 S: DEF 0

(4)

LC1

Bedienung

Anzeige Steuerung Modell des

Prozessors Modell des

Speichers

Simulations- programm

(5)

LC1EDIT

LC1EDIT filename.lc1

filename.obj DOS

<ALT x>

lc1edit

<ALT l> <ALT s>

<ALT a>

Editierkommandos (Anzeige mit F1)

(6)

LC1EDIT

Hotkeys:

ALT + l Laden eines lc1- Assemblerprogr.

ALT + s Speichern eines lc1-Assemblerprogr.

ALT + a, ESC Übersetzen eines lc1-Assmb.pr.

ALT + x Verlassen von LC1EDIT

(7)

Simulator LC1

LC1 DOS

filename.obj

e lc1

l filename.obj

Simulationskommandos:

r – run

x – single step v adr - Anzeige ab adr

(8)

Befehlsliste

lda adr A <= Memory(adr), [S]

ldb adr B <= Memory(adr)

mov adr Memory(adr) <= A

mab B <= A

add A := A + B

sub A := A – B

and A := A and B (bitweise), [S]

not A := not A (bitweise), [S]

jmp adr PC := adr

(9)

Befehlsliste (2)

jps adr if S = 1 then PC := adr

jpo adr if O = 1 then PC := adr

rra n A9....0 := A09....1, n – mal

rrl n A9....0 := A8....09, n – mal

hlt stop

(10)

Befehlssatz (3)

Unterprogrammbefehle

cal adr Memory(SP) := PC

SP := SP -1 PC := adr

ret SP := SP +1

PC := Memory(SP)

Assemblerdirektive

adr def wert Memorry(adr) := wert

(11)

Vergleichsoperation

Ergebnisse von Operationen werden nicht unmittelbar, sondern später (mindestens ein Befehl) ausgewertet (insbesondere bei 0 – 3 – Adressmaschinen)

Dazu werden Aussagen über

Berechnungsergebnisse in Flags gespeichert.

Welche Vergleiche sind möglich?

Wie beeinflussen (verknüpfende) Befehle die Flags

Welche Auswertemöglichkeiten gibt es?

(12)

Vergleichsoperation (2)

Auswertung des Ergebnisses der Subtraktion:

Operanden A,B ---> {-512 ...511}

Ergebnis C=A-B---> {-1024...1023} (aber nur {-512 ... 511} darstellbar)

-512...-1 0...511 512...1023

-1023...-513

(13)

Vergleichsoperation (2)

Auswertung des Ergebnisses der Subtraktion:

Operanden A,B ---> {-512 ...511}

Ergebnis C=A-B---> {-1024...1023} (aber nur {-512 ... 511} darstellbar)

-512...-1 0...511 512...1023

-1023...-513

S = 1 S = 0 O = 0 O = 0

(14)

Vergleichsoperation (2)

Auswertung des Ergebnisses der Subtraktion:

Operanden A,B ---> {-512 ...511}

Ergebnis C=A-B---> {-1024...1023} (aber nur {-512 ... 511} darstellbar)

-512...-1 0...511 512...1023

-512 ... -1 S = 1 S = 0

O = 0 O = 0 +1...+511

-1023...-513

S = 0 S = 1 O = 1 O = 1

(15)

Vergleichsoperation (3)

-512...-1 0...511 512...1023

-512 ... -1 S = 1 S = 0

O = 0 O = 0 +1...+511

-1023...-513

S = 0 S = 1 O = 1 O = 1

A < B A < B A≥ B

A ≥ B

A > B A < B

(16)

Beispiel

produkt = faktor1 * faktor2

Lösungsansatz: faktor1-fache Addition von faktor2

Wertebereich von LV1: -512 .... +511

Produkt muss in diesem Intervall liegen, Faktoren sind entsprechend zu wählen.

(17)

Beispiel (2)

loop: lda faktor1 ; A:= faktor1 ldb eins ; B := 1

sub ; A := A – B

jps fertig ; if A < 0 then goto fertig mov faktor1 ; faktor1 := A

lda produkt ; A := produkt ldb faktor 2 ; B := faktor2

add ; A := A + B

mov produkt ; produkt := A jmp loop ; goto loop fertig: lda produkt ; A := produkt hlt

faktor1: def 5 faktor2: def 3 produkt: def 0 eins: def 1

Referenzen

ÄHNLICHE DOKUMENTE

Angaben in %; Antwortskala: 1 ausgesprochen hohes Vertrauen, 2 eher hohes Vertrauen, 3 weder hohes noch niedriges Vertrauen, 4 eher niedriges Vertrauen, 5 ausgesprochen

 Sind die Konzeptdefinitionen (und Axiome) in einer TBox „zu stark“, so daß sogar Konzeptnamen.

da wir entweder dich garnicht/ oder doch nur knechtlich und nicht kindlich gefürchtet. Wir haben auch dich / du unser höchstes Tut/ nicht über alles geltebet und geeh- ret/

(c) Diskutieren Sie mit diesen Ergebnissen die Frage: Welchen Einfluss hat D¨ampfung auf die Breite der Wellenfunktion eines

► Private Operation OP einer Klasse K: Die Ausführung von OP für ein Objekt der Klasse K ist nur durch ein Objekt der selben Klasse K möglich}. ► Öffentliche (public)

Ein Sportgerät (Golfschläger [0005], Figur 2, [0008] für Sportarten) umfassend - einen länglichen Körper ([0005]: länglicher Rohrschaft 92, Figur 2) mit einem Kern ([0005],

ZweijöhrigeVersuche haben gezeigt, dass man Sommerweizen im Mittelland ungeheizt aussäen kann, wenn ein verein- fachter Gesundheitstest nicht mehr als 10% befallene Körner

Bei allen anderen Patienten mit paradoxer Embolie über einen kardia- len RLS sollte eine orale Antikoagulati- on (Ziel-INR 2 bis 3) über einige Jahre erfolgen,