ファイルIOで作りました。

offset.h を生成するプログラムです。動けばいいので可読性もへったくれもありません。読みにくいのはご勘弁を。
JSP 1.4の移植のための文書であるdoc/config.txtには

GNU開発環境以外を用いる場合など,この仕組みでオフセットファイルを生成できない時には,offset.h をターゲット依存部で用意し,Makefile.config で OMIT_MAKEOFFSET をヌルストリング以外に定義する.

と書いてありますが、内容がどのようであるべきかは書いていません。それはoffset.hを見ればわかるのですが、リファレンスであるm68kのそれを見るにはm68kの開発環境をセットアップしなければなりません。理不尽さを感じつつ他のアーキテクチャーを参照して作りました*1

#include 
#include "jsp_kernel.h"
#include "task.h"

struct task_control_block tcb;
int offset;

int main(void)
{
  FILE * f;
  int * a;

  f = fopen ( "offset.h", "w");
  offset = (unsigned int)&tcb.tskctxb.sp - (unsigned int)&tcb;
  fprintf( f, "#define TCB_sp	%d\n", offset );

  offset = (unsigned int)&tcb.tskctxb.pc - (unsigned int)&tcb;
  fprintf( f, "#define TCB_pc	%d\n", offset );

  offset = (unsigned int)&tcb.tinib - (unsigned int)&tcb + sizeof( tcb.tinib );
  fprintf( f, "#define TCB_enatex	%d\n", offset );

  offset = (unsigned int)&tcb.texptn - (unsigned int)&tcb;
  fprintf( f, "#define TCB_texptn %d\n", offset );

  a = (void *) &tcb.tinib + sizeof( tdb.tinib );
  *a = 0;
  tcb.enatex = 1;
  fprintf ( f, "#define TCB_enatex_mask 0x%x\n", *a );

  fclose( f );
}

VisualDSP++にはファイルIOがあるので便利です。出力は次のようになります

#define TCB_sp 24
#define TCB_pc 28
#define TCB_enatex 12
#define TCB_texptn 16
#define TCB_enatex_mask 0x40000

*1:こういった情報はコミュニティーに還元すべきですが、だらだらやっているので発言しにくくて。