mirror of
https://github.com/cc65/cc65.git
synced 2025-01-08 20:31:31 +00:00
Renamed _hadd to _heapadd
git-svn-id: svn://svn.cc65.org/cc65/trunk@1911 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
703447dd26
commit
8012074ea0
@ -57,7 +57,8 @@ void* __fastcall__ malloc (size_t size);
|
|||||||
void* __fastcall__ calloc (size_t count, size_t size);
|
void* __fastcall__ calloc (size_t count, size_t size);
|
||||||
void* __fastcall__ realloc (void* block, size_t size);
|
void* __fastcall__ realloc (void* block, size_t size);
|
||||||
void __fastcall__ free (void* block);
|
void __fastcall__ free (void* block);
|
||||||
void __fastcall__ _hadd (void* mem, size_t size); /* Non-standard */
|
/* Non standard functions */
|
||||||
|
void __fastcall__ _heapadd (void* mem, size_t size);
|
||||||
|
|
||||||
/* Random numbers */
|
/* Random numbers */
|
||||||
#define RAND_MAX 0x7FFF
|
#define RAND_MAX 0x7FFF
|
||||||
@ -75,7 +76,7 @@ int __fastcall__ atexit (void (*exitfunc) (void));
|
|||||||
void* bsearch (const void* key, const void* base, size_t n,
|
void* bsearch (const void* key, const void* base, size_t n,
|
||||||
size_t size, int (*cmp) (const void*, const void*));
|
size_t size, int (*cmp) (const void*, const void*));
|
||||||
div_t __fastcall__ div (int numer, int denom);
|
div_t __fastcall__ div (int numer, int denom);
|
||||||
void __fastcall__ exit (int ret);
|
void __fastcall__ exit (int ret);
|
||||||
char* __fastcall__ getenv (const char* name);
|
char* __fastcall__ getenv (const char* name);
|
||||||
void qsort (void* base, size_t count, size_t size,
|
void qsort (void* base, size_t count, size_t size,
|
||||||
int (*compare) (const void*, const void*));
|
int (*compare) (const void*, const void*));
|
||||||
|
@ -52,8 +52,8 @@ C_OBJS = _afailed.o \
|
|||||||
S_OBJS = _fdesc.o \
|
S_OBJS = _fdesc.o \
|
||||||
_file.o \
|
_file.o \
|
||||||
_fopen.o \
|
_fopen.o \
|
||||||
_hadd.o \
|
|
||||||
_heap.o \
|
_heap.o \
|
||||||
|
_heapadd.o \
|
||||||
_oserror.o \
|
_oserror.o \
|
||||||
_printf.o \
|
_printf.o \
|
||||||
_swap.o \
|
_swap.o \
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
;
|
;
|
||||||
; Add a block to the heap free list
|
; Add a block to the heap free list
|
||||||
;
|
;
|
||||||
; void __fastcall__ _hadd (void* mem, size_t size);
|
; void __fastcall__ _heapadd (void* mem, size_t size);
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
||||||
.importzp ptr1, ptr2
|
.importzp ptr1, ptr2
|
||||||
.import popax
|
.import popax
|
||||||
.import hadd
|
.import heapadd
|
||||||
.export _hadd
|
.export _heapadd
|
||||||
|
|
||||||
.macpack generic
|
.macpack generic
|
||||||
|
|
||||||
@ -25,7 +25,8 @@ min_size = 6
|
|||||||
|
|
||||||
; Code
|
; Code
|
||||||
|
|
||||||
_hadd: sta ptr1 ; Store size in ptr1
|
_heapadd:
|
||||||
|
sta ptr1 ; Store size in ptr1
|
||||||
stx ptr1+1
|
stx ptr1+1
|
||||||
jsr popax ; Get the block pointer
|
jsr popax ; Get the block pointer
|
||||||
sta ptr2
|
sta ptr2
|
||||||
@ -53,7 +54,7 @@ _hadd: sta ptr1 ; Store size in ptr1
|
|||||||
|
|
||||||
; Call the internal function since variables are now setup correctly
|
; Call the internal function since variables are now setup correctly
|
||||||
|
|
||||||
jmp hadd
|
jmp heapadd
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
.importzp ptr1, ptr2, ptr3, ptr4
|
.importzp ptr1, ptr2, ptr3, ptr4
|
||||||
.import __hptr, __hfirst, __hlast, __hend
|
.import __hptr, __hfirst, __hlast, __hend
|
||||||
.export _free, hadd
|
.export _free, heapadd
|
||||||
|
|
||||||
.macpack generic
|
.macpack generic
|
||||||
|
|
||||||
@ -107,9 +107,9 @@ _free: sta ptr2
|
|||||||
lda ptr2+1
|
lda ptr2+1
|
||||||
adc ptr1+1
|
adc ptr1+1
|
||||||
cpy __hptr
|
cpy __hptr
|
||||||
bne hadd ; Add to free list
|
bne heapadd ; Add to free list
|
||||||
cmp __hptr+1
|
cmp __hptr+1
|
||||||
bne hadd
|
bne heapadd
|
||||||
|
|
||||||
; The pointer is located at the heap top. Lower the heap top pointer to
|
; The pointer is located at the heap top. Lower the heap top pointer to
|
||||||
; release the block.
|
; release the block.
|
||||||
@ -278,7 +278,8 @@ _free: sta ptr2
|
|||||||
|
|
||||||
; Check if the free list is empty, storing _hfirst into ptr3 for later
|
; Check if the free list is empty, storing _hfirst into ptr3 for later
|
||||||
|
|
||||||
hadd: lda __hfirst
|
heapadd:
|
||||||
|
lda __hfirst
|
||||||
sta ptr3
|
sta ptr3
|
||||||
lda __hfirst+1
|
lda __hfirst+1
|
||||||
sta ptr3+1
|
sta ptr3+1
|
||||||
@ -287,7 +288,7 @@ hadd: lda __hfirst
|
|||||||
|
|
||||||
; The free list is empty, so this is the first and only block. A contains
|
; The free list is empty, so this is the first and only block. A contains
|
||||||
; zero if we come here.
|
; zero if we come here.
|
||||||
|
|
||||||
ldy #next-1
|
ldy #next-1
|
||||||
@L2: iny ; f->next = f->prev = 0;
|
@L2: iny ; f->next = f->prev = 0;
|
||||||
sta (ptr2),y
|
sta (ptr2),y
|
||||||
|
Loading…
Reference in New Issue
Block a user