the following table shows data pointer sizes depending on memory model and __far, __near, or __linear keyword usage:
| Memory Model | Compiler Option | Default Pointer Size | __near Pointer Size | __far Pointer Size | __linear Pointer Size |
|---|---|---|---|---|---|
| SMALL | -Ms (default) | 2 | 1 | 2 | 3 |
| TINY | -Mt | 1 | 1 | 2 | 3 |
| Banked | -Mb | 2 | 2 | 2 | 3 |
Function pointer size is always two bytes for SMALL and TINY memory models, and three bytes for Banked memory model.