Я пишу приложение, которое должно быть выделено в сегменте с 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
Почему я не могу выделить сегмент памяти с моим источником выше?