home *** CD-ROM | disk | FTP | other *** search
/ Amiga Times / AmigaTimes.iso / demos / programme / WarpUPV3 / WarpUP-WarpOS / Source / tools / ibreak.p < prev    next >
Encoding:
Text File  |  1998-10-06  |  1.6 KB  |  90 lines

  1.         incdir  include:
  2.         incdir  lvo:
  3.  
  4.         include powerpc/ppcmacros.i
  5.         include powerpc/powerpc.i
  6.  
  7.         include powerpc_lib.i
  8.         include exec_lib.i
  9.         include dos_lib.i
  10.  
  11.         xref    _SysBase
  12.         xref    _DOSBase
  13.         xref    _PowerPCBase
  14.         xref    _LinkerDB
  15.         smalldata
  16.         executable
  17.         escapestr
  18.         version 9
  19.  
  20. start
  21.         prolog  1024
  22.         push    r31
  23.         la      _d1,template
  24.         la      _d2,Array
  25.         li      _d3,0
  26.         RUN68K_XL       _DOSBase,ReadArgs
  27.         tstw    _d0
  28.         beq     .close
  29.         mr      r31,_d0
  30.         lw      r3,Array
  31.         tstw    r3
  32.         beq     .clear
  33.         lbz     r4,0(r3)
  34.         li      r5,0
  35.         cmplwi  r4,"$"
  36.         bne     .loop
  37.         addi    r3,r3,1
  38. .loop
  39.         lbz     r4,0(r3)
  40.         tstw    r4
  41.         beq     .done
  42.         slwi    r5,r5,4
  43.         cmplwi  r4,"0"
  44.         blt     .letter
  45.         cmplwi  r4,"9"
  46.         ble     .number
  47. .letter
  48.         bitclr  r4,31-5
  49.         subi    r4,r4,("A"-10)
  50.         b       .cont
  51. .number
  52.         subi    r4,r4,"0"
  53. .cont
  54.         add     r5,r5,r4
  55.         addi    r3,r3,1
  56.         b       .loop
  57. .done
  58.         sw      r5,Args
  59.         li      r4,HW_SETIBREAK
  60.         CALLPOWERPC     SetHardware
  61.         la      _d1,setbreak
  62.         la      _d2,Args
  63.         RUN68K_XL       _DOSBase,VPrintf
  64.         b       .free
  65. .clear
  66.         li      r4,HW_CLEARIBREAK
  67.         CALLPOWERPC     SetHardware
  68.         la      _d1,clearbreak
  69.         la      _d2,Args
  70.         RUN68K_XL       _DOSBase,VPrintf
  71. .free
  72.         mr      _d1,r31
  73.         RUN68K_XL       _DOSBase,FreeArgs
  74. .close
  75.         pop     r31
  76.         epilog
  77.  
  78.         section data
  79. template        dc.b    "ADDRESS",0
  80. setbreak        dc.b    "instruction breakpoint set at %08lx\n",0
  81. clearbreak      dc.b    "instruction breakpoint cleared\n",0
  82.  
  83.         section bss
  84.         ds.b    32
  85. Array           ds.l    1
  86. Address         ds.l    1
  87. Args            ds.l    1
  88.         ds.b    32
  89.         even
  90.