Calling C Functions from Forth and Vice Versa

Procedure Call Standard for the ARM Architecture AAPCS

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/on-the-aapcs-with-an-application-to-efficient-parameter-passing

Register AAPCS Purpose MECRISP Forth Purpose
r0 Argument, result, scratch register 1 Scratch
r1 Argument, result, scratch register 2 Scratch
r2 Argument, scratch register 3 Scratch
r3 Argument, scratch register 4 Scratch
r4 Variable register 1  
r5 Variable register 2  
r6 Variable register 3 Top Of Stack TOS
r7 Variable register 4 Data Stack
r8 Variable register 5  
r9 Platform register (usage defined by platform in use)  
r10 Variable register 7  
r11 Variable register 8  
r12 Intra-procedure-call scratch register  
r13 Stack pointer (SP) Stack pointer (SP)
r14 Link register (LR) Link register (LR)
r15 Program counter (PC) Program counter (PC)

-- Peter Schmid - 2020-07-13

Comments

Edit | Attach | Watch | Print version | History: r7 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2020-07-13 - PeterSchmid
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback