// File: besm6[P]pascal-re/pascompl.cc
// Function: usage()
void usage ()
{
    printf("%s\n", boilerplate);
    printf("Usage:\n");
    printf("    %s [option...] infile [outfile]\n", progname);
    printf("Options:\n");
    printf("    -a0 -a1 -a2         Output encoding for strings:\n");
    printf("                        -a0: UTF-8\n");
    printf("                        -a1: KOI-8\n");
    printf("                        -a2: KOI-7 (aka ISO, default)\n");
    printf("    -b0 -b1 ... -b4     Size of file buffer, in 256-word chunks\n");
    printf("    -c- -c+             Disable/enable checking of data types\n");
    printf("    -d0 -d1 ... -d15    Bitmask of debug flags:\n");
    printf("                        -d1: Trace function calls\n");
    printf("                        -d2: Enable debug() as writeln()\n");
    printf("                        -d4: Enable code enclosed in {=Z-}/{=Z+}\n");
    printf("                        -d8: Invoke Pascal Debugger\n");
    printf("    -e- -e+             Make procedures external (-e+) or local (-e-)\n");
    printf("    -f- -f+             Compile procedures as Pascal (-f-) or Fortran (-f+)\n");
    printf("    -k0 -k1 ... -k23    Heap size in 1024-word chunks (default -k4)\n");
    printf("    -l0 -l1 -l2 -l3     Listing mode:\n");
    printf("                        -l0: No listing, only error messages\n");
    printf("                        -l1: Print listing with relative addresses per line\n");
    printf("                        -l2: Also print generated object code\n");
    printf("                        -l3: Also print offsets for variables and fields\n");
    printf("    -m+ -m-             Optimize integer multiplication (positives only)\n");
    printf("    -p+ -p-             Enable/disable debug information and crash dump\n");
    printf("    -r+ -r-             Compare reals with predefined tolerance\n");
    printf("    -s0                 Use stars for commons (like *foobar*)\n");
    printf("    -s1                 Append one star for external names (like foobar*)\n");
    printf("    -s2                 No stars for external names (like foobar)\n");
    printf("    -s3                 Re-start line numbering from this line\n");
    printf("    -s4                 Print columns 73-80 as line tags\n");
    printf("    -s5                 Disable external files\n");
    printf("    -s6                 Pack record fields from right to left\n");
    printf("    -s7                 Disable pointer checking\n");
    printf("    -s8                 Disable checking for stack overflow\n");
    printf("    -s9                 Unknown\n");
    printf("    -t+ -t-             Enable/disable range checks\n");
    printf("    -u- -u+             Set length of source lines: 120 or 72 columns\n");
    printf("    -y- -y+             Disable/enable non-standard syntax\n");
    printf("    -P                  Write 'dubna'-compatible object file\n");
    printf("    -v                  Output version information and exit\n");
    printf("    -h                  Display this help and exit\n");
    exit(0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x22d0d(%rip), %rsi     # 0x3f2d8
leaq 0x15d61(%rip), %rdi     # 0x32333
movb $0x0, %al
callq 0x4030
leaq 0x15ec1(%rip), %rdi     # 0x324a1
movb $0x0, %al
callq 0x4030
movq 0xbc45a(%rip), %rsi     # 0xd8a48
leaq 0x15eb4(%rip), %rdi     # 0x324a9
movb $0x0, %al
callq 0x4030
leaq 0x15ecb(%rip), %rdi     # 0x324ce
movb $0x0, %al
callq 0x4030
leaq 0x15ec7(%rip), %rdi     # 0x324d8
movb $0x0, %al
callq 0x4030
leaq 0x15eef(%rip), %rdi     # 0x3250e
movb $0x0, %al
callq 0x4030
leaq 0x15f05(%rip), %rdi     # 0x32532
movb $0x0, %al
callq 0x4030
leaq 0x15f1b(%rip), %rdi     # 0x32556
movb $0x0, %al
callq 0x4030
leaq 0x15f44(%rip), %rdi     # 0x3258d
movb $0x0, %al
callq 0x4030
leaq 0x15f77(%rip), %rdi     # 0x325ce
movb $0x0, %al
callq 0x4030
leaq 0x15fa8(%rip), %rdi     # 0x3260d
movb $0x0, %al
callq 0x4030
leaq 0x15fcb(%rip), %rdi     # 0x3263e
movb $0x0, %al
callq 0x4030
leaq 0x15ff0(%rip), %rdi     # 0x32671
movb $0x0, %al
callq 0x4030
leaq 0x1601c(%rip), %rdi     # 0x326ab
movb $0x0, %al
callq 0x4030
leaq 0x16050(%rip), %rdi     # 0x326ed
movb $0x0, %al
callq 0x4030
leaq 0x16077(%rip), %rdi     # 0x32722
movb $0x0, %al
callq 0x4030
leaq 0x160b0(%rip), %rdi     # 0x32769
movb $0x0, %al
callq 0x4030
leaq 0x160ef(%rip), %rdi     # 0x327b6
movb $0x0, %al
callq 0x4030
leaq 0x16126(%rip), %rdi     # 0x327fb
movb $0x0, %al
callq 0x4030
leaq 0x1613f(%rip), %rdi     # 0x32822
movb $0x0, %al
callq 0x4030
leaq 0x1616f(%rip), %rdi     # 0x32860
movb $0x0, %al
callq 0x4030
leaq 0x161ae(%rip), %rdi     # 0x328ad
movb $0x0, %al
callq 0x4030
leaq 0x161df(%rip), %rdi     # 0x328ec
movb $0x0, %al
callq 0x4030
leaq 0x1621b(%rip), %rdi     # 0x32936
movb $0x0, %al
callq 0x4030
leaq 0x16257(%rip), %rdi     # 0x32980
movb $0x0, %al
callq 0x4030
leaq 0x16292(%rip), %rdi     # 0x329c9
movb $0x0, %al
callq 0x4030
leaq 0x162c5(%rip), %rdi     # 0x32a0a
movb $0x0, %al
callq 0x4030
leaq 0x162f6(%rip), %rdi     # 0x32a49
movb $0x0, %al
callq 0x4030
leaq 0x16333(%rip), %rdi     # 0x32a94
movb $0x0, %al
callq 0x4030
leaq 0x16368(%rip), %rdi     # 0x32ad7
movb $0x0, %al
callq 0x4030
leaq 0x1639a(%rip), %rdi     # 0x32b17
movb $0x0, %al
callq 0x4030
leaq 0x163c6(%rip), %rdi     # 0x32b51
movb $0x0, %al
callq 0x4030
leaq 0x163e8(%rip), %rdi     # 0x32b81
movb $0x0, %al
callq 0x4030
leaq 0x16419(%rip), %rdi     # 0x32bc0
movb $0x0, %al
callq 0x4030
leaq 0x1643d(%rip), %rdi     # 0x32bf2
movb $0x0, %al
callq 0x4030
leaq 0x1646c(%rip), %rdi     # 0x32c2f
movb $0x0, %al
callq 0x4030
leaq 0x1647f(%rip), %rdi     # 0x32c50
movb $0x0, %al
callq 0x4030
leaq 0x164a6(%rip), %rdi     # 0x32c85
movb $0x0, %al
callq 0x4030
leaq 0x164df(%rip), %rdi     # 0x32ccc
movb $0x0, %al
callq 0x4030
leaq 0x1650d(%rip), %rdi     # 0x32d08
movb $0x0, %al
callq 0x4030
leaq 0x1653d(%rip), %rdi     # 0x32d46
movb $0x0, %al
callq 0x4030
leaq 0x1656c(%rip), %rdi     # 0x32d83
movb $0x0, %al
callq 0x4030
xorl %edi, %edi
callq 0x43a0
nopw %cs:(%rax,%rax)