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
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
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:
![- (ASM, ASMC, MASM)](https://images.gutefrage.net/media/fragen-antworten/bilder/360287184/0_big.png?v=1595525286000)
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Danke dir, vor allem deine Kommentare sind sehr hilfreich, hilft mir beim Lernen über Assembler um einiges weiter.
![](https://images.gutefrage.net/media/user/geri3d/1445246679564_nmmslarge__92_208_1652_1652_70c8a924950b847ddd012ca7a0648a93.jpg?v=1445246680000)
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.