Assembler Programmierung ein Rechteck?
Hallo, und zwar ist meine Frage wie ich es schaffe mit Assembler Code(.8 Datei oder Nasm)ein Rechteck mit '+' auszugeben das 50 zeichen breit und 10 Zeichen hoch ist? Habe es mit push und Pop versucht doch ich weiß nicht wie ich es schaffe 2 stacks gleichzeitig zum laufen zu bringen damit es die Höhe und breite erfasst.
2 Antworten
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:
Meine kommentierte Lösung habe ich dir hier zur Verfügung gestellt:

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.