#include <stdio.h> //局所レジスタ変数の定義 int hensu[10] asm ("hensu_asm"); int tbl[10]; int main(void) { register int *foo1 asm ("eax"); register int *foo2 asm ("ebx"); *foo1 = 100; *foo2 = 200; hensu[0] = 1; tbl[0] = *foo1 * *foo2; return 0; } |
.file "test103.c" .version "01.01" gcc2_compiled.: .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp pushl %ebx movl $100,(%eax) movl $200,(%ebx) movl $1,hensu_asm movl (%eax),%eax imull (%ebx),%eax movl %eax,tbl xorl %eax,%eax jmp .L2 .L2: movl -4(%ebp),%ebx movl %ebp,%esp popl %ebp ret .Lfe1: .size main,.Lfe1-main .comm hensu_asm,40,32 .comm tbl,40,32 .ident "GCC: (GNU) 2.95.3 20010315 (release)" |