home *** CD-ROM | disk | FTP | other *** search
- incdir include:
- incdir lvo:
-
- include powerpc/ppcmacros.i
- include powerpc/powerpc.i
-
- include powerpc_lib.i
- include exec_lib.i
- include dos_lib.i
-
- xref _SysBase
- xref _DOSBase
- xref _PowerPCBase
- xref _LinkerDB
- smalldata
- executable
- escapestr
- version 9
-
- start
- prolog 1024
- push r31
- la _d1,template
- la _d2,Array
- li _d3,0
- RUN68K_XL _DOSBase,ReadArgs
- tstw _d0
- beq .close
- mr r31,_d0
- lw r3,Array
- tstw r3
- beq .clear
- lbz r4,0(r3)
- li r5,0
- cmplwi r4,"$"
- bne .loop
- addi r3,r3,1
- .loop
- lbz r4,0(r3)
- tstw r4
- beq .done
- slwi r5,r5,4
- cmplwi r4,"0"
- blt .letter
- cmplwi r4,"9"
- ble .number
- .letter
- bitclr r4,31-5
- subi r4,r4,("A"-10)
- b .cont
- .number
- subi r4,r4,"0"
- .cont
- add r5,r5,r4
- addi r3,r3,1
- b .loop
- .done
- sw r5,Args
- li r4,HW_SETDBREAK
- CALLPOWERPC SetHardware
- cmplwi r3,HW_NOTAVAILABLE
- beq .notavailable
- la _d1,setbreak
- la _d2,Args
- RUN68K_XL _DOSBase,VPrintf
- b .free
- .clear
- li r4,HW_CLEARDBREAK
- CALLPOWERPC SetHardware
- cmplwi r3,HW_NOTAVAILABLE
- beq .notavailable
- la _d1,clearbreak
- la _d2,Args
- RUN68K_XL _DOSBase,VPrintf
- b .free
- .notavailable
- la _d1,notavailable
- la _d2,Args
- RUN68K_XL _DOSBase,VPrintf
- .free
- mr _d1,r31
- RUN68K_XL _DOSBase,FreeArgs
- .close
- pop r31
- epilog
-
- section data
- template dc.b "ADDRESS",0
- setbreak dc.b "data breakpoint set at %08lx\n",0
- clearbreak dc.b "data breakpoint cleared\n",0
- notavailable dc.b "data breakpoint not available on this CPU\n",0
-
- section bss
- ds.b 32
- Array ds.l 1
- Address ds.l 1
- Args ds.l 1
- ds.b 32
- even
-