1#!/bin/sh23awk '! /^#/ && $2 == "'$1'" {4 syscall=$25 fname=$2".s"6 noper=$378 printf("\t.file\t"\9 "\"fname\"\n"\10 "\t.globl\t%s\n"\11 "%s:\n"\12 "\tpushl\t%%ebp\n"\13 "\tpushl\t%%ebx\n"\14 "\tpushl\t%%esi\n\n"\15 "\tpushl\t%%edi\n"\16 "\tmovl\t%%esp,%%ebp\n",17 syscall, syscall)1819 if (noper > 0)20 printf "\tmovl\t20(%%ebp),%%ebx\n"21 if (noper > 1)22 printf "\tmovl\t24(%%ebp),%%ecx\n"23 if (noper > 2)24 printf "\tmovl\t28(%%ebp),%%edx\n"25 if (noper > 3)26 printf "\tmovl\t28(%%ebp),%%esi\n"27 if (noper > 4)28 printf "\tmovl\t28(%%ebp),%%edi\n"2930 printf "\tmovl\t$%d,%%eax\n"\31 "\tint\t$0x80\n"\32 "\tpopl\t%%edi\n"\33 "\tpopl\t%%esi\n"\34 "\tpopl\t%%ebx\n"\35 "\tpopl\t%%ebp\n"\36 "\tjmp\t_cerrno\n", $13738} ' syscall.lst > $1.s