我用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
为什么我无法在上面的源中分配一段内存?