@Laurin
Ich meinte interrupt 21h(vertippt). Wenn ich 12h gemeint hätte, hätte ich recht gehabt.
Ich war mir nicht sicher ob es dos oder bios interrupt ist, und war zu faul um es zu überprüfen.
Somit hatte traumatic recht das es DOS-Code war und ohne dos nicht funktioniert.
Jedenfalls, super das du die Liste und den Link gepostet hast.
Meine ersten Schritte in ASM
@125:
Ich gehe mal davon aus, dass Du FASM benutzt, oder.
Dann probier mal folgendes HelloWorld ('ne .com Datei) :
Ich gehe mal davon aus, dass Du FASM benutzt, oder.
Dann probier mal folgendes HelloWorld ('ne .com Datei) :
Code: Alles auswählen
org 256
mov ah,9
mov dx,text_to_display
int 21h
int 20h
label text_to_display
db 'Hello World$'
So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
@Martin:
Ich weiß
@MVXA:
Ich bin immernoch der Meinung, dass man LEA benutzen müsste:
Pff.. ist das lange her
. Das mit dem ORG war nötig, damit der Assembler EXE- und COM-Dateien auseinanderhalten könnte. Der innere Aufbau einer (16-Bit) COM entsprach nicht dem einer (16-Bit) EXE. Bei EXEs musste man Segmente angeben (zB Daten-Segment, Codesegment etc.), dass war bei einer COM nicht nötig.
Das ist alles etwas kompliziert. Grob gesagt, läßt ORG 256 dein Programm an der Speicherstelle 256 starten.
Greetz Laurin
Ich weiß

@MVXA:
Ich bin immernoch der Meinung, dass man LEA benutzen müsste:
Opcode-Hilfe von MASM hat geschrieben:LEA - Load Effective Address
Usage: LEA dest,src
Modifies flags: None
Transfers offset address of "src" to the destination register.
@125:MOV - Move Byte or Word
Usage: MOV dest,src
Modifies flags: None
Copies byte or word from the source operand to the destination
operand. If the destination is SS interrupts are disabled except
on early buggy 808x CPUs. Some CPUs disable interrupts if the
destination is any of the segment registers.
Pff.. ist das lange her

Das ist alles etwas kompliziert. Grob gesagt, läßt ORG 256 dein Programm an der Speicherstelle 256 starten.
Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
- remi_meier
- Beiträge: 1078
- Registriert: 29.08.2004 20:11
- Wohnort: Schweiz

Ich habe noch nichts dergleiche geshen: Wie sehen denn die 64-Bitregister vom Athlon 64 aus? xeax? eeax? Vorallem sollen ja auch einige Hilfsregister dazugekommen sein.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
- remi_meier
- Beiträge: 1078
- Registriert: 29.08.2004 20:11
- Wohnort: Schweiz
AFAIK sind glaub sehr viele neue Register dazugekommen (eins heisst glaub rdx). Das Lustige ist, dass bei Funktionsaufrufen jetzt nicht mehr die Parameter auf den Stack gelegt werden, sondern in die Register -> SPEED.
Hab ich nur irgendwo aufgeschnappt, aber wenn du es genau wissen willst, schau in die Hilfe vom Fasm 1.60
Hab ich nur irgendwo aufgeschnappt, aber wenn du es genau wissen willst, schau in die Hilfe vom Fasm 1.60
