This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

?C?ICALL

Dear All,

I have a question about ?C?ICALL.
When a function is called via a function
pionter, the callee is called via ?C?ICALL. In ?C?ICALL, it initialize DPTR
and A, and Jmp @A+DPTR. But when the caller and the callee are not in the same bank, how does ?C?ICALL handle it?

with kind regards

Jay

Parents
  • I've read this aritcle:)
    What I want to ask is where is the bank
    switch machanism while using function pointer. When not using function pointer to call, it first LCALL to intrabank table and then jmp to bank switching code. But I don't know when to do bank switching (i.e. LCALL to intrabank...) while using function pointer. Does ?C?ICALL do it? or somewhere else?

    with kind regards

    Jay

Reply
  • I've read this aritcle:)
    What I want to ask is where is the bank
    switch machanism while using function pointer. When not using function pointer to call, it first LCALL to intrabank table and then jmp to bank switching code. But I don't know when to do bank switching (i.e. LCALL to intrabank...) while using function pointer. Does ?C?ICALL do it? or somewhere else?

    with kind regards

    Jay

Children