userland: add assembly support

Move arm assembly cheat here, and start some work on x86 cheat as well.
This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-03-22 00:00:00 +00:00
parent 4943c9ed2e
commit 287c83f3f9
117 changed files with 3870 additions and 547 deletions

View File

@@ -0,0 +1,28 @@
/* https://github.com/cirosantilli/arm-assembly-cheat#bl */
#include "common.h"
ENTRY
mov x0, 1
bl inc
ASSERT_EQ(x0, 2)
bl inc2
ASSERT_EQ(x0, 3)
bl inc3
ASSERT_EQ(x0, 4)
EXIT
/* void inc(uint64_t *i) { (*i)++ } */
inc:
add x0, x0, 1
ret
/* Same but explicit return register. */
inc2:
add x0, x0, 1
ret x30
/* Same but with br. */
inc3:
add x0, x0, 1
br x30