[comp.sys.atari.st] DB: useful program to complement templmon

egisin@watmath.waterloo.edu (Eric Gisin) (03/17/88)

Here is a short program I wrote called "db".
You can use `db some-program.ttp ""' to have TOS load and relocate
some-program, db will then enter templmon with a breakpoint instruction.
You can then disassemble the program, or start or trace it with "G".
See the comments at the top of DB.C for documentation.

The source will compile under MJC; there is a non-portable asm() in it.

table
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 db.arc
M&@A$0BY#  $         <P,  &X0VVM'YCP%   ,+U0T4 !"!0@R8D"T %'&|
M#9TR<@Z6$5/GS!F((% \; .'39LW;E(,+#A210*$"2 1& %"C)PR8=:P8.@0|
MX\:.']V43%!G3AD0=-"DF0,BC9LY#\.0 ?'&#(@@3*BT0%*$"92B3O.\J0/B|
M3AB'0-^ 8/-&*=.(<\+8^6DF#9LR<W8:!5J&HT>0,]\$A7AGZ$\J3Z: &+.5|
MS=(Q<L+,0>."IT\0(HZ(",L03QHZ+DKN1 BB[=N4*T&\-.NYS$R7,&6"( (#|
M1(^#8>B$V<D:!)PW1ND0I2.63.PP,WO^%-$$A!36+B;S/EB'8_#'D96++6,9|
MLV:")CD3;M/FZU(18>2<:=Y0MX@$"5B2-0M'SILSB=N<'JUZ3!@V;&R[AQ^F|
M#>T:MN'FT&YBB:%8&7"$<=%,1- 08&X$#O8&&65DAIUCPSUA7(/2@> 3'4R9|
M8<:',T5'&5+A@=C>>_&5&$6'<=1QF84%O3#00",8-08;=5 ( @]OS"&&462X|
M@(8/-RJ0HQD4.M6$$D/@V*11920@Q!)04)& 8FV@\%H,.8!I0PKH!00""30$|
M8<00.A2%7QEGW%?4473(4<<8=*0!4HTX-D1&&F8D.<*4;E0I1!5&)$ ###G8|
M,- 8:(374AU.;7&H$5WL )J9%(F(D1EO1"0"9Z5-IH*-"@S4G5$HA'?&&#.Y|
M:H=("B20&PBNCK'#0 E *JD*)LFZJP)[))F F9R=RBN@&>7ZXY<I@%!LK59B|
M2<6PZ+U$1QURN $"#-CV82RR"97&9ZW,MBK>&,^"($.TTZ)W*Y/#\IH DZZ!|
M8,0;<#2D[AEV;!%#%S/!D *VMCJ% KX\?$MK2@-0=]G"9!QLKQ&CD4'Q3"B0|
MY<89T5YZ&J464VO$CD&607')Z'6Z PA79JDI) .8J=@<Y$G(D5ME+)6;6+4I|
M2ZVVW'H++J_BIEHKN?J]AZMX1 F=0+P)O'3&4 ]%Y&M$!AGH$\)68XW1K2BH|
M8$8**+#<:Z01N3K'%CC D*FQ6T*]A=SY(B7'6V[\&[ ,7:BM]QAPY/'O'"O$|
M$*MX?P>.L-<_O08%=66,@<(,BP,L,,%/GS$'QUL7E(+!FIJYWE(K\M?&N?(J|
M#/F/#O-*L\1TH(#"8J'2$2WD)=OKU&NOK_ M'C' <#2U,5]K+]'=9F0VVKS/|
M7+-!]N'7M.JL)YTT&@A$0BY45%          8P4  &X0>VG+I(@)   ,8#0 |
M )! !@!(!B28..@ # $G5@:J>(+B!0 "*(B,(#:PH D6 !"  ,G &J 1PSK:|
M^ @ PD@ %$RB[*B#)8:7'&2F).C#Q)"9!(40&?22@$D0/ 8* & )D(BD+0&0|
MR-'1@YN!#*@-HA6(S4 ") +0&M1F((D@^08&(/$" 8RD"7X <!+$&S\ !M[^|
MRR;W+0 F<NF"6$ -D LA(!A0 O1"P L&?@'T3:HD<-V[#(*P P ( H0@Z  $|
M0 )(;ELGN93*"IP:T@!N(#[X!3PWR(AO':'0?4&5H.XZMW,[:<);.'#<OITX|
M*9X<^+7<S!/\=O*&#H@R;M[4.8,&1)LR;=[(R=-  8 I=,*,60/BC9TR<LRP|
M>7.G_,$"00X^" ! ",-___3W7S\"0N+ /_X ,,1! 4+2 40#138#,!T9$9D |
M@ P$X @4$H0$"+T5)$-2+" 1##2!@  $"!!PV!$3,+@   -R@2 C A:A-E !|
MTMB%%X@O6@2DAQ;!$*(1K TT@#<^*A!9D@ ,0(./ CCAA1-U0/0//Y&IL&(#|
M(\($2Q!> 2 '& ,I($4C(#2 YC_JH*66$FT&<Y<$0<"#   PH "  "BLR$"8|
M P 3A!) G#&0#XF%"82AB)H1H9RBT=F G0#@J2< (. (0 ]-(-@#$UOJ2) (|
M/A*@@QL(XL J/V]:$F-(<H$J*JG\Z.@:-U2NVNJK5F*II2FS(A!F &->-:,2|
M7$(5;!W%ABE L@-Y\B2G,BJ@HE\!8$H "##L6612/23IFCD^(M #$ C&B&"8|
M (Q9I@3N^@.EE%12F@ 5G8X+ 0!( %.D"PA.)IFY Z"+6;T&^X"PPA?IRR\"|
MS$;VK(T : N$7P)X"ZZX +00JCXMD&J/J0C8DJH*K.J# JOV!.'./Z; :V($|
M@&" ;<;;)M7Q7=^&"X!%,M/<Z;$FHFB1R/^0;#+*$"/ <M,O_V//A1D" "#1|
M,YO2[\X:<^NQT.-&:? 2<C'MM-6Z)NPC!%.[#+.7;<(K0" :_@-+(&0,!$*;|
M:8]<,MNI13GE70+$7;4]=?/ 7]*!!,ILFTL+;G)B*CH!"0 KM[SXLZ!;\8\[|
M&$N]L8P,!$II!A.;  0)0"@!B*(!<,'MNO_(,]B(CY\8B.L@*."BAX.)H  6|
MBH 0! B #"EB4B1 KB*++;!+.L'NA F"]"M"4/WH-HX>I@>0?W_]Z%*X CX0|
MGHFP@!2+* \!($H H"A>;Y(SF/F)3<$(HO?S )H 8($VK4E%[7M?_((POS>!|
MXTWJB(S[Y <(2AU "E\+GSLJ%Y)1S:@%2]A2"Y3P#WR8Z@!:2!?+0N*J&9G@|
M521@%3Z MP#9W4\+4F"5/-RENP48#WG*8YX%K? UK.6-@^IBP@=#R(\1EO"$|
M*;R+U*Z"@!8RX(5;BF$)7?<F4?!P0A6Z6 +\-L:YB(X?I:,;Z@+5.*7@36MZ|
M"X2D>-:;#5"!;@U ( 3J=[\OZ9$T-6( $DNVQ%(5#@%L\)$!5HB E[GP539,|
MTP'=I#5<M$F/-@/$F.8( 2/"\6(- %X>V;='^PW$CZ0$)*<$&;(FA(20# "A|
M(0>"2$4RTI%7A"0@YJ@F-E'R'Y8<I6<R.:;[.4""#3@@ YO7@.'9<3"@NU*6|
M(K(ST\TJ=:AL'P-(LTE:M@F4!R0E'P=B@#=IPY, BJ:P1.>/-&X,*FQ,)IO$|
M:<J,28$1B7D3.Q*CSFENR9T8PV:;@,> >^I1!/*DX#CQIS5T0%.:SQK(OR#$|
M)V=!5)H'&0 $($$ !'!  U)   00@! #!  4$$B(!!1 4HW"0 8<( $8C.<!|
;"RC !4QP@@RL@ ((. ($*R$!#5S@!B(  !H |
 |
end
sum 27624