https://github.com/technosf/xtensaasmpoc
Xtensa Asm from Arduino Core Proof Of Concept
https://github.com/technosf/xtensaasmpoc
Last synced: 18 days ago
JSON representation
Xtensa Asm from Arduino Core Proof Of Concept
- Host: GitHub
- URL: https://github.com/technosf/xtensaasmpoc
- Owner: technosf
- License: gpl-3.0
- Created: 2018-12-30T19:34:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-01-02T18:09:17.000Z (over 7 years ago)
- Last Synced: 2025-11-11T16:34:30.988Z (8 months ago)
- Language: Assembly
- Size: 19.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Xtensa ASM Proof Of Concept
Xtensa Asm from Arduino Core Proof Of Concept
POC using Arduino core for ESP32 ASM where the ASM resides in a ".S" file and there is no C inline asm.
Exploring how and where input/output parameters and data structures are loaded.
The test fixture is the C->ASM external call definition:
````
uint8_t asmtest( uint8_t inputone, uint8_t * outputtwo );
````
## Output
>Calling the ASM C header with values
> In1: 0x00000011 In2: 0x00000022 Out: 0000000000
>
>Call Complete.
> In1: 0000000000 In2: 0x00000011 Out: 0x000000ff
## Findings
1. Input params are loaded into the registers
1. inputone i getting clobbered - why? Making it a const in the sketch fixes... but?
1. Pointers as i/o vectors looks like it's a better way to go than passing the values poss?