Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. /// Function must be something like this:
  2. int check_register_storing()
  3. {
  4. __asm__ (
  5. pushad // Save registers
  6. and ebx, ebx // Set Zero
  7. and eax, eax
  8. and ecx, ecx
  9. and edx, edx
  10. );
  11.  
  12. // Set test number.
  13. register int a = 8; // Initial value;
  14. int from_register = 0;
  15.  
  16. asm(
  17. add eax, ebx // If, 'a' variable set on CPU register,
  18. add eax, ecx // Some of main usage registers must contain 8
  19. add eax, edx // Others must contain 0
  20. mov %from_register, eax
  21. popad // Return default parameters to registers
  22. }
  23.  
  24. /// Check result
  25. printf( "Original saved number: %d, Returned number from main registers: %dn", a, from_register );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement