Guest User

Untitled

a guest
Jun 23rd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. void doSomething(void) {
  2.  
  3. int a = 1, b = 2, c = 3, d = 4, e = 5;
  4. void *stackp = NULL;
  5.  
  6. #ifdef _ARM_ARCH_H
  7. __asm__("mov %[address],r9" : [address]"=r" (stackp)); //r9 is the rfp
  8. #else
  9. __asm__("mov %%ebp,%[address]" : [address]"=a" (stackp));
  10. stackp -= 2 * sizeof(int); // two 32-bit values on stack, self && _cmd even though unused for a simple C func?
  11. stackp -= 6 * sizeof(int); // position at start of stack vars addr range
  12. #endif
  13.  
  14. memset(stackp, 0, 6*sizeof(int));
  15.  
  16. NSLog(@"a:%d, b:%d, c:%d, d:%d, e:%d", a, b, c, d, e); // should print all ZEROs
  17.  
  18. }
Add Comment
Please, Sign In to add comment