_Praktikant_
Level-1
- Beiträge
- 8
- Reaktionspunkte
- 0
// Laden der
beiden Doppelwörter
L 32
loop: T #Schleifenzähler
X L 0.0 //summand1
X L 2.0 //summand2
X #übertrag
= L 4.0 //ergebnis
L #schleifenzähler
LOOP loop
//Ergebnis speichern
Zur Einübung soll ich 2 (32bit) Dualzahlen addieren, aber ohne die vorhandene Add.funktion.
L 32
L #Schleifenzaehler
-I
T #Zaehlvar
L P##Summand_1_Temp; //die Adresse von Summand_1_Temp wird geladen
LAR1 ;
L 32;
L #Schleifenzaehler;
-I ;
+AR1 ; //das bewirkt, daß z.bsp. bei +8, das AR1 um 8 Bit erhöht wird!
//Ergebnisbit berechnen
X [AR1,P#0.0]; //summand1
X [AR1,P#4.0]; //summand2
X #Uebertrag_Temp; //übertrag
= [AR1,P#8.0]; //ergebnis
Hi
Würde sagen:
Wandle eine Zahl in eine Negative Zahl um ( Zahl *-1)
Subtrahiere dann die Beiden Zahlen.
Reihenfolge der Subtraktion beachten !
Zahl = Zahl_1 + Zahl_2
identisch mit
Zahl = Zahl_1 - (Zahl_2 *-1)
Wo ist das Problem.
Irgenwie DOOF die Aufgabenstellung
Sollst du Progen oder Grundlagen Mathematik machen
Warum, ist die Lösung von mir falsch.Ich denk mal, er soll das wirklich binär machen.
Addition ist Addition.Da ist dann natürlich eine echte Addition drin, aber das ist ja hoffentlich nicht verboten.
Hi Ralle
Warum, ist die Lösung von mir falsch.
In der Frage stand NIX von Schleifen UND Indirekter Adressierung.
@Ralle
Addition ist Addition.
Verboten ;-)
Will auch mal Recht haben. :-(
Klare AnsageZur Einübung soll ich 2 (32bit) Dualzahlen addieren, aber ohne die vorhandene Add.funktion.
Kennt du den Konrad (Aufgabensteller)Ich denke schon dass der Lösungsansatz von Ralle schon eher an das hin kommt was der Aufgabensteller haben will!
Kennt du den Konrad (Aufgabensteller)
Komisch, ich bin bald 20 Jahre Verheiratet und weis NICHT einmal was meine Frau "will"@_Praktikant_
Ich denke du solltest dich noch mal zu den Lösungsansätzen äusern, schließlich kannst du am besten abschätzen was der Aufgabensteller von dir will.
Hi Steve81
Komisch, ich bin bald 20 Jahre Verheiratet und weis NICHT einmal was meine Frau "will"
Zur Einübung soll ich 2 (32bit) Dualzahlen addieren, aber ohne die vorhandene Add.funktion.
L MD 100 // Zahl 1
T MD 120 // Zahl 1
L MD 110 // Zahl 2
T MD 130 // Zahl 2
L 32
M01: T MW 200 // Schleife
L MD 120 // Zahl 1
L MD 130 // Zahl 2
XOD
T MD 140 // Zwischenwert
L MD 120 // Zahl 1
L MD 130 // Zahl 2
UD
T MD 150 // Überlauf
L MD 150 // Überlauf
SLD 1
T MD 150 // Überlauf
L MD 140 // Zwischenwert
T MD 120 // Zahl 1
L MD 150 // Überlauf
T MD 130 // Zahl 2
L MW 200 // Schleife
LOOP M01
L MD 140 // Zwischenwert
L MD 150 // Überlauf
OD
T MD 160 // Ergebnis
Folgender Programmcode sollte auch ohne indirekte Adressierung funktionieren.
Also, die Aufgabe ist wirklich gut :twisted: .
Indirekte Adressierung, Schleife und Stolperklippen bei der Ermittlung des Übertrags! Eine wirklich besch.. äh gelungene Kombination für eine Übungsaufgabe. Viel Spaß!
Kleiner Tipp:Gruß, Onkel
- Befehl TAD ansehen!
- ein Übertrag erfolgt, wenn
- 1. beide bits in den Zahlen "1" sind, ODER
- 2. ein bit "1" ist UND ein Übertrag ansteht
Na setze noch einen zur ind. Adressierung drauf. Ist nur ein Vorschlag, natürlich geht es auch anders. Ich würde es in einer FC mit AR1 und AR2 adressieren.Die Tips sind gut.
...
...
L 32
L001: T #TEMP_INT
//*** Binärergebnis unter Berücksichtigung des Übertrag
X [AR1,P#0.0]
X [AR2,P#0.0]
X #UEBERTRAG
= #EINS // Ergebnisbit
//*** Übertrag
...
...
...
= #UEBERTRAG
U #EINS
= [AR2,P#0.0] // am Ende Summand in AR2
...
...
+AR1 P#0.1
+AR2 P#0.1
L #TEMP_INT
LOOP L001
Ja ok, ursprünglich wollte ich auf die Bausteinparameter adressieren. Dann ist es mit zwei unabhängigen Zeigern sinnvoll, da die Parameter in unterschiedlichen Datenbereichen liegen könnten.@Onkel
nö, brauchste nicht, AR1 reicht vollkommen.
Mir wurde am anfang dword gesagt -> beides möglich??Summand_1, Summand_2 und das Ergebnis legst du im Tempbereich des Bausteins hintereinander als DINT an.
Ist hier kopieren von werten aus DB in temp-var gemeint?Am Anfang, vor der Schleife werden Summand_1, Summand_2 in diese Temp-Var hineinkopiert.
HTML:L 32; L #Schleifenzaehler; -I ; +AR1 ;
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?