gccのオプションで-mint32というオプションがあります。
int型を32ビットで扱う指定。

16ビットCPUだと32ビットどうしの掛算/割算命令を持っていないので失敗するそうです。
でも、通常32ビットどうしの掛算/割算はソフトウェア・エミュレーションライブラリをリンクすればできるとのこと。

またlongなら32ビットの変数として扱われ問題ないとのこと。

プログラマ側でint型が16ビットであるとするときちんと意識すれば問題ありませんと書いてある。
通常のプログラムでは大きい値を扱うことが少ないので扱う場合は、きちんと開発環境を意識しないといけませんね。



でもgccでオプションでint型を32ビットで扱うよと指定したら、ハード(CPU)の環境なんか気にせずうまくいってくれると思いこんでしまうよなぁ。

ちなみにmint32で検索してみたらはまっている人がいました。
その人の記事がここ