[comp.binaries.mac] Macintosh Technical Notes - #145: Debugger FKEY

bytebug@felix.UUCP (Roger L. Long) (08/25/87)

[Macintosh Technical Notes - #145: Debugger FKEY]

It is often more convenient  to  enter  the  debugger  using  the
keyboard  rather  than  having  to  reach  around  to  press  the
interrupt switch.  This technical note shows how to make a simple
FKEY that will trap to the debugger.

---
(This file must be converted with BinHex 4.0)

:#P41-$%d05jA8P3!9dp54%e"3d%!N!383J!!!d%I,!!'!%X!!J!%!*!$r`$r!*!
$!3!!%r)!8!"3!!!6mJ")!%J!!"28!$J!!`#3!dJ!5!#3"!,D!LMriIrL![N#4J-
("5J$r!!#!*!$5!")!*!%!YS#+!!"!*!$C!#3!`%!!C!$!*!$!5F2!!%!!3#3$3)
!'3'3!!#3"8!!N"X#!*!$!J#3"3%!!!b3!!"!!!!-+!!D!!`!q2rb!)VrmJ&4rj!
+!!%!N!-"!*!&!3!!$0!!)!!!!Hi!#[rb!#ErmJ$drr)"`[q3#J!#!*!$!J#3"3%
!!!p#",!!!!c`!P,rmJ!Qrr)!p2rb!F,rN!8!$J%!&3#3!`%-$!!"$5S!"J!!$!%
!!`!"$AJ!"J!!#J!!&J#3!`B!!"J4!"F!!3eP!!B!!!S!!"8!+I8[6@pV&!3BAh9
-%*(A0bG6$AS3Ti*cpRmkm0!!"J!!$!%!&3#3!`B!!!S"!"8!!3d!!!B!!!i!!"8
!!3hr!!B!!!i!!"8+!3!9!")"kJ!"!*!$%J&a"S!!N"F'!!!-!!!$!!%01`!'!!!
+!!!@!!%0!3!'!!!-!!!9!*!$!4!3!*!&B&q3A`d!"J!!#3!!&3#3!`B!!"J4!"F
!!3d'!!B!!!S!!"B!3I#I4"pLpepRpR&24[5r4I@I,[6(2fXC!!mlml$AS30[E4$
bMhGS"IG5lh8Je&pY!V%+FrDa6bR`d!!!"J!!#J!!&J!bm*!!$bccJ!#3#!mlml"
"KIG8`3HI,!BL4rB[G5'2$3!!"J!!#J!!&J!rm*p8pCp3p&$dEd[dAeN223p3p5p
2p$!!!!mlml$e$e,drd-#EfXB$d2drd6d82-I,!JNIS"Gd,&T&2$3!!B!!!S!!"B
!!3d'!!B!!!S!!"B!!3d'!!B!!!S!!"B!$JP%C@*eCfGPFNC,49N0!!B!!!S!!"B
!1[#I+Jp2pe,[G5$AS30[E4$bJVBJphHU$&-QF`+a$dEd[dAeN!""KIG8`I+I$3!
'!!!+!!!@!!-*+Jd0!!B!!!S!!"B!)r#I+Jp5'&pe6"$AS3e8$d3IB[GICrCa324
[5r4I@I$3!!B!!!S!!"B!!`NU$3!!"J!!#J!!&J!B#5SJ4QPXC6SJ4'9LG@GRCA*
'5d9C,P)0!!B!!!S!!"B!(I6(2fX8$&-N@Jek%+H#FrCr1[$3!!B!!!i"!"8!!3d
"!!B!!!`"!"8!"J!!$!%!!`!"$3%!"J!!#J!!&J!+!H8$"!#3!`S!-3"X!-B!r!(
P!H9Z)'Pc)'&ZB@a[Cfm!&J!$#530$3!'!!!+!!!@!"h`RcX6N!"G$dacpV&!a6*
&S0HKm0!!"J!!#J!!&J!"$3B!"J!!#J!!&J!1#84PBR9RCf9b4NY&@3d!"J!!#J!
!&J!Ym*ml$ble)D$ASI+)mT!!+f)'33Fqpe)#8#X3TcpV&2$3!!B!!!S!!"B!!3d
'!!B!!!S!!"B!!3d'!!B!!!S!!"B!(3N[6h9dF(9d)%4PBR9RCf9b4NY&@5j-D@j
VC@30!!!'!!!+!!!@!"6`RcX26rG5lh8Jek%$EfdI$3!!"J!!#J!!&J!"$3B!"J!
!#J!!&J!"$3B!"J!!#J!!&J!6m*ml!*!$FpAb`",2+I$3!!!'!!!+!!!@!$V`RcX
!!!mS)DU!+a$dacpV&!phYL$ASB!P#R2f[b`)(fIfd6*LG6m0!!B!!!S!!"B!'2#
I1`p-FrDa3-8b4D$AS3m0!!!'!!!+!!!@!!-*1`d!!!B!!!S!!"B!'`Nl)%CTE'8
k)%4PBR9RCf9b4NY&@5j-D@jV$8N!"J!!#J!!&J!+!I3!!J#3!`S!h2iE!IJ"q'9
b)'Pc)'4bB@GRD@iJ)(3!"J!!$!%!!`!!rk`!GJ18!!e038G*3e"*3a%"rkS!!3d
"!!B!!!S!!"B!!3d'!!B!!!S!!"B!"JN*48j%$3!'!!!+!!!@!!B*#9*88`d!"J!
!#J!!&J!L#80KE'a%3JP%3bjA#54"18C'#6Y%C@*eCfGPFL"dFQ&`$3!'!!!+!!!
@!"d*#84$,PF**$#3"!Nl9Q9bFfP[EL"ZG@eLCA)0$3!'!!!+!!!@!"S*#84$,PF
**$#3!cJ*1dC,49NJ6R9YBQ9b$3!'!!!+!!!@!#B*#84$,N`**dC,49NR#6XR4NY
&@5FJDA-J0$Bd3M3e06NJD'9i$3!'!!!+!!!@!"3*#84$,PF**$#3"!NlCQaKCh-
0!!B!!!S!!"B!&I#I#I#I#I1i*MPNN!#aD46`d!!!"J!!#J!!&J!N#8*535j6#80
KE'a%3JN*1dPZGQpVC5"dD'8JC'9LG@GRCA)0!!B!!!S!!"B!!3d'!!B!!!S!!"B
!3[#I1`!!mdmZ$e"S)3+a$dEd[dAeN!"c*3+a$e2hQ#(fd0HK$hGbX28KKIG8`3'
A*8m0!!!'!!!+!!!@!$I`RcX!!2-r,Jp5pe-28[6@pV&!peKcpR$d3IB[GICrCa6
dEd[dAeRbj!D!Fqpe)0HKm0!!!!B!!!S!!"B!5I#I1`!!mbmZ$e,h8`+a#R2fX8$
hGbX#X3TcpV&!a6*&S0HK$bMd3IB[GICrCa6dEd[dAeRbldacpVmTm0!!!!B!!!S
!!"B!(2#I1`!!mamZ$d')(fhf+K!VH!ek(`d!"J!!#J!!&J!0#6XJ9'mJBR9TE'3
k$3!!"J!!#J!!&J!$#6X0!!!'!!!+!!!@!$E`RcX236$dEd[dAeN#8(2hCIDa!V%
*(f,hAfIfF8$hCf$&pYpYBjmYLhd[,I12$3!!"J!!#J!!&J!$#6X0$3!'!!!+!!!
@!"S*1b"'D@aP1L"%C@*eCfGPFNC,49NZ3A0Y$3!'!!!+!!!@!"3M-63e1L"%C@*
eCfGPFL"'5d9C$3!'!!!1!!!9!!%0!!!'!!!1!!!9$3!!"J!!#J!!&3$Hp8Yi!Kb
cI'S$8K#,AhH!YIG`*3pYEfX3B)IfhU%24[5r4I@3!#YL$hGkS#4Z!P!V%*(f,hA
fIfF8mZ!255"i$hG()K-(-26I428`mbmZm`mZ!29,%+H#FrCi$93#X3D)(fhf+K3
)Ah9-(b`+FrDa3-8b4D#&pe6"mX"MN!""KIG8`3NGFh*e-)Ah9-%'33pRIhB6$f)
DAhIbl`d!!!B!!!`!!"8!(r3BJIEIBU&!KIG8`3ek%+H#FrCr1[$3!!!'!!!1!3!
9!!%0!3!'!!!-!!!9!#GAFQPdG'9Z)'*j1JP0BA*V)%*KG@ehC@aX#8TeE(NJ-5`
J-6Ni0`d!!!B!!!i!!"8!#J(P!`3!N!-+!$%!JJ&)!F)"l`([EL"TFb"KEQ&XEfG
[!!%0C3!'!!!1!!!@!!%0r`!'!!!1!!!9!!%0!!!'!!!1!!!9!'"IN&m0!!B!!!N
!!"8!h255"i"G)6$fe8%-8rGK0a-J*3%b&!+a#4pLpepRpR&!peKcpR!V%2Dapjp
L9NN%BV&!+f-,EhCcpR!P""E,"NAh8j!!*3j"L!+a"c)86hAL#2Gh,,mZ!29,H!)
FXhaU!e)3LephJ,AhF#82E@pV%'#(pYkK$dEd[dAeN!!VBJphHU!NEJ*3+a#4pLp
epRpR&2,[$3!!"J!!$J!!&G!!!!B!!!i!!"8!!3d!!!B!!!i!!"8!B&q3A`d!"J!
!#3!!&3!Hp0E(-PL`p8(,0mDJp18KM`R`N!$r$`d!'!!!$J%!&3!C$J8!&3!E$J%
!&3!F'"%!&`#3!`%-$!!"$!`!!3`-!*!0!3`-!!%1$J#3$48!-[9"bcI'S26P)3m
Mmamdmem*j[Ca!*!$"G$c,`Rd3IB[GICrCa324[5r4I@I$3!!"J!!#J!!&3#3"3+
`8#!!"HS!)J#3!``!N!-#Rj)J!!&5!!`b!3!-!!`!!BaN+!!-@!!i-J%!$!!B!!'
-F#!!!B3!#M)#!*!&!V$B)!!"UJ!L!*!$%!#3!`+IFL!!!F`!#LX"!*!$!3X,!!%
M)`!"$`m!!3m2!!%2$`!"$`m!!3X,!!%2$`!#$i-!!3X,!!%2$`!#$S-!!3i1!!%
1$J!"$`m!!3i1!*!$!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`
!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`
!N!-"$`m!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%
-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%1$J!"%"!!!3`-!!%
-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!5-M!*$
r!*!b!V"J)!!++J!L!*!$#`#3!`+`X#!!!IJ!DM%"!#-!#`!#X+JS!![f!$)d!J!
2!#i!!V(`)!!+6!!-*!%!$`!p!!+`G#!!#2)!(M3"!!m!6!!"M"JJ!!'D!!`d!3!
2!&X!!V"S)!!*q!!b0!%!#`"U!!+`6#!!#i`!DM%"!!m!G3!#X$3J!!N3!!`d!3!
Y!)3!!V!B+!!+fJ#F0!%!#`#a!!'-&#!!#R!!DM%"!!m![!!#X%3J!!'1!!`d!3!
U!-X!!B`i+!!**J#N-`%!$J$e!!+`*#!!!H)!$$-"!!i"!`!#X$JJ!!RX!!`c!3!
2!4%!!V$3+!!*bJ!L0!)!$J%J!!+`h#!!""`!$$-#!!!",J!#X+`!!!3m!#)!N!-
-!5i!N!B)cJ!N)J%!$!%k!*!'#-!!$L)"!!`"4J#3"!J!#)B!1L)"!!`"8J#3"JK
i!!iL!3!-!9i!N!B)B!!B)J%!$!&U!*!%#!!)3!!J)J%!$!&f!*!%#!!(q!"))J%
!$!'#!*!%#!!(ZJ!q)J%!$!'1!*!%#!!(IJ!m)J%!$!'D!*!'"h)!$#)"!!`"TJ#
3"JG%!#iL!3!-!E)!N!3)!!FS!"`L!3!-!Ei!N!B(#J!H)J%!$!(+!*!'"YS!-#)
"!!`"eJ#3"JDf!#3L!3!-!H)!N!B'MJ!S)J%!$!(Z!*!'"Q)!,#)"!!`"qJ#3"JC
5!"!L!3!-!JB!N!B'3J!3)J%!$!)5!*!'"MB!$#)"!!`#(J#3"JBU!!`L!Ipd!LS
!!V!`)!!'&!!@!*!$$`!!!3#3!`J!!ri!(M3#!!`!$`%!N!8"eJ!-)J%!$!!E!3#
3"3A%!#BL!3!-!#F"!*!&"EB!$L)"!!`!-`%!N!-)!!@D!"`L!3!-!$m"!*!$#!!
&D!!b)J%!$!",!3#3!`J!"8i!'L)"!!`!9`%!N!8&3J!-)J%!$!"M!3#3"38f!!`
L!3!-!'m"!*!$#!!&'J!F)J%!$!"l!3#3"36b!#JL!3!-!)F"!*!&"1B!$#)"!!`
!N`%!N!8%fJ!-)J%!$!#I!3#3!`J!",!!+L)"!!`!U`%!N!8%Q!!B)J%!$!#h!3#
3"35-!!`L!3!-!--"!*!$#!!%EJ!H)J%!$!$2!3#3"34J!!iL!3!-!0X"!*!&!6`
!$#)"!!`!j`%!N!8%-!!-)J%!$J$c!3#3!`J!!9i!*M-#!"!"N!-!N!8"-!!-+`)
!$!%4!3#3"32F!#)L!3!-!4d"!*!&!mi!$L)"!!`"+3%!N!-)!!1N!#SL!3!-!68
"!*!&!jB!$L)"!!`"33%!N!-)!!0J!$BL!3!-!8d"!*!&!dJ!'#)"!!`"@3%!N!8
$2!!-)J%!$!&P!3#3"3-`!!`L!3!-!A%"!*!$#!!#kJ"')J%!$!&p!3#3!`J!!V`
!,L)"!!`"L3%!N!-)!!*i!%3L!3!-!C8"!*!&!Q`!$#)"!#-"S3%#XJ!J!!&)!!T
Q)J!!!DB!N!-%!!!#BJ#3!`S!!!3S!*!$#!!!"&i!N!-#!!!'$!#3!`J!!!NF!*!
$#J!!#PJ!N!-B!!!,GJ#3!aB!!!a#!*!$&J!!&%)!X6)UJim!!!%!N!-#e`!!!GF
!N!0U$`m!!3i1!!%1$J!"$Ji!!3i1!!%2$`!"$Ji!!3i1!!%09%ia0$8J4%)J4NY
&@3)!N$1G+VPR!*!'!d%!4J#3!`m!,J!#,E)J!!KZ!!`X!3!2!$d!!LiZ+!!)@J!
84!%!$`"-!!)UcL!!#%i!$%3"!!m!@`!#+bSS!!JX!#*%!3!2!'S!!LZ1+!!)$J!
H4!%!$`"j!!)YqL!!"qS!*%3"!!m!L!!#+ZiJ!!IH!!a%!3!2!*F!!LhD+!!(Z!!
Q!*!$)#iX1b3!!0!!!#rrB#""63!J8%d!1J#3#J%!!!&-$e0eEQ4KH3#3#3p0Efj
NBAN!N!N29(9PFf4KH3#3#!pAC@4ZCA0NBAN!N!B29'KeFR0NBAN!N!F24R*TC'&
j!*!*$e0KG(9bC'&j!*!($dTKER9KFRN!N!J24Q9LFR9KFRN!N!F26@&bBfJ!N!S
23A"bD@`!N!S26@&j!*!-$dTeEQ8!N!X25R9XH3#3#`p"G@GeFh3!N!N28f9`G'9
YBQ9b!*!'$dpMG'pLCA)!N!J26QpfC@eLCA)!N!F24'9MC@eLCA)!N!Irr`!$!*!
%,#!!!#!!N!-X)!#3"`&1G3#3!aJ!#`!A!"B!&3!8!*!$!`!#!!3!"3!'!!F!N!-
3$b"PG'jbEf&TFf4XD'0QF!#3!bm!$`!K!!i!N!-@!!-!&3!%!!m!)J!3!$)!&`!
8!")!$5`Q"$q3!`8-&$3%06mm1!!!!3#3!`,A!!!"e`#3!fS!!TqZ!ki!N!-F!'S
!!8P19%`!!3!58e45)!!#!#S!!2rr)!#3#!(rrb!!!#3!N!3$)2rr!!!"G!#3"!+
mrrm!!!'3!!#3"!-Krrm!!!'N!!+aV$1R!:
---