~z88dk-team/z88dk-pkg/trunk

« back to all changes in this revision

Viewing changes to libsrc/adt/linkedlist/adt_ListDelete_callee.asm

  • Committer: Bazaar Package Importer
  • Author(s): Luca Falavigna
  • Date: 2008-02-12 08:23:49 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080212082349-wgijt44scmgje90o
Tags: 1.7.ds1-1ubuntu1
* Merge from Debian unstable. Remaining Ubuntu changes:
  - build z88dk and z88dk-bin binary packages for lpia too
  - update Maintainer field as per spec

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; void __CALLEE__ adt_ListDelete_callee(struct adt_List *list, void *delete)
 
2
; /* void __FASTCALL__ (*delete)(void *item) */
 
3
; 02.2003, 06.2005 aralbrec
 
4
 
 
5
XLIB adt_ListDelete_callee
 
6
XDEF ASMDISP_ADT_LISTDELETE_CALLEE
 
7
 
 
8
LIB adt_ListDeleteS_callee
 
9
XREF ASMDISP_ADT_LISTDELETES_CALLEE
 
10
 
 
11
XREF _u_free
 
12
 
 
13
.adt_ListDelete_callee
 
14
 
 
15
   pop bc
 
16
   pop de
 
17
   pop hl
 
18
   push bc
 
19
   
 
20
.asmentry
 
21
 
 
22
; enter: hl = struct adt_List *
 
23
;        de = delete with HL = item
 
24
; exit : All items in list deleted but not adt_List struct itself
 
25
;        (delete) is called once for each item in the list with
 
26
;          HL = item and stack=item
 
27
; note : not multi-thread safe
 
28
; uses : af, bc, de, hl, ix
 
29
 
 
30
   push hl
 
31
   call adt_ListDeleteS_callee + ASMDISP_ADT_LISTDELETES_CALLEE
 
32
   pop hl
 
33
   
 
34
   push hl
 
35
   call _u_free
 
36
   pop hl
 
37
   ret
 
38
      
 
39
DEFC ASMDISP_ADT_LISTDELETE_CALLEE = asmentry - adt_ListDelete_callee