Hallo,
ich probiere gerade ein Programm aus Assembler heraus zu starten. Mit der Windows-API ist das zwar viel einfacher, aber ich würde es trotzdem gerne per Interrupt machen, ich weiß nur nicht so ganz wie...
Gefunden habe ich den Int 21 mit ah = 4b
Die Anwendung ist mir jedoch an manchen Stellen schleierhaft, speziell was es mit dem Parameterblock auf sich hat.
1. Was sind FCB und PSP?
2. Muss ich [edi+Ah] und [edi+12h] überhaupt beschreiben, wenn al = 0 ist?
ich probiere gerade ein Programm aus Assembler heraus zu starten. Mit der Windows-API ist das zwar viel einfacher, aber ich würde es trotzdem gerne per Interrupt machen, ich weiß nur nicht so ganz wie...
Gefunden habe ich den Int 21 mit ah = 4b
Die Anwendung ist mir jedoch an manchen Stellen schleierhaft, speziell was es mit dem Parameterblock auf sich hat.
Code:
lea edi, Parameterblock
mov [edi], 0
mov [edi+2h], offset Kommandozeile
mov [edi+6h], ??? ;pointer to first FCB to be copied into child's PSP
mov [edi+Ah], ??? ;pointer to second FCB to be copied into child's PSP
mov [edi+Eh], ??? ;(AL=01h) will hold subprogram's initial SS:SP on return
mov [edi+12h], ??? ;(AL=01h) will hold entry point (CS:IP) on return
lea dx, prgName
lea bx, Parameterblock
mov cx, 04h
mov ah, 4Bh
xor al, al ;Programm laden und ausführen
int 21h
1. Was sind FCB und PSP?
2. Muss ich [edi+Ah] und [edi+12h] überhaupt beschreiben, wenn al = 0 ist?