Instructs the compiler that LCALL statements must be used.
Internally when a subroutine is called the ACALL statement is used.
The ACALL instruction needs only 2 bytes (the LCALL needs 3 bytes)
The ACALL statement however can only address routines with a maximal offset
of 2048 within the page. AT89C2051 chips will have no problems with that.
When code is generated for
another uP, the subroutine being called can be further away and you will
receive an error. With the $LARGE statement you instruct the compiler
to use the LCALL statement which can address the full 64K address space.
'I received an error 148 so I need this option