Advertisement
Guest User

Untitled

a guest
Feb 20th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2.  
  3. int _start() {
  4.     volatile char x;
  5.     asm volatile (
  6.         "movl $3, %%eax\n"
  7.         "movl $0, %%ebx\n"
  8.         "movl %%esp, %%ecx\n"
  9.         "movl $1, %%edx\n"
  10.         "int  $0x80\n"
  11.         :
  12.         :"g" (&x), "g" (sizeof(x))
  13.         :"esp", "eax", "ebx", "ecx", "edx");
  14.     while (x != EOF) {
  15.         if (x - 'a' < 'z') {
  16.             x = x - 'a' + 'A';
  17.         }
  18.         asm volatile (
  19.             "movl 4, %%eax\n"      
  20.             "movl $1, %%ebx\n"    
  21.             "movl %%esp, %%ecx\n"
  22.             "movl $1, %%edx\n"
  23.             "int  $0x80\n"
  24.             :
  25.             :"g" (&x), "g" (sizeof(x))
  26.             :"esp", "eax", "ebx", "ecx", "edx");
  27.         asm volatile (
  28.             "movl $3, %%eax\n"
  29.             "movl $0, %%ebx\n"
  30.             "movl %%esp, %%ecx\n"
  31.             "movl $1, %%edx\n"
  32.             "int  $0x80\n"
  33.             :
  34.             :"g" (&x), "g" (sizeof(x))
  35.             :"esp","eax", "ebx", "ecx", "edx");
  36.     }
  37.     asm volatile (
  38.         "movl $1, %%eax\n"
  39.         "xorl %%ebx, %%ebx\n"
  40.         "int  $0x80\n"
  41.         :
  42.         :
  43.         :"eax", "ebx");
  44.     volatile int ret;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement