home *** CD-ROM | disk | FTP | other *** search
- ; Library glue code between assembler and C for the GNU regular
- ; expression library. Edwin Hoogerbeets 18/07/89
- ;
- ; This file may be copied and distributed under the GNU Public
- ; Licence. See the comment at the top of regex.c for details.
- ;
- ; Adapted from Elib by Jim Mackraz, mklib by Edwin Hoogerbeets, and the
- ; GNU regular expression package by the Free Software Foundation.
-
- include 'exec/types.i'
-
- setup macro
- movem.l d2/d3/d4-d7/a2-a6,-(sp)
- jsr _geta4
- endm
-
- push macro
- move.l \1,-(sp)
- endm
-
- fix macro
- ifc '\1',''
- mexit
- endc
- ifle \1-8
- addq.l #\1,sp
- endc
- ifgt \1-8
- lea \1(sp),sp
- endc
- endm
-
- restore macro
- fix \1
- movem.l (sp)+,d2/d3/d4-d7/a2-a6
- rts
- endm
-
- dseg
-
- public _libfunctab
- _libfunctab:
- dc.l myopen
- dc.l myclose
- dc.l myexpunge
- dc.l $0000
- dc.l Xre_initialize_buffer
- dc.l Xre_terminate_buffer
- dc.l Xre_compile_pattern
- dc.l Xre_compile_fastmap
- dc.l Xre_search
- dc.l Xre_search_2
- dc.l Xre_match
- dc.l Xre_match_2
- dc.l $ffffffff
-
- cseg
-
- ;--- library functions
- public _myOpen
- public _myClose
- public _myExpunge
- public _re_initialize_buffer
- public _re_terminate_buffer
- public _re_compile_pattern
- public _re_compile_fastmap
- public _re_search
- public _re_search_2
- public _re_match
- public _re_match_2
-
- public _geta4
-
- myopen:
- setup
- push a6
- jsr _myOpen
- restore 4
-
- myclose:
- setup
- push a6
- jsr _myClose
- restore 4
-
- myexpunge:
- setup
- push a6
- jsr _myExpunge
- restore 4
-
- Xre_initialize_buffer:
- setup
- push d1
- push d0
- jsr _re_initialize_buffer
- restore 8
-
- Xre_terminate_buffer:
- setup
- push d0
- jsr _re_terminate_buffer
- restore 4
-
- Xre_compile_pattern:
- setup
- push a1
- push a0
- push d1
- push d0
- jsr _re_compile_pattern
- restore 16
-
- Xre_compile_fastmap:
- setup
- push d0
- jsr _re_compile_fastmap
- restore 4
-
- Xre_search:
- setup
- push d3
- push d2
- push a1
- push a0
- push d1
- push d0
- jsr _re_search
- restore 24
-
- Xre_search_2:
- setup
- push d6
- push d5
- push d4
- push d3
- push d2
- push a1
- push a0
- push d1
- push d0
- jsr _re_search_2
- restore 36
-
- Xre_match:
- setup
- push d2
- push a1
- push a0
- push d1
- push d0
- jsr _re_match
- restore 20
-
- Xre_match_2:
- setup
- push d5
- push d4
- push d3
- push d2
- push a1
- push a0
- push d1
- push d0
- jsr _re_match_2
- restore 32
-
- end
-