• 02.05.2025, 05:51
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

r4p

Senior Member

Neue Zeile bei assembly? Gelöst

Samstag, 17. April 2004, 16:43

Hi,

Wie veranlasse ich assembly nach ner ausgegebenen Textzeile nen Absatz zu produzieren.

Also :

Text
Text
Text

Bis jetzt macht der nämlich immer :

TextTextText

r4p
Gentoo nutzer mit Herz und Seele: Gentoo Gentoo Wiki

"Bei der Eroberung des Weltraums sind zwei Probleme zu lösen: die Schwerkraft und der Papierkrieg. Mit der Schwerkraft wären wir fertig geworden." - Wernher von Braun

Re: Neue Zeile bei assembly?

Samstag, 17. April 2004, 20:20

\n ?

r4p

Senior Member

Re: Neue Zeile bei assembly?

Samstag, 17. April 2004, 20:31

Da gibts Fehler bei.

Bis jetzt sieht mein outputt so aus

Quellcode

1
2
3
4
5
6
7
...
      mov dx,OFFSET meldung
      loopstart:
            int 21h
            dec cx
            jnz loopstart
...


und den Text "meldung" soll er untereinander drucken.

Achso. Eingabe sieht so aus:

Quellcode

1
2
DATASEG
        meldung db "Hallo World!","$"


(Ja ich lerne assembly grade erst...)

r4p
Gentoo nutzer mit Herz und Seele: Gentoo Gentoo Wiki

"Bei der Eroberung des Weltraums sind zwei Probleme zu lösen: die Schwerkraft und der Papierkrieg. Mit der Schwerkraft wären wir fertig geworden." - Wernher von Braun

Re: Neue Zeile bei assembly?

Samstag, 17. April 2004, 20:45

die zeichen 0d und 0a ergeben zusammen n zeilenumbruch
könntest den text also so deklariern:
meldung db 'hello world', 0Dh, 0Ah, '$'

esca.pe sequenzen funktionieren hier übrigens grad ma gar ned, die nimmt man eher in hochsprachen wie c ;)

r4p

Senior Member

Re: Neue Zeile bei assembly?

Samstag, 17. April 2004, 22:49

Zitat von »r1ppch3n«


esca.pe sequenzen funktionieren hier übrigens grad ma gar ned, die nimmt man eher in hochsprachen wie c ;)

Aha und was heist das jetzt? Ich habe die ganzen Fachwörter noch nicht in meinem Vokabular...

so sieht meine asm-Datei aus und das funktioniert so auch.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
IDEAL
MODEL SMALL
STACK 100
DATASEG
        meldung db "Hallo World!",0Dh, 0Ah,"$"
CODESEG
start:
      STARTUPCODE
      mov ah,009h
      mov cx,10
      mov dx,OFFSET meldung
      loopstart:
            int 21h
            dec cx
            jnz loopstart
      EXITCODE
END start


Is jetzt mit dem 0Dh und dem 0ah und es geht! Vielen Dank.

r4p
Gentoo nutzer mit Herz und Seele: Gentoo Gentoo Wiki

"Bei der Eroberung des Weltraums sind zwei Probleme zu lösen: die Schwerkraft und der Papierkrieg. Mit der Schwerkraft wären wir fertig geworden." - Wernher von Braun

Re: Neue Zeile bei assembly? Gelöst

Samstag, 17. April 2004, 23:16

ok, dann für anfänger... ;)

manche sprachen übersetzen bestimmte zeichenfolgen in strings bevor se quelltexte compilieren
da wird dann aus \n zb ein zeilenumbruch oder aus \t n tab stop (deshalb is n backslash in nem string auch schoma ganz gut als fehlerquelle zu gebrauchen ;))

assembler machen das nicht (zumindest nicht die paar die ich kenne), die sind schlicht und einfach zu blöd für sowas, weshalb du solche zeichen halt manuell einfügen musst (zb eben 0D0Ah für n zeilenumbruch) und das ganze eigentlich schon wieder vergessen kannst bis du dich irgendwann ma ner vernünftigen programmiersprache zuwendest ;)