1
\$\begingroup\$

https://www.hobbyprojects.com/8051_tutorial/acall_absolute_call.html

I was learning about acall on the above website, but then came across the term page. What exactly is a page?

\$\endgroup\$
2
  • 3
    \$\begingroup\$ Try expanding your google search from "page", to "memory page". \$\endgroup\$
    – efox29
    Commented Mar 28, 2020 at 18:45
  • 1
    \$\begingroup\$ The 8051 micro can only address 64K of memory. In simple terms, f you need more an output pin can be used to connect another 64K of memory, another "bank" or page. \$\endgroup\$
    – skvery
    Commented Mar 28, 2020 at 20:38

1 Answer 1

2
\$\begingroup\$

In short, and in this context, the whole 11-bit address area that is accessible with the ACALL instruction is divided to eight areas called pages that are 256 bytes each.

As the ACALL opcode follows only a single byte which defines the 8 least significant bits of the address, there needs to be 8 different ACALL opcodes that define the high 3 bits - the page.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ I think you mean "eight" different opcodes to provide the upper three bits. Or else just one opcode with an assembler option to specify the upper three bits into the opcode. \$\endgroup\$
    – jonk
    Commented Mar 28, 2020 at 19:18
  • 1
    \$\begingroup\$ The ACALL opcode will be followed by a byte containing the 8 least significant bits of the destination address. \$\endgroup\$ Commented Mar 28, 2020 at 19:43
  • 1
    \$\begingroup\$ Thanks for noticing the typo \$\endgroup\$
    – Justme
    Commented Mar 28, 2020 at 21:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.