long type arguments stored in registers ?

Table in www.keil.com/.../c51_le_passingparmsinregs.htm lists registers are used to store different argument.

I saw arg1 and arg2 are shared the same registers R4~R7 when they are long type. It is incorrect. arg2 should be stored in fixed memory.
The same way, when arguments are generic pointers, only arg1 is stored in R1~R3, arg2 and arg3 should be stored in fixed memory.

Reference to http://www.keil.com/support/docs/2314.htm

More questions in this forum