AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Problem in Assembler: Grundrechenarten
Thema durchsuchen
Ansicht
Themen-Optionen

Problem in Assembler: Grundrechenarten

Ein Thema von der olli · begonnen am 8. Mär 2006 · letzter Beitrag vom 9. Mär 2006
 
der olli

Registriert seit: 18. Mai 2004
14 Beiträge
 
#1

Problem in Assembler: Grundrechenarten

  Alt 8. Mär 2006, 20:01
Hi!

Wir programmieren in der Schule momentan Assembler in Delphi. Zu nächster Stunde sollen wir ein Programm, welches die Grundrechenarten beherrscht (- Addieren, Subtrahieren, Multiplizieren und Dividieren -), schreiben, sollen uns das Wissen allerdings selber aneignen.
Addition und Subtraktion habe ich bereits geschafft zu programmieren, allerdings hänge ich nun bei der Syntax für die Multiplikation und die Division (- es soll geprüft werden, ob durch 0 dividiert wird -) - und da wir erst letzte Stunde mit dem Thema angefangen haben, weiß ich leider nicht so recht, wie ich es richtig machen soll. Es hängt wohl irgendwie damit zusammen, dass ich mit Integer arbeite ... Ich poste einfach mal den Quellcode:
Delphi-Quellcode:
var
  Form1: TForm1;
  x, y : Integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
 x := StrToInt(InputBox('Eingabe','Erste Zahl',''));
 y := StrToInt(InputBox('Eingabe','Zweite Zahl',''));
end;

procedure TForm1.bt_beendenClick(Sender: TObject);
begin
 Form1.Close
end;

procedure TForm1.Button2Click(Sender: TObject); // Addition
var h : Integer;
begin
 h := y;
 asm
  mov EAX, x
  add h, EAX
 end;
 ShowMessage('Ergebnis: ' + IntToStr(h))
end;

procedure TForm1.Button3Click(Sender: TObject); // Subtraktion
var h, h2 : Integer;
begin
 h := y;
 h2 := x;
 asm
  mov EAX, h
  sub h2, EAX
 end;
 ShowMessage('Ergebnis: ' + IntToStr(h2))
end;

procedure TForm1.Button4Click(Sender: TObject); // Multiplikation
var h, h2 : Integer;
begin
 h := y;
 h2 := x;
 asm
  mov EAX, h
  // fmul h2, EAX
 end;
 ShowMessage('Ergebnis: ' + IntToStr(h2))
end;

procedure TForm1.Button5Click(Sender: TObject); // Division
var h, h2 : Integer;
begin
 h := y;
 h2 := x;
 asm
  mov EAX, h
  idiv h2, EAX
 end;
end;
Wie ihr seht, bin ich bei den beiden Prozeduren noch nicht allzu weit gekommen (- Fehlermeldung: Ungültige Kombination von Opcode und Operanden -) ... Ich hoffe, mir kann jemand bei der Lösung helfen!

Gruß,
Olli
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz