Index: test.cc |
=================================================================== |
--- test.cc (revision 167) |
+++ test.cc (working copy) |
@@ -164,23 +164,24 @@ |
"mov $1, %%eax\n" |
"int $0\n" |
"jmp 101f\n" |
- "100:.ascii \"Hello world (INT $0 worked)\\n\"\n" |
- "101:\n" |
+ "100:.ascii \"Hello world (INT $0 worked)\\n\"\n" |
+ "101:\n" |
: |
: |
: "rax", "rdi", "rsi", "rdx"); |
#elif defined(__i386__) |
- asm volatile("mov $2, %%ebx\n" |
+ asm volatile("push %%ebx\n" |
+ "mov $2, %%ebx\n" |
"lea 100f, %%ecx\n" |
"mov $101f-100f, %%edx\n" |
"mov $4, %%eax\n" |
"int $0\n" |
"jmp 101f\n" |
- "100:.ascii \"Hello world (INT $0 worked)\\n\"\n" |
- "101:\n" |
+ "100:.ascii \"Hello world (INT $0 worked)\\n\"\n" |
+ "101:pop %%ebx\n" |
: |
: |
- : "eax", "ebx", "ecx", "edx"); |
+ : "eax", "ecx", "edx"); |
#endif |
int pair[2]; |