Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!sdd.hp.com!caen!ox.com!math.fu-berlin.de!unido!pbinfo!tron From: tron@uni-paderborn.de (Matthias Scheler) Newsgroups: comp.sys.amiga.programmer Subject: New Exec-Function wanted in OS 2.0 ! Keywords: OS2.0 Exec Message-ID: <1991Jun25.141603.3630@uni-paderborn.de> Date: 25 Jun 91 14:16:03 GMT Organization: Uni-GH Paderborn Lines: 75 ATTENTION!ATTENTION!ATTENTION!ATTENTION!ATTENTION!ATTENTION!ATTENTION! Commodore changes the Task-Switch Stackframe format for 6888x since KickV37.175(I think so). So,for all guys writing a Debugger,like me,it's not practible to add a new version check every KICKV2.x release. SO I PREFER A NEW EXECFUNCTION: NAME GetStackFrameOffset -Get Registeroffset for Stackframe SYNOPSIS RegOffset=GetStackFrameOffset(RegName,Task) D0.w D0.w A1 FUNCTION This Function should return the offset of the specified Register,so you can find the Register value independent from the KICK Version. INPUTS RegName - ID-Number of the Register Offset you want Task RESULT RegOffset - Stackoffset of the Register you want -1=False EXAMPLE move.l 4.w,a6 jsr Forbid move.l #REG_SR,d0 jsr GetStackFrameOffset(a6) move.l 276(a6),a1 move.l TC_SPREG(a1),a1 add.w d0,a1 ;a1 is a pointer on the Registervalue sr or.w #$8000,(a1) ;Turn on Trace Mode ;Stop the Task next Run(You must have an Exeptionhandler for the Task). . . . jsr Permit(a6) INCLUDES ENUM EITEM REG_D0 EITEM REG_A0 EITEM REG_FP0 EITEM REG_SR EITEM REG_PC EITEM REG_FPCR EITEM REG_FPUSTACKFRAME I think it's important to add a new function like that! What do you think? -- 0OOOO OOOO OOO O O O O O O O OO O O OOOO O O O O O O O O O O O OO O O O OOO O O (Matthias Scheler, tron@uni-paderborn.de)