16bitの範囲で順にfuncに引数として渡すだけでいいのなら
再帰的にスタックを16段使って出力すればいいんじゃないの?