で、「スモールモデル」ってのは、CS==DS==ES==SS を
前提にしてるということで、プログラムのコードは単純で
済むが、でかいデータを扱えない。

「ラージモデル」ってのは、全てのアドレッシングを、
前述のセグメントオーバーライドを使ったりして、
セグメントを指定して行う、ってことでメモリはフルに
使えるけどプログラムは重くなる。

「far」ってのは、ポインタがオフセットアドレスだけの
ポインタじゃなくて、セグメントアドレスもセットになった
ポインタだよ、ってのを C コンパイラに伝えるキーワードで、
8086 用の処理系にはみんなあった。

この far を使ってプログラムをうまく書けば、DS==SS を
前提としてる LSI C-86 試食版でも、DS!=SS なウィッチで
ちゃんと動くコードが生成できる、ってコト。