mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 11:37:35 +00:00
25 lines
489 B
ArmAsm
25 lines
489 B
ArmAsm
#include "libc/macros.h"
|
|
|
|
// Example assembly function.
|
|
//
|
|
// @note param agnostic
|
|
// @note we love stack frames
|
|
// easiest way to do backtraces
|
|
// somehow they usually make code faster
|
|
// it's convention for keeping stack 16-byte aligned
|
|
// cpus still devote much to pushing & popping b/c i386
|
|
MyAsm:
|
|
|
|
#ifdef __x86_64__
|
|
push %rbp
|
|
mov %rsp,%rbp
|
|
call MyPrint2
|
|
pop %rbp
|
|
#elif defined(__aarch64__)
|
|
bl MyPrint2
|
|
#else
|
|
#error "unsupported architecture"
|
|
#endif
|
|
|
|
ret
|
|
.endfn MyAsm,globl
|