register int ret asm(レジスタ);
にしたら指定のレジスタ使ってくれました
gccのバージョンで変わったりしないか不安ですけど