带有Fasm的DOS中的内存分配

时间:2018-09-15 09:58:20

标签: dos fasm

我用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

为什么我无法在上面的源中分配一段内存?

0 个答案:

没有答案