Assembler Programmierung ein Rechteck?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Du solltest deine Programme immer ordnungsgemäß beenden. Es gibt mehre Möglichkeiten, wenn du das ganze über Softwareinterrupts realisieren möchtest:

MOV ah, 4Ch
MOV al, 0    ;Status (optional)
INT 21h

Da du vermutlich ein Anfänger bist, würde ich dir von Stacks (aktuell noch) abraten.

Es gibt mehrere Möglichkeiten Register zu speichern:

  • Register in andere Register speichern (AX, BX, CX, DX, SI, DI)
  • Register in den RAM kopieren
  • Register auf den Stack legen

Der Stack gehört ebenfalls zum RAM!

Das ganze sollte dann ungefähr so aussehen:

Bild zum Beitrag

Meine kommentierte Lösung habe ich dir hier zur Verfügung gestellt:

https://pastebin.com/x8a1Ybdv

Woher ich das weiß:eigene Erfahrung
 - (ASM, ASMC, MASM)

verreisterNutzer  24.07.2020, 14:08

Danke dir, vor allem deine Kommentare sind sehr hilfreich, hilft mir beim Lernen über Assembler um einiges weiter.

Da wirst du noch einige JUMPs und AND XOR und bzw AAA brauchen, zeichne dir ein Struktogramm, das könnte Übersicht bringen. Ich denke nicht, dass du für die Aufgabe 2 Stacks gleichzeitig brauchst. Zeig mal was du bisher hast aber bitte nicht in Hexadezimal ;-)

Beste Assembler IDE ein DIN A4 Blatt.

Woher ich das weiß:Hobby