Распределение памяти в DOS с Fasm - PullRequest
0 голосов
/ 15 сентября 2018

Я пишу приложение, которое должно быть выделено в сегменте с DOS, однако я не могу найти сегмент, чтобы выделить мое приложение, используя INT 21H AH == 48H. Что не так в моем коде?

org 100h
klog:
cli
push es
mov ax,0
mov es,ax
es
mov cx,[24h]
es
mov dx,[26h]
es
mov [180h],cx
es
mov [182h],dx
mov ax,4800h;ALLOCATE MEMORY:AH==48H
mov bx,100h
int 21h
mov cx,0
mov bp,ax ;SEGMENT OF MEMORY == BP
xor bx,bx
es
mov [24h],bx
es
mov [26h],bp
pop es
sti
push    es
mov             si,bp
mov             es,si
mov             si,code
mov             di,0
mov             cx,codesize-code
repz 
movsb
pop             es
push            es
mov             si,bp
mov             es,si
mov             si,keys
mov         di,codesize-code+1024
mov             cx,36h
repz
movsb
pop             es
push            es
mov             ax,bp
mov             es,ax
mov             ax,codesize
mov             bx,codesize
es
mov             [bx],ax
pop             es
ret

Почему я не могу выделить сегмент памяти с моим источником выше?

...