Nach vielen langen Jahren in der Versenkung, bin ich mal wieder am Programmieren für DOS.
Ich habe noch nie zuvor RAM alloziiert in DOS und irgendwie gibt es da Probleme.
Ich fordere bsp. 100 byte an. Das macht nach meiner Rechnung 7 Paragraphen. Also BX=7, AH=48h und int21 ausführen. Da ich zwei solcher Blöcke brauche, mache ich das nochmal. Ich stelle aber enttäuscht fest, dass die zurückgegebenen Adressen sich nur um 7 unterscheiden. Sprich: Adresse2-Adresse1=7. Aber ich habe doch 7 Paragraphen und nich 7 byte angefordert.
Code: Alles auswählen
mov bx, 7
mov ah, $48
int $21
mov [addr1], AX