Hallo, möchte das folgende Programm auf einen MS430 aufspielen.
1 | int main() |
2 | {
|
3 | int menue; // Deklaration der lokalen Variablen |
4 | int reiheA, i; |
5 | int par, j; |
6 | float zwischen, erg, eingeben = 0, Reihe_R, Summe; |
7 | |
8 | printf("Programm zur Berechnung der Widerst\x84nde in einer Reihen- oder Parallelschaltung\n"); // beginn des Programms mit der Abfrage was berechnet werden soll |
9 | printf("1 f\x81r Reiehenschaltung \n2 f\x81r Parallelschaltung\n\n"); |
10 | scanf_s("%i", &menue); |
11 | if (menue == 1) // <-------- // folgende Schleife wird ausgeführt wenn 1 gedrückt wird |
12 | {
|
13 | printf("Sie haben sich f\x81r die Reihenschaltung entschieden!\n\n"); |
14 | printf("Angaben bitte in Volt\n"); |
15 | printf("Wieviele Widerst\x84nde?\n"); |
16 | scanf_s("%i", &reiheA); |
17 | printf("Geben Sie die erste Zahl ein:\n"); |
18 | for (i = 0; i < reiheA; i++) // Schleife für Reihenschaltung |
19 | {
|
20 | scanf_s("%f", &Reihe_R); |
21 | Summe = Summe + Reihe_R; |
22 | if (i < reiheA - 1) // Schleife die Mitzählt bis zum Maximum der Widerstände |
23 | {
|
24 | printf("Es fehlt noch eine!\n"); |
25 | }
|
26 | else
|
27 | {
|
28 | printf("--> Stop\n\n"); |
29 | }
|
30 | }
|
31 | printf("\n"); |
32 | printf("Ergebnis ist: %f V\n", Summe); |
33 | printf("\n"); |
34 | }
|
35 | else if (menue == 2) // <------- // wenn 2 gedrückt wird, wird die Schleife ausgeführt ( Parallelschaltungsberechnung ) |
36 | {
|
37 | printf("Sie haben sich f\x81r die Parallelschaltung entschieden!\n\n"); |
38 | printf("Angaben bitte in Ohm\n"); |
39 | printf("Wieviele Widerst\x84nde sind parallel?\n"); |
40 | scanf_s("%i", &par); |
41 | printf("Geben Sie bitte den ersten Widerstand ein\n"); |
42 | for (j = 0; j < par; j++) // Schleife für Parallelschaltung |
43 | {
|
44 | printf("Eingeben und durch Enter best\x84tigen\n\n"); // Eingabe der Widerstandswerte |
45 | scanf_s("%f", &zwischen); |
46 | eingeben = eingeben + (1 / zwischen); // Berechnung der Widerstandswerte |
47 | }
|
48 | erg = 1 / eingeben; |
49 | printf("Ergebnis: %f \n\n", erg); |
50 | printf("Stop\n\n"); |
51 | }
|
52 | else
|
53 | {
|
54 | // <--------
|
55 | }
|
56 | {
|
57 | printf("Falsche Eingabe\n"); // Falls weder 1 noch 2 eingegeben wurden |
58 | }
|
59 | printf("Bis dann!"); |
60 | return 0; |
61 | }
|
Mein Problem ist die Herangehensweise. Dachte mir zu Erst das Programm in C zu Schreiben. Nun im Anschluss in Assemblercode transformieren. Ist das soweit annehmbar? Nun zu Assembler: natürlich müssen die Deklarationen geändert werden. Eine float-Zahl ist in meinem Fall eine qN-Wert. q Defniert dabei eine Kommazahl bis hoch 16, wenn ich nicht irre. Nach der Wandlung muss ich was tun?