Estex-DSS/DSS/API/RetMem.asm

27 lines
595 B
NASM

//////////////////////////////////////////////////////////////////////
; ”ã­ªæ¨ï #3E. Žá¢®¡®¦¤¥­¨¥ ¡«®ª  ¯ ¬ïâ¨.
;
; ¢å®¤: A - ¨¤¥­â¨ä¨ª â®à ¡«®ª  ¯ ¬ïâ¨
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
//////////////////////////////////////////////////////////////////////
RETMEM: LD E,A
LD D,#00
LD HL,MEMTAB ; ¬ áᨢ ᯨ᪠ ¢ë¤¥«. áâà ­¨æ
ADD HL,DE
LD A,(TASK) ; ã஢¥­ì ⥪ã饩 ¯à®£à ¬¬ë
CP (HL)
LD A,DSS_Error.sys.INVALID_MEMORY_HND
SCF
RET NZ
;PUSH DE
LD A,E
LD C,BIOS.FreeMem
RST ToBIOS
;POP DE
LD A,DSS_Error.sys.INVALID_MEMORY_HND
RET C
LD HL,MEMTAB
ADD HL,DE
XOR A
LD (HL),A
RET