Есть ли серьезные библиотеки для асм?

Тема в разделе "WASM.ASSEMBLER", создана пользователем ts, 8 июл 2010.

  1. ts

    ts New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2010
    Сообщения:
    11
    существуют ли какие серьезные библиотеки готовых функций в исходниках для асм (не важно фасм или масм)?
    нашол только http://fasmlib.x86asm.net/ - скромно.
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    А в чем отличие библиотеки -- для ассемблера она или нет? Ф-ия библиотеки, написанной на любом языке может быть вызвана из кода на ассемблере (если адрес ф-ии в библиотеке предоставляется каким-либо образом). Или та же ntdll.dll -- чем не библиотека? :)
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    что такое серьезная библиотека?
     
  4. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Mika0x65
    Думаю, что тут ключевым является
    смотреть/использовать сразу текстом
    ЗЫ Хотя если посмотреть на текст, который они там написали - хорошего мало
    К примеру как вам понравится это
    Код (Text):
    1. ;;    Additionally it says which block contents "is bigger", useful for sorting.
    2. ;; @arg block1
    3. ;;    Pointer to beginning of first memory block
    4. ;; @arg block2
    5. ;;    Pointer to beginning of second memory block
    6. ;; @arg size
    7. ;;    Number of bytes to compare
    8. ;; @ret
    9. ;;    CF = 1 on error, otherwise
    10. ;;    {flagscmp:flags set for signed conditional jumps}, and
    11. ;;    if ZF=0, EAX = offset in blocks (not pointer) where blocks differ
    12. ;; @err ERR_INVALID_POINTER
    13. ;;    some of pointers point to inaccessible area
    14. ;; @err ERR_ZERO_SIZE
    15. ;;    size=0
    16. ;; @note   When ZF=1 (blocks are equal), EAX=size on return
    17. ;; @note   Memory management doesn't have to be initalized for this to work
    18. proc mem.cmp block1, block2, size
    19.     push    esi edi ecx
    20.     pushf
    21.     cld
    22.  
    23.     mov edi, [block1]
    24.     mov esi, [block2]
    25.     mov ecx, [size]
    26.  
    27.     ;error if size=0
    28.     cmp ecx, 0
    29.     je  .error_size_zero
    30.  
    31.     ;do the compare
    32.     repe    cmpsb
    33.     je  .equal
    34.  
    35.     ;set flags to greater/lesser
    36.     mov al, byte [edi-1]
    37.     cmp al, byte [esi-1]
    38.     ja  .greater
    39.  
    40.     ;flags for conditional jumps
    41.     ; je:      ZF=1
    42.     ; jne:     ZF=0
    43.     ; jg/jnle: ZF=0 & (SF=OF)
    44.     ; jge/jnl: SF=OF
    45.     ; jl/jnge: SF!=OF
    46.     ; jle/jng: ZF=1 | (SF!=OF)
    47. .lesser:
    48.     ;ZF=0, SF=0, OF=1
    49.     and word [esp], not ((1 shl 6) + (1 shl 7)) ;clear ZF and SF
    50.     or  word [esp], 1 shl 11            ;set OF
    51.     jmp .done
    52.  
    53. .greater:
    54.     ;ZF=0, SF=1, OF=1
    55.     and word [esp], not (1 shl 6)       ;clear ZF
    56.     or  word [esp], (1 shl 11) + (1 shl 7)  ;set OF and SF
    57.     jmp .done
    58.  
    59. .equal:
    60.     ;ZF=1, SF=1, OF=1
    61.     or  word [esp], (1 shl 6) + (1 shl 7) + (1 shl 11)
    62.  
    63. .done:  ;EAX = offset where blocks differ
    64.     mov eax, [size]
    65.     sub eax, ecx
    66.     dec eax
    67.  
    68. .rnc:   and byte [esp],not 1     ;clear CF
    69. .r: popf
    70.     pop ecx edi esi
    71.     ret
    72. .rc:    or  byte [esp], 1 ;set CF
    73.     jmp .r
    74.  
    75. .error_size_zero:
    76.     mov eax, ERR_ZERO_SIZE
    77.     jmp .rc
    78. endp
    вместо простого pop ecx/pushf такие завороты
    это не первое что под руку попалось, но самое обидное (хотя посмотрел еще не все), за что это можно называть серьезным
     
  5. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    masm32\m32lib ?
     
  6. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Cерйозно?(буду на укр., сподіваюсь розберете).
    Думаю, нам треба бути взаємовічливими і не говорити, що то "кокеш", а то - ні.
    masm32\m32lib\bin2b_ex.asm:
    Код (Text):
    1. ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
    2.  
    3.     .486                      ; force 32 bit code
    4.     .model flat, stdcall      ; memory model & calling convention
    5.     option casemap :none      ; case sensitive
    6.  
    7.     .code
    8.  
    9. ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
    10.  
    11. OPTION PROLOGUE : NONE
    12. OPTION EPILOGUE : NONE
    13.  
    14. align 4
    15.  
    16. bin2byte_ex proc lpword:DWORD
    17.  
    18.     mov eax, [esp+4]
    19.    
    20.     cmp BYTE PTR [eax+0], '0'
    21.     jne lbl0
    22.     cmp BYTE PTR [eax+1], '0'
    23.     jne lbl1
    24.     cmp BYTE PTR [eax+2], '0'
    25.     jne lbl2
    26.     cmp BYTE PTR [eax+3], '0'
    27.     jne lbl3
    28.     cmp BYTE PTR [eax+4], '0'
    29.     jne lbl4
    30.     cmp BYTE PTR [eax+5], '0'
    31.     jne lbl5
    32.     cmp BYTE PTR [eax+6], '0'
    33.     jne lbl6
    34.     cmp BYTE PTR [eax+7], '0'
    35.     jne lbl7
    36.   lbl7:
    37.     cmp BYTE PTR [eax+7], '1'
    38.     jne notfound
    39.     cmp BYTE PTR [eax+8], 0
    40.     jne notfound
    41.     mov eax, 1
    42.     ret 4
    43.   lbl6:
    44.     cmp BYTE PTR [eax+6], '1'
    45.     jne notfound
    46.     cmp BYTE PTR [eax+7], '0'
    47.     jne lbl8
    48.     cmp BYTE PTR [eax+8], 0
    49.     jne notfound
    50.     mov eax, 2
    51.     ret 4
    52.   lbl8:
    53.     cmp BYTE PTR [eax+7], '1'
    54.     jne notfound
    55.     cmp BYTE PTR [eax+8], 0
    56.     jne notfound
    57.     mov eax, 3
    58.     ret 4
    59.   lbl5:
    60.     cmp BYTE PTR [eax+5], '1'
    61.     jne notfound
    62.     cmp BYTE PTR [eax+6], '0'
    63.     jne lbl9
    64.     cmp BYTE PTR [eax+7], '0'
    65.     jne lbl10
    66.     cmp BYTE PTR [eax+8], 0
    67.     jne notfound
    68.     mov eax, 4
    69.     ret 4
    70.   lbl10:
    71.     cmp BYTE PTR [eax+7], '1'
    72.     jne notfound
    73.     cmp BYTE PTR [eax+8], 0
    74.     jne notfound
    75.     mov eax, 5
    76.     ret 4
    77.   lbl9:
    78.     cmp BYTE PTR [eax+6], '1'
    79.     jne notfound
    80.     cmp BYTE PTR [eax+7], '0'
    81.     jne lbl11
    82.     cmp BYTE PTR [eax+8], 0
    83.     jne notfound
    84.     mov eax, 6
    85.     ret 4
    86.   lbl11:
    87.     cmp BYTE PTR [eax+7], '1'
    88.     jne notfound
    89.     cmp BYTE PTR [eax+8], 0
    90.     jne notfound
    91.     mov eax, 7
    92.     ret 4
    93.   lbl4:
    94.     cmp BYTE PTR [eax+4], '1'
    95.     jne notfound
    96.     cmp BYTE PTR [eax+5], '0'
    97.     jne lbl12
    98.     cmp BYTE PTR [eax+6], '0'
    99.     jne lbl13
    100.     cmp BYTE PTR [eax+7], '0'
    101.     jne lbl14
    102.     cmp BYTE PTR [eax+8], 0
    103.     jne notfound
    104.     mov eax, 8
    105.     ret 4
    106.   lbl14:
    107.     cmp BYTE PTR [eax+7], '1'
    108.     jne notfound
    109.     cmp BYTE PTR [eax+8], 0
    110.     jne notfound
    111.     mov eax, 9
    112.     ret 4
    113.   lbl13:
    114.     cmp BYTE PTR [eax+6], '1'
    115.     jne notfound
    116.     cmp BYTE PTR [eax+7], '0'
    117.     jne lbl15
    118.     cmp BYTE PTR [eax+8], 0
    119.     jne notfound
    120.     mov eax, 10
    121.     ret 4
    122.   lbl15:
    123.     cmp BYTE PTR [eax+7], '1'
    124.     jne notfound
    125.     cmp BYTE PTR [eax+8], 0
    126.     jne notfound
    127.     mov eax, 11
    128.     ret 4
    129.   lbl12:
    130.     cmp BYTE PTR [eax+5], '1'
    131.     jne notfound
    132.     cmp BYTE PTR [eax+6], '0'
    133.     jne lbl16
    134.     cmp BYTE PTR [eax+7], '0'
    135.     jne lbl17
    136.     cmp BYTE PTR [eax+8], 0
    137.     jne notfound
    138.     mov eax, 12
    139.     ret 4
    140.   lbl17:
    141.     cmp BYTE PTR [eax+7], '1'
    142.     jne notfound
    143.     cmp BYTE PTR [eax+8], 0
    144.     jne notfound
    145.     mov eax, 13
    146.     ret 4
    147.   lbl16:
    148.     cmp BYTE PTR [eax+6], '1'
    149.     jne notfound
    150.     cmp BYTE PTR [eax+7], '0'
    151.     jne lbl18
    152.     cmp BYTE PTR [eax+8], 0
    153.     jne notfound
    154.     mov eax, 14
    155.     ret 4
    156.   lbl18:
    157.     cmp BYTE PTR [eax+7], '1'
    158.     jne notfound
    159.     cmp BYTE PTR [eax+8], 0
    160.     jne notfound
    161.     mov eax, 15
    162.     ret 4
    163.   lbl3:
    164.     cmp BYTE PTR [eax+3], '1'
    165.     jne notfound
    166.     cmp BYTE PTR [eax+4], '0'
    167.     jne lbl19
    168.     cmp BYTE PTR [eax+5], '0'
    169.     jne lbl20
    170.     cmp BYTE PTR [eax+6], '0'
    171.     jne lbl21
    172.     cmp BYTE PTR [eax+7], '0'
    173.     jne lbl22
    174.     cmp BYTE PTR [eax+8], 0
    175.     jne notfound
    176.     mov eax, 16
    177.     ret 4
    178.   lbl22:
    179.     cmp BYTE PTR [eax+7], '1'
    180.     jne notfound
    181.     cmp BYTE PTR [eax+8], 0
    182.     jne notfound
    183.     mov eax, 17
    184.     ret 4
    185.   lbl21:
    186.     cmp BYTE PTR [eax+6], '1'
    187.     jne notfound
    188.     cmp BYTE PTR [eax+7], '0'
    189.     jne lbl23
    190.     cmp BYTE PTR [eax+8], 0
    191.     jne notfound
    192.     mov eax, 18
    193.     ret 4
    194.   lbl23:
    195.     cmp BYTE PTR [eax+7], '1'
    196.     jne notfound
    197.     cmp BYTE PTR [eax+8], 0
    198.     jne notfound
    199.     mov eax, 19
    200.     ret 4
    201.   lbl20:
    202.     cmp BYTE PTR [eax+5], '1'
    203.     jne notfound
    204.     cmp BYTE PTR [eax+6], '0'
    205.     jne lbl24
    206.     cmp BYTE PTR [eax+7], '0'
    207.     jne lbl25
    208.     cmp BYTE PTR [eax+8], 0
    209.     jne notfound
    210.     mov eax, 20
    211.     ret 4
    212.   lbl25:
    213.     cmp BYTE PTR [eax+7], '1'
    214.     jne notfound
    215.     cmp BYTE PTR [eax+8], 0
    216.     jne notfound
    217.     mov eax, 21
    218.     ret 4
    219.   lbl24:
    220.     cmp BYTE PTR [eax+6], '1'
    221.     jne notfound
    222.     cmp BYTE PTR [eax+7], '0'
    223.     jne lbl26
    224.     cmp BYTE PTR [eax+8], 0
    225.     jne notfound
    226.     mov eax, 22
    227.     ret 4
    228.   lbl26:
    229.     cmp BYTE PTR [eax+7], '1'
    230.     jne notfound
    231.     cmp BYTE PTR [eax+8], 0
    232.     jne notfound
    233.     mov eax, 23
    234.     ret 4
    235.   lbl19:
    236.     cmp BYTE PTR [eax+4], '1'
    237.     jne notfound
    238.     cmp BYTE PTR [eax+5], '0'
    239.     jne lbl27
    240.     cmp BYTE PTR [eax+6], '0'
    241.     jne lbl28
    242.     cmp BYTE PTR [eax+7], '0'
    243.     jne lbl29
    244.     cmp BYTE PTR [eax+8], 0
    245.     jne notfound
    246.     mov eax, 24
    247.     ret 4
    248.   lbl29:
    249.     cmp BYTE PTR [eax+7], '1'
    250.     jne notfound
    251.     cmp BYTE PTR [eax+8], 0
    252.     jne notfound
    253.     mov eax, 25
    254.     ret 4
    255.   lbl28:
    256.     cmp BYTE PTR [eax+6], '1'
    257.     jne notfound
    258.     cmp BYTE PTR [eax+7], '0'
    259.     jne lbl30
    260.     cmp BYTE PTR [eax+8], 0
    261.     jne notfound
    262.     mov eax, 26
    263.     ret 4
    264.   lbl30:
    265.     cmp BYTE PTR [eax+7], '1'
    266.     jne notfound
    267.     cmp BYTE PTR [eax+8], 0
    268.     jne notfound
    269.     mov eax, 27
    270.     ret 4
    271.   lbl27:
    272.     cmp BYTE PTR [eax+5], '1'
    273.     jne notfound
    274.     cmp BYTE PTR [eax+6], '0'
    275.     jne lbl31
    276.     cmp BYTE PTR [eax+7], '0'
    277.     jne lbl32
    278.     cmp BYTE PTR [eax+8], 0
    279.     jne notfound
    280.     mov eax, 28
    281.     ret 4
    282.   lbl32:
    283.     cmp BYTE PTR [eax+7], '1'
    284.     jne notfound
    285.     cmp BYTE PTR [eax+8], 0
    286.     jne notfound
    287.     mov eax, 29
    288.     ret 4
    289.   lbl31:
    290.     cmp BYTE PTR [eax+6], '1'
    291.     jne notfound
    292.     cmp BYTE PTR [eax+7], '0'
    293.     jne lbl33
    294.     cmp BYTE PTR [eax+8], 0
    295.     jne notfound
    296.     mov eax, 30
    297.     ret 4
    298.   lbl33:
    299.     cmp BYTE PTR [eax+7], '1'
    300.     jne notfound
    301.     cmp BYTE PTR [eax+8], 0
    302.     jne notfound
    303.     mov eax, 31
    304.     ret 4
    305.   lbl2:
    306.     cmp BYTE PTR [eax+2], '1'
    307.     jne notfound
    308.     cmp BYTE PTR [eax+3], '0'
    309.     jne lbl34
    310.     cmp BYTE PTR [eax+4], '0'
    311.     jne lbl35
    312.     cmp BYTE PTR [eax+5], '0'
    313.     jne lbl36
    314.     cmp BYTE PTR [eax+6], '0'
    315.     jne lbl37
    316.     cmp BYTE PTR [eax+7], '0'
    317.     jne lbl38
    318.     cmp BYTE PTR [eax+8], 0
    319.     jne notfound
    320.     mov eax, 32
    321.     ret 4
    322.   lbl38:
    323.     cmp BYTE PTR [eax+7], '1'
    324.     jne notfound
    325.     cmp BYTE PTR [eax+8], 0
    326.     jne notfound
    327.     mov eax, 33
    328.     ret 4
    329.   lbl37:
    330.     cmp BYTE PTR [eax+6], '1'
    331.     jne notfound
    332.     cmp BYTE PTR [eax+7], '0'
    333.     jne lbl39
    334.     cmp BYTE PTR [eax+8], 0
    335.     jne notfound
    336.     mov eax, 34
    337.     ret 4
    338.   lbl39:
    339.     cmp BYTE PTR [eax+7], '1'
    340.     jne notfound
    341.     cmp BYTE PTR [eax+8], 0
    342.     jne notfound
    343.     mov eax, 35
    344.     ret 4
    345.   lbl36:
    346.     cmp BYTE PTR [eax+5], '1'
    347.     jne notfound
    348.     cmp BYTE PTR [eax+6], '0'
    349.     jne lbl40
    350.     cmp BYTE PTR [eax+7], '0'
    351.     jne lbl41
    352.     cmp BYTE PTR [eax+8], 0
    353.     jne notfound
    354.     mov eax, 36
    355.     ret 4
    356.   lbl41:
    357.     cmp BYTE PTR [eax+7], '1'
    358.     jne notfound
    359.     cmp BYTE PTR [eax+8], 0
    360.     jne notfound
    361.     mov eax, 37
    362.     ret 4
    363.   lbl40:
    364.     cmp BYTE PTR [eax+6], '1'
    365.     jne notfound
    366.     cmp BYTE PTR [eax+7], '0'
    367.     jne lbl42
    368.     cmp BYTE PTR [eax+8], 0
    369.     jne notfound
    370.     mov eax, 38
    371.     ret 4
    372.   lbl42:
    373.     cmp BYTE PTR [eax+7], '1'
    374.     jne notfound
    375.     cmp BYTE PTR [eax+8], 0
    376.     jne notfound
    377.     mov eax, 39
    378.     ret 4
    379.   lbl35:
    380.     cmp BYTE PTR [eax+4], '1'
    381.     jne notfound
    382.     cmp BYTE PTR [eax+5], '0'
    383.     jne lbl43
    384.     cmp BYTE PTR [eax+6], '0'
    385.     jne lbl44
    386.     cmp BYTE PTR [eax+7], '0'
    387.     jne lbl45
    388.     cmp BYTE PTR [eax+8], 0
    389.     jne notfound
    390.     mov eax, 40
    391.     ret 4
    392.   lbl45:
    393.     cmp BYTE PTR [eax+7], '1'
    394.     jne notfound
    395.     cmp BYTE PTR [eax+8], 0
    396.     jne notfound
    397.     mov eax, 41
    398.     ret 4
    399.   lbl44:
    400.     cmp BYTE PTR [eax+6], '1'
    401.     jne notfound
    402.     cmp BYTE PTR [eax+7], '0'
    403.     jne lbl46
    404.     cmp BYTE PTR [eax+8], 0
    405.     jne notfound
    406.     mov eax, 42
    407.     ret 4
    408.   lbl46:
    409.     cmp BYTE PTR [eax+7], '1'
    410.     jne notfound
    411.     cmp BYTE PTR [eax+8], 0
    412.     jne notfound
    413.     mov eax, 43
    414.     ret 4
    415.   lbl43:
    416.     cmp BYTE PTR [eax+5], '1'
    417.     jne notfound
    418.     cmp BYTE PTR [eax+6], '0'
    419.     jne lbl47
    420.     cmp BYTE PTR [eax+7], '0'
    421.     jne lbl48
    422.     cmp BYTE PTR [eax+8], 0
    423.     jne notfound
    424.     mov eax, 44
    425.     ret 4
    426.   lbl48:
    427.     cmp BYTE PTR [eax+7], '1'
    428.     jne notfound
    429.     cmp BYTE PTR [eax+8], 0
    430.     jne notfound
    431.     mov eax, 45
    432.     ret 4
    433.   lbl47:
    434.     cmp BYTE PTR [eax+6], '1'
    435.     jne notfound
    436.     cmp BYTE PTR [eax+7], '0'
    437.     jne lbl49
    438.     cmp BYTE PTR [eax+8], 0
    439.     jne notfound
    440.     mov eax, 46
    441.     ret 4
    442.   lbl49:
    443.     cmp BYTE PTR [eax+7], '1'
    444.     jne notfound
    445.     cmp BYTE PTR [eax+8], 0
    446.     jne notfound
    447.     mov eax, 47
    448.     ret 4
    449.   lbl34:
    450.     cmp BYTE PTR [eax+3], '1'
    451.     jne notfound
    452.     cmp BYTE PTR [eax+4], '0'
    453.     jne lbl50
    454.     cmp BYTE PTR [eax+5], '0'
    455.     jne lbl51
    456.     cmp BYTE PTR [eax+6], '0'
    457.     jne lbl52
    458.     cmp BYTE PTR [eax+7], '0'
    459.     jne lbl53
    460.     cmp BYTE PTR [eax+8], 0
    461.     jne notfound
    462.     mov eax, 48
    463.     ret 4
    464.   lbl53:
    465.     cmp BYTE PTR [eax+7], '1'
    466.     jne notfound
    467.     cmp BYTE PTR [eax+8], 0
    468.     jne notfound
    469.     mov eax, 49
    470.     ret 4
    471.   lbl52:
    472.     cmp BYTE PTR [eax+6], '1'
    473.     jne notfound
    474.     cmp BYTE PTR [eax+7], '0'
    475.     jne lbl54
    476.     cmp BYTE PTR [eax+8], 0
    477.     jne notfound
    478.     mov eax, 50
    479.     ret 4
    480.   lbl54:
    481.     cmp BYTE PTR [eax+7], '1'
    482.     jne notfound
    483.     cmp BYTE PTR [eax+8], 0
    484.     jne notfound
    485.     mov eax, 51
    486.     ret 4
    487.   lbl51:
    488.     cmp BYTE PTR [eax+5], '1'
    489.     jne notfound
    490.     cmp BYTE PTR [eax+6], '0'
    491.     jne lbl55
    492.     cmp BYTE PTR [eax+7], '0'
    493.     jne lbl56
    494.     cmp BYTE PTR [eax+8], 0
    495.     jne notfound
    496.     mov eax, 52
    497.     ret 4
    498.   lbl56:
    499.     cmp BYTE PTR [eax+7], '1'
    500.     jne notfound
    501.     cmp BYTE PTR [eax+8], 0
    502.     jne notfound
    503.     mov eax, 53
    504.     ret 4
    505.   lbl55:
    506.     cmp BYTE PTR [eax+6], '1'
    507.     jne notfound
    508.     cmp BYTE PTR [eax+7], '0'
    509.     jne lbl57
    510.     cmp BYTE PTR [eax+8], 0
    511.     jne notfound
    512.     mov eax, 54
    513.     ret 4
    514.   lbl57:
    515.     cmp BYTE PTR [eax+7], '1'
    516.     jne notfound
    517.     cmp BYTE PTR [eax+8], 0
    518.     jne notfound
    519.     mov eax, 55
    520.     ret 4
    521.   lbl50:
    522.     cmp BYTE PTR [eax+4], '1'
    523.     jne notfound
    524.     cmp BYTE PTR [eax+5], '0'
    525.     jne lbl58
    526.     cmp BYTE PTR [eax+6], '0'
    527.     jne lbl59
    528.     cmp BYTE PTR [eax+7], '0'
    529.     jne lbl60
    530.     cmp BYTE PTR [eax+8], 0
    531.     jne notfound
    532.     mov eax, 56
    533.     ret 4
    534.   lbl60:
    535.     cmp BYTE PTR [eax+7], '1'
    536.     jne notfound
    537.     cmp BYTE PTR [eax+8], 0
    538.     jne notfound
    539.     mov eax, 57
    540.     ret 4
    541.   lbl59:
    542.     cmp BYTE PTR [eax+6], '1'
    543.     jne notfound
    544.     cmp BYTE PTR [eax+7], '0'
    545.     jne lbl61
    546.     cmp BYTE PTR [eax+8], 0
    547.     jne notfound
    548.     mov eax, 58
    549.     ret 4
    550.   lbl61:
    551.     cmp BYTE PTR [eax+7], '1'
    552.     jne notfound
    553.     cmp BYTE PTR [eax+8], 0
    554.     jne notfound
    555.     mov eax, 59
    556.     ret 4
    557.   lbl58:
    558.     cmp BYTE PTR [eax+5], '1'
    559.     jne notfound
    560.     cmp BYTE PTR [eax+6], '0'
    561.     jne lbl62
    562.     cmp BYTE PTR [eax+7], '0'
    563.     jne lbl63
    564.     cmp BYTE PTR [eax+8], 0
    565.     jne notfound
    566.     mov eax, 60
    567.     ret 4
    568.   lbl63:
    569.     cmp BYTE PTR [eax+7], '1'
    570.     jne notfound
    571.     cmp BYTE PTR [eax+8], 0
    572.     jne notfound
    573.     mov eax, 61
    574.     ret 4
    575.   lbl62:
    576.     cmp BYTE PTR [eax+6], '1'
    577.     jne notfound
    578.     cmp BYTE PTR [eax+7], '0'
    579.     jne lbl64
    580.     cmp BYTE PTR [eax+8], 0
    581.     jne notfound
    582.     mov eax, 62
    583.     ret 4
    584.   lbl64:
    585.     cmp BYTE PTR [eax+7], '1'
    586.     jne notfound
    587.     cmp BYTE PTR [eax+8], 0
    588.     jne notfound
    589.     mov eax, 63
    590.     ret 4
    591.   lbl1:
    592.     cmp BYTE PTR [eax+1], '1'
    593.     jne notfound
    594.     cmp BYTE PTR [eax+2], '0'
    595.     jne lbl65
    596.     cmp BYTE PTR [eax+3], '0'
    597.     jne lbl66
    598.     cmp BYTE PTR [eax+4], '0'
    599.     jne lbl67
    600.     cmp BYTE PTR [eax+5], '0'
    601.     jne lbl68
    602.     cmp BYTE PTR [eax+6], '0'
    603.     jne lbl69
    604.     cmp BYTE PTR [eax+7], '0'
    605.     jne lbl70
    606.     cmp BYTE PTR [eax+8], 0
    607.     jne notfound
    608.     mov eax, 64
    609.     ret 4
    610.   lbl70:
    611.     cmp BYTE PTR [eax+7], '1'
    612.     jne notfound
    613.     cmp BYTE PTR [eax+8], 0
    614.     jne notfound
    615.     mov eax, 65
    616.     ret 4
    617.   lbl69:
    618.     cmp BYTE PTR [eax+6], '1'
    619.     jne notfound
    620.     cmp BYTE PTR [eax+7], '0'
    621.     jne lbl71
    622.     cmp BYTE PTR [eax+8], 0
    623.     jne notfound
    624.     mov eax, 66
    625.     ret 4
    626.   lbl71:
    627.     cmp BYTE PTR [eax+7], '1'
    628.     jne notfound
    629.     cmp BYTE PTR [eax+8], 0
    630.     jne notfound
    631.     mov eax, 67
    632.     ret 4
    633.   lbl68:
    634.     cmp BYTE PTR [eax+5], '1'
    635.     jne notfound
    636.     cmp BYTE PTR [eax+6], '0'
    637.     jne lbl72
    638.     cmp BYTE PTR [eax+7], '0'
    639.     jne lbl73
    640.     cmp BYTE PTR [eax+8], 0
    641.     jne notfound
    642.     mov eax, 68
    643.     ret 4
    644.   lbl73:
    645.     cmp BYTE PTR [eax+7], '1'
    646.     jne notfound
    647.     cmp BYTE PTR [eax+8], 0
    648.     jne notfound
    649.     mov eax, 69
    650.     ret 4
    651.   lbl72:
    652.     cmp BYTE PTR [eax+6], '1'
    653.     jne notfound
    654.     cmp BYTE PTR [eax+7], '0'
    655.     jne lbl74
    656.     cmp BYTE PTR [eax+8], 0
    657.     jne notfound
    658.     mov eax, 70
    659.     ret 4
    660.   lbl74:
    661.     cmp BYTE PTR [eax+7], '1'
    662.     jne notfound
    663.     cmp BYTE PTR [eax+8], 0
    664.     jne notfound
    665.     mov eax, 71
    666.     ret 4
    667.   lbl67:
    668.     cmp BYTE PTR [eax+4], '1'
    669.     jne notfound
    670.     cmp BYTE PTR [eax+5], '0'
    671.     jne lbl75
    672.     cmp BYTE PTR [eax+6], '0'
    673.     jne lbl76
    674.     cmp BYTE PTR [eax+7], '0'
    675.     jne lbl77
    676.     cmp BYTE PTR [eax+8], 0
    677.     jne notfound
    678.     mov eax, 72
    679.     ret 4
    680.   lbl77:
    681.     cmp BYTE PTR [eax+7], '1'
    682.     jne notfound
    683.     cmp BYTE PTR [eax+8], 0
    684.     jne notfound
    685.     mov eax, 73
    686.     ret 4
    687.   lbl76:
    688.     cmp BYTE PTR [eax+6], '1'
    689.     jne notfound
    690.     cmp BYTE PTR [eax+7], '0'
    691.     jne lbl78
    692.     cmp BYTE PTR [eax+8], 0
    693.     jne notfound
    694.     mov eax, 74
    695.     ret 4
    696.   lbl78:
    697.     cmp BYTE PTR [eax+7], '1'
    698.     jne notfound
    699.     cmp BYTE PTR [eax+8], 0
    700.     jne notfound
    701.     mov eax, 75
    702.     ret 4
    703.   lbl75:
    704.     cmp BYTE PTR [eax+5], '1'
    705.     jne notfound
    706.     cmp BYTE PTR [eax+6], '0'
    707.     jne lbl79
    708.     cmp BYTE PTR [eax+7], '0'
    709.     jne lbl80
    710.     cmp BYTE PTR [eax+8], 0
    711.     jne notfound
    712.     mov eax, 76
    713.     ret 4
    714.   lbl80:
    715.     cmp BYTE PTR [eax+7], '1'
    716.     jne notfound
    717.     cmp BYTE PTR [eax+8], 0
    718.     jne notfound
    719.     mov eax, 77
    720.     ret 4
    721.   lbl79:
    722.     cmp BYTE PTR [eax+6], '1'
    723.     jne notfound
    724.     cmp BYTE PTR [eax+7], '0'
    725.     jne lbl81
    726.     cmp BYTE PTR [eax+8], 0
    727.     jne notfound
    728.     mov eax, 78
    729.     ret 4
    730.   lbl81:
    731.     cmp BYTE PTR [eax+7], '1'
    732.     jne notfound
    733.     cmp BYTE PTR [eax+8], 0
    734.     jne notfound
    735.     mov eax, 79
    736.     ret 4
    737.   lbl66:
    738.     cmp BYTE PTR [eax+3], '1'
    739.     jne notfound
    740.     cmp BYTE PTR [eax+4], '0'
    741.     jne lbl82
    742.     cmp BYTE PTR [eax+5], '0'
    743.     jne lbl83
    744.     cmp BYTE PTR [eax+6], '0'
    745.     jne lbl84
    746.     cmp BYTE PTR [eax+7], '0'
    747.     jne lbl85
    748.     cmp BYTE PTR [eax+8], 0
    749.     jne notfound
    750.     mov eax, 80
    751.     ret 4
    752.   lbl85:
    753.     cmp BYTE PTR [eax+7], '1'
    754.     jne notfound
    755.     cmp BYTE PTR [eax+8], 0
    756.     jne notfound
    757.     mov eax, 81
    758.     ret 4
    759.   lbl84:
    760.     cmp BYTE PTR [eax+6], '1'
    761.     jne notfound
    762.     cmp BYTE PTR [eax+7], '0'
    763.     jne lbl86
    764.     cmp BYTE PTR [eax+8], 0
    765.     jne notfound
    766.     mov eax, 82
    767.     ret 4
    768.   lbl86:
    769.     cmp BYTE PTR [eax+7], '1'
    770.     jne notfound
    771.     cmp BYTE PTR [eax+8], 0
    772.     jne notfound
    773.     mov eax, 83
    774.     ret 4
    775.   lbl83:
    776.     cmp BYTE PTR [eax+5], '1'
    777.     jne notfound
    778.     cmp BYTE PTR [eax+6], '0'
    779.     jne lbl87
    780.     cmp BYTE PTR [eax+7], '0'
    781.     jne lbl88
    782.     cmp BYTE PTR [eax+8], 0
    783.     jne notfound
    784.     mov eax, 84
    785.     ret 4
    786.   lbl88:
    787.     cmp BYTE PTR [eax+7], '1'
    788.     jne notfound
    789.     cmp BYTE PTR [eax+8], 0
    790.     jne notfound
    791.     mov eax, 85
    792.     ret 4
    793.   lbl87:
    794.     cmp BYTE PTR [eax+6], '1'
    795.     jne notfound
    796.     cmp BYTE PTR [eax+7], '0'
    797.     jne lbl89
    798.     cmp BYTE PTR [eax+8], 0
    799.     jne notfound
    800.     mov eax, 86
    801.     ret 4
    802.   lbl89:
    803.     cmp BYTE PTR [eax+7], '1'
    804.     jne notfound
    805.     cmp BYTE PTR [eax+8], 0
    806.     jne notfound
    807.     mov eax, 87
    808.     ret 4
    809.   lbl82:
    810.     cmp BYTE PTR [eax+4], '1'
    811.     jne notfound
    812.     cmp BYTE PTR [eax+5], '0'
    813.     jne lbl90
    814.     cmp BYTE PTR [eax+6], '0'
    815.     jne lbl91
    816.     cmp BYTE PTR [eax+7], '0'
    817.     jne lbl92
    818.     cmp BYTE PTR [eax+8], 0
    819.     jne notfound
    820.     mov eax, 88
    821.     ret 4
    822.   lbl92:
    823.     cmp BYTE PTR [eax+7], '1'
    824.     jne notfound
    825.     cmp BYTE PTR [eax+8], 0
    826.     jne notfound
    827.     mov eax, 89
    828.     ret 4
    829.   lbl91:
    830.     cmp BYTE PTR [eax+6], '1'
    831.     jne notfound
    832.     cmp BYTE PTR [eax+7], '0'
    833.     jne lbl93
    834.     cmp BYTE PTR [eax+8], 0
    835.     jne notfound
    836.     mov eax, 90
    837.     ret 4
    838.   lbl93:
    839.     cmp BYTE PTR [eax+7], '1'
    840.     jne notfound
    841.     cmp BYTE PTR [eax+8], 0
    842.     jne notfound
    843.     mov eax, 91
    844.     ret 4
    845.   lbl90:
    846.     cmp BYTE PTR [eax+5], '1'
    847.     jne notfound
    848.     cmp BYTE PTR [eax+6], '0'
    849.     jne lbl94
    850.     cmp BYTE PTR [eax+7], '0'
    851.     jne lbl95
    852.     cmp BYTE PTR [eax+8], 0
    853.     jne notfound
    854.     mov eax, 92
    855.     ret 4
    856.   lbl95:
    857.     cmp BYTE PTR [eax+7], '1'
    858.     jne notfound
    859.     cmp BYTE PTR [eax+8], 0
    860.     jne notfound
    861.     mov eax, 93
    862.     ret 4
    863.   lbl94:
    864.     cmp BYTE PTR [eax+6], '1'
    865.     jne notfound
    866.     cmp BYTE PTR [eax+7], '0'
    867.     jne lbl96
    868.     cmp BYTE PTR [eax+8], 0
    869.     jne notfound
    870.     mov eax, 94
    871.     ret 4
    872.   lbl96:
    873.     cmp BYTE PTR [eax+7], '1'
    874.     jne notfound
    875.     cmp BYTE PTR [eax+8], 0
    876.     jne notfound
    877.     mov eax, 95
    878.     ret 4
    879.   lbl65:
    880.     cmp BYTE PTR [eax+2], '1'
    881.     jne notfound
    882.     cmp BYTE PTR [eax+3], '0'
    883.     jne lbl97
    884.     cmp BYTE PTR [eax+4], '0'
    885.     jne lbl98
    886.     cmp BYTE PTR [eax+5], '0'
    887.     jne lbl99
    888.     cmp BYTE PTR [eax+6], '0'
    889.     jne lbl100
    890.     cmp BYTE PTR [eax+7], '0'
    891.     jne lbl101
    892.     cmp BYTE PTR [eax+8], 0
    893.     jne notfound
    894.     mov eax, 96
    895.     ret 4
    896.   lbl101:
    897.     cmp BYTE PTR [eax+7], '1'
    898.     jne notfound
    899.     cmp BYTE PTR [eax+8], 0
    900.     jne notfound
    901.     mov eax, 97
    902.     ret 4
    903.   lbl100:
    904.     cmp BYTE PTR [eax+6], '1'
    905.     jne notfound
    906.     cmp BYTE PTR [eax+7], '0'
    907.     jne lbl102
    908.     cmp BYTE PTR [eax+8], 0
    909.     jne notfound
    910.     mov eax, 98
    911.     ret 4
    912.   lbl102:
    913.     cmp BYTE PTR [eax+7], '1'
    914.     jne notfound
    915.     cmp BYTE PTR [eax+8], 0
    916.     jne notfound
    917.     mov eax, 99
    918.     ret 4
    919.   lbl99:
    920.     cmp BYTE PTR [eax+5], '1'
    921.     jne notfound
    922.     cmp BYTE PTR [eax+6], '0'
    923.     jne lbl103
    924.     cmp BYTE PTR [eax+7], '0'
    925.     jne lbl104
    926.     cmp BYTE PTR [eax+8], 0
    927.     jne notfound
    928.     mov eax, 100
    929.     ret 4
    930.   lbl104:
    931.     cmp BYTE PTR [eax+7], '1'
    932.     jne notfound
    933.     cmp BYTE PTR [eax+8], 0
    934.     jne notfound
    935.     mov eax, 101
    936.     ret 4
    937.   lbl103:
    938.     cmp BYTE PTR [eax+6], '1'
    939.     jne notfound
    940.     cmp BYTE PTR [eax+7], '0'
    941.     jne lbl105
    942.     cmp BYTE PTR [eax+8], 0
    943.     jne notfound
    944.     mov eax, 102
    945.     ret 4
    946.   lbl105:
    947.     cmp BYTE PTR [eax+7], '1'
    948.     jne notfound
    949.     cmp BYTE PTR [eax+8], 0
    950.     jne notfound
    951.     mov eax, 103
    952.     ret 4
    953.   lbl98:
    954.     cmp BYTE PTR [eax+4], '1'
    955.     jne notfound
    956.     cmp BYTE PTR [eax+5], '0'
    957.     jne lbl106
    958.     cmp BYTE PTR [eax+6], '0'
    959.     jne lbl107
    960.     cmp BYTE PTR [eax+7], '0'
    961.     jne lbl108
    962.     cmp BYTE PTR [eax+8], 0
    963.     jne notfound
    964.     mov eax, 104
    965.     ret 4
    966.   lbl108:
    967.     cmp BYTE PTR [eax+7], '1'
    968.     jne notfound
    969.     cmp BYTE PTR [eax+8], 0
    970.     jne notfound
    971.     mov eax, 105
    972.     ret 4
    973.   lbl107:
    974.     cmp BYTE PTR [eax+6], '1'
    975.     jne notfound
    976.     cmp BYTE PTR [eax+7], '0'
    977.     jne lbl109
    978.     cmp BYTE PTR [eax+8], 0
    979.     jne notfound
    980.     mov eax, 106
    981.     ret 4
    982.   lbl109:
    983.     cmp BYTE PTR [eax+7], '1'
    984.     jne notfound
    985.     cmp BYTE PTR [eax+8], 0
    986.     jne notfound
    987.     mov eax, 107
    988.     ret 4
    989.   lbl106:
    990.     cmp BYTE PTR [eax+5], '1'
    991.     jne notfound
    992.     cmp BYTE PTR [eax+6], '0'
    993.     jne lbl110
    994.     cmp BYTE PTR [eax+7], '0'
    995.     jne lbl111
    996.     cmp BYTE PTR [eax+8], 0
    997.     jne notfound
    998.     mov eax, 108
    999.     ret 4
    1000.   lbl111:
    1001.     cmp BYTE PTR [eax+7], '1'
    1002.     jne notfound
    1003.     cmp BYTE PTR [eax+8], 0
    1004.     jne notfound
    1005.     mov eax, 109
    1006.     ret 4
    1007.   lbl110:
    1008.     cmp BYTE PTR [eax+6], '1'
    1009.     jne notfound
    1010.     cmp BYTE PTR [eax+7], '0'
    1011.     jne lbl112
    1012.     cmp BYTE PTR [eax+8], 0
    1013.     jne notfound
    1014.     mov eax, 110
    1015.     ret 4
    1016.   lbl112:
    1017.     cmp BYTE PTR [eax+7], '1'
    1018.     jne notfound
    1019.     cmp BYTE PTR [eax+8], 0
    1020.     jne notfound
    1021.     mov eax, 111
    1022.     ret 4
    1023.   lbl97:
    1024.     cmp BYTE PTR [eax+3], '1'
    1025.     jne notfound
    1026.     cmp BYTE PTR [eax+4], '0'
    1027.     jne lbl113
    1028.     cmp BYTE PTR [eax+5], '0'
    1029.     jne lbl114
    1030.     cmp BYTE PTR [eax+6], '0'
    1031.     jne lbl115
    1032.     cmp BYTE PTR [eax+7], '0'
    1033.     jne lbl116
    1034.     cmp BYTE PTR [eax+8], 0
    1035.     jne notfound
    1036.     mov eax, 112
    1037.     ret 4
    1038.   lbl116:
    1039.     cmp BYTE PTR [eax+7], '1'
    1040.     jne notfound
    1041.     cmp BYTE PTR [eax+8], 0
    1042.     jne notfound
    1043.     mov eax, 113
    1044.     ret 4
    1045.   lbl115:
    1046.     cmp BYTE PTR [eax+6], '1'
    1047.     jne notfound
    1048.     cmp BYTE PTR [eax+7], '0'
    1049.     jne lbl117
    1050.     cmp BYTE PTR [eax+8], 0
    1051.     jne notfound
    1052.     mov eax, 114
    1053.     ret 4
    1054.   lbl117:
    1055.     cmp BYTE PTR [eax+7], '1'
    1056.     jne notfound
    1057.     cmp BYTE PTR [eax+8], 0
    1058.     jne notfound
    1059.     mov eax, 115
    1060.     ret 4
    1061.   lbl114:
    1062.     cmp BYTE PTR [eax+5], '1'
    1063.     jne notfound
    1064.     cmp BYTE PTR [eax+6], '0'
    1065.     jne lbl118
    1066.     cmp BYTE PTR [eax+7], '0'
    1067.     jne lbl119
    1068.     cmp BYTE PTR [eax+8], 0
    1069.     jne notfound
    1070.     mov eax, 116
    1071.     ret 4
    1072.   lbl119:
    1073.     cmp BYTE PTR [eax+7], '1'
    1074.     jne notfound
    1075.     cmp BYTE PTR [eax+8], 0
    1076.     jne notfound
    1077.     mov eax, 117
    1078.     ret 4
    1079.   lbl118:
    1080.     cmp BYTE PTR [eax+6], '1'
    1081.     jne notfound
    1082.     cmp BYTE PTR [eax+7], '0'
    1083.     jne lbl120
    1084.     cmp BYTE PTR [eax+8], 0
    1085.     jne notfound
    1086.     mov eax, 118
    1087.     ret 4
    1088.   lbl120:
    1089.     cmp BYTE PTR [eax+7], '1'
    1090.     jne notfound
    1091.     cmp BYTE PTR [eax+8], 0
    1092.     jne notfound
    1093.     mov eax, 119
    1094.     ret 4
    1095.   lbl113:
    1096.     cmp BYTE PTR [eax+4], '1'
    1097.     jne notfound
    1098.     cmp BYTE PTR [eax+5], '0'
    1099.     jne lbl121
    1100.     cmp BYTE PTR [eax+6], '0'
    1101.     jne lbl122
    1102.     cmp BYTE PTR [eax+7], '0'
    1103.     jne lbl123
    1104.     cmp BYTE PTR [eax+8], 0
    1105.     jne notfound
    1106.     mov eax, 120
    1107.     ret 4
    1108.   lbl123:
    1109.     cmp BYTE PTR [eax+7], '1'
    1110.     jne notfound
    1111.     cmp BYTE PTR [eax+8], 0
    1112.     jne notfound
    1113.     mov eax, 121
    1114.     ret 4
    1115.   lbl122:
    1116.     cmp BYTE PTR [eax+6], '1'
    1117.     jne notfound
    1118.     cmp BYTE PTR [eax+7], '0'
    1119.     jne lbl124
    1120.     cmp BYTE PTR [eax+8], 0
    1121.     jne notfound
    1122.     mov eax, 122
    1123.     ret 4
    1124.   lbl124:
    1125.     cmp BYTE PTR [eax+7], '1'
    1126.     jne notfound
    1127.     cmp BYTE PTR [eax+8], 0
    1128.     jne notfound
    1129.     mov eax, 123
    1130.     ret 4
    1131.   lbl121:
    1132.     cmp BYTE PTR [eax+5], '1'
    1133.     jne notfound
    1134.     cmp BYTE PTR [eax+6], '0'
    1135.     jne lbl125
    1136.     cmp BYTE PTR [eax+7], '0'
    1137.     jne lbl126
    1138.     cmp BYTE PTR [eax+8], 0
    1139.     jne notfound
    1140.     mov eax, 124
    1141.     ret 4
    1142.   lbl126:
    1143.     cmp BYTE PTR [eax+7], '1'
    1144.     jne notfound
    1145.     cmp BYTE PTR [eax+8], 0
    1146.     jne notfound
    1147.     mov eax, 125
    1148.     ret 4
    1149.   lbl125:
    1150.     cmp BYTE PTR [eax+6], '1'
    1151.     jne notfound
    1152.     cmp BYTE PTR [eax+7], '0'
    1153.     jne lbl127
    1154.     cmp BYTE PTR [eax+8], 0
    1155.     jne notfound
    1156.     mov eax, 126
    1157.     ret 4
    1158.   lbl127:
    1159.     cmp BYTE PTR [eax+7], '1'
    1160.     jne notfound
    1161.     cmp BYTE PTR [eax+8], 0
    1162.     jne notfound
    1163.     mov eax, 127
    1164.     ret 4
    1165.   lbl0:
    1166.     cmp BYTE PTR [eax+0], '1'
    1167.     jne notfound
    1168.     cmp BYTE PTR [eax+1], '0'
    1169.     jne lbl128
    1170.     cmp BYTE PTR [eax+2], '0'
    1171.     jne lbl129
    1172.     cmp BYTE PTR [eax+3], '0'
    1173.     jne lbl130
    1174.     cmp BYTE PTR [eax+4], '0'
    1175.     jne lbl131
    1176.     cmp BYTE PTR [eax+5], '0'
    1177.     jne lbl132
    1178.     cmp BYTE PTR [eax+6], '0'
    1179.     jne lbl133
    1180.     cmp BYTE PTR [eax+7], '0'
    1181.     jne lbl134
    1182.     cmp BYTE PTR [eax+8], 0
    1183.     jne notfound
    1184.     mov eax, 128
    1185.     ret 4
    1186.   lbl134:
    1187.     cmp BYTE PTR [eax+7], '1'
    1188.     jne notfound
    1189.     cmp BYTE PTR [eax+8], 0
    1190.     jne notfound
    1191.     mov eax, 129
    1192.     ret 4
    1193.   lbl133:
    1194.     cmp BYTE PTR [eax+6], '1'
    1195.     jne notfound
    1196.     cmp BYTE PTR [eax+7], '0'
    1197.     jne lbl135
    1198.     cmp BYTE PTR [eax+8], 0
    1199.     jne notfound
    1200.     mov eax, 130
    1201.     ret 4
    1202.   lbl135:
    1203.     cmp BYTE PTR [eax+7], '1'
    1204.     jne notfound
    1205.     cmp BYTE PTR [eax+8], 0
    1206.     jne notfound
    1207.     mov eax, 131
    1208.     ret 4
    1209.   lbl132:
    1210.     cmp BYTE PTR [eax+5], '1'
    1211.     jne notfound
    1212.     cmp BYTE PTR [eax+6], '0'
    1213.     jne lbl136
    1214.     cmp BYTE PTR [eax+7], '0'
    1215.     jne lbl137
    1216.     cmp BYTE PTR [eax+8], 0
    1217.     jne notfound
    1218.     mov eax, 132
    1219.     ret 4
    1220.   lbl137:
    1221.     cmp BYTE PTR [eax+7], '1'
    1222.     jne notfound
    1223.     cmp BYTE PTR [eax+8], 0
    1224.     jne notfound
    1225.     mov eax, 133
    1226.     ret 4
    1227.   lbl136:
    1228.     cmp BYTE PTR [eax+6], '1'
    1229.     jne notfound
    1230.     cmp BYTE PTR [eax+7], '0'
    1231.     jne lbl138
    1232.     cmp BYTE PTR [eax+8], 0
    1233.     jne notfound
    1234.     mov eax, 134
    1235.     ret 4
    1236.   lbl138:
    1237.     cmp BYTE PTR [eax+7], '1'
    1238.     jne notfound
    1239.     cmp BYTE PTR [eax+8], 0
    1240.     jne notfound
    1241.     mov eax, 135
    1242.     ret 4
    1243.   lbl131:
    1244.     cmp BYTE PTR [eax+4], '1'
    1245.     jne notfound
    1246.     cmp BYTE PTR [eax+5], '0'
    1247.     jne lbl139
    1248.     cmp BYTE PTR [eax+6], '0'
    1249.     jne lbl140
    1250.     cmp BYTE PTR [eax+7], '0'
    1251.     jne lbl141
    1252.     cmp BYTE PTR [eax+8], 0
    1253.     jne notfound
    1254.     mov eax, 136
    1255.     ret 4
    1256.   lbl141:
    1257.     cmp BYTE PTR [eax+7], '1'
    1258.     jne notfound
    1259.     cmp BYTE PTR [eax+8], 0
    1260.     jne notfound
    1261.     mov eax, 137
    1262.     ret 4
    1263.   lbl140:
    1264.     cmp BYTE PTR [eax+6], '1'
    1265.     jne notfound
    1266.     cmp BYTE PTR [eax+7], '0'
    1267.     jne lbl142
    1268.     cmp BYTE PTR [eax+8], 0
    1269.     jne notfound
    1270.     mov eax, 138
    1271.     ret 4
    1272.   lbl142:
    1273.     cmp BYTE PTR [eax+7], '1'
    1274.     jne notfound
    1275.     cmp BYTE PTR [eax+8], 0
    1276.     jne notfound
    1277.     mov eax, 139
    1278.     ret 4
    1279.   lbl139:
    1280.     cmp BYTE PTR [eax+5], '1'
    1281.     jne notfound
    1282.     cmp BYTE PTR [eax+6], '0'
    1283.     jne lbl143
    1284.     cmp BYTE PTR [eax+7], '0'
    1285.     jne lbl144
    1286.     cmp BYTE PTR [eax+8], 0
    1287.     jne notfound
    1288.     mov eax, 140
    1289.     ret 4
    1290.   lbl144:
    1291.     cmp BYTE PTR [eax+7], '1'
    1292.     jne notfound
    1293.     cmp BYTE PTR [eax+8], 0
    1294.     jne notfound
    1295.     mov eax, 141
    1296.     ret 4
    1297.   lbl143:
    1298.     cmp BYTE PTR [eax+6], '1'
    1299.     jne notfound
    1300.     cmp BYTE PTR [eax+7], '0'
    1301.     jne lbl145
    1302.     cmp BYTE PTR [eax+8], 0
    1303.     jne notfound
    1304.     mov eax, 142
    1305.     ret 4
    1306.   lbl145:
    1307.     cmp BYTE PTR [eax+7], '1'
    1308.     jne notfound
    1309.     cmp BYTE PTR [eax+8], 0
    1310.     jne notfound
    1311.     mov eax, 143
    1312.     ret 4
    1313.   lbl130:
    1314.     cmp BYTE PTR [eax+3], '1'
    1315.     jne notfound
    1316.     cmp BYTE PTR [eax+4], '0'
    1317.     jne lbl146
    1318.     cmp BYTE PTR [eax+5], '0'
    1319.     jne lbl147
    1320.     cmp BYTE PTR [eax+6], '0'
    1321.     jne lbl148
    1322.     cmp BYTE PTR [eax+7], '0'
    1323.     jne lbl149
    1324.     cmp BYTE PTR [eax+8], 0
    1325.     jne notfound
    1326.     mov eax, 144
    1327.     ret 4
    1328.   lbl149:
    1329.     cmp BYTE PTR [eax+7], '1'
    1330.     jne notfound
    1331.     cmp BYTE PTR [eax+8], 0
    1332.     jne notfound
    1333.     mov eax, 145
    1334.     ret 4
    1335.   lbl148:
    1336.     cmp BYTE PTR [eax+6], '1'
    1337.     jne notfound
    1338.     cmp BYTE PTR [eax+7], '0'
    1339.     jne lbl150
    1340.     cmp BYTE PTR [eax+8], 0
    1341.     jne notfound
    1342.     mov eax, 146
    1343.     ret 4
    1344.   lbl150:
    1345.     cmp BYTE PTR [eax+7], '1'
    1346.     jne notfound
    1347.     cmp BYTE PTR [eax+8], 0
    1348.     jne notfound
    1349.     mov eax, 147
    1350.     ret 4
    1351.   lbl147:
    1352.     cmp BYTE PTR [eax+5], '1'
    1353.     jne notfound
    1354.     cmp BYTE PTR [eax+6], '0'
    1355.     jne lbl151
    1356.     cmp BYTE PTR [eax+7], '0'
    1357.     jne lbl152
    1358.     cmp BYTE PTR [eax+8], 0
    1359.     jne notfound
    1360.     mov eax, 148
    1361.     ret 4
    1362.   lbl152:
    1363.     cmp BYTE PTR [eax+7], '1'
    1364.     jne notfound
    1365.     cmp BYTE PTR [eax+8], 0
    1366.     jne notfound
    1367.     mov eax, 149
    1368.     ret 4
    1369.   lbl151:
    1370.     cmp BYTE PTR [eax+6], '1'
    1371.     jne notfound
    1372.     cmp BYTE PTR [eax+7], '0'
    1373.     jne lbl153
    1374.     cmp BYTE PTR [eax+8], 0
    1375.     jne notfound
    1376.     mov eax, 150
    1377.     ret 4
    1378.   lbl153:
    1379.     cmp BYTE PTR [eax+7], '1'
    1380.     jne notfound
    1381.     cmp BYTE PTR [eax+8], 0
    1382.     jne notfound
    1383.     mov eax, 151
    1384.     ret 4
    1385.   lbl146:
    1386.     cmp BYTE PTR [eax+4], '1'
    1387.     jne notfound
    1388.     cmp BYTE PTR [eax+5], '0'
    1389.     jne lbl154
    1390.     cmp BYTE PTR [eax+6], '0'
    1391.     jne lbl155
    1392.     cmp BYTE PTR [eax+7], '0'
    1393.     jne lbl156
    1394.     cmp BYTE PTR [eax+8], 0
    1395.     jne notfound
    1396.     mov eax, 152
    1397.     ret 4
    1398.   lbl156:
    1399.     cmp BYTE PTR [eax+7], '1'
    1400.     jne notfound
    1401.     cmp BYTE PTR [eax+8], 0
    1402.     jne notfound
    1403.     mov eax, 153
    1404.     ret 4
    1405.   lbl155:
    1406.     cmp BYTE PTR [eax+6], '1'
    1407.     jne notfound
    1408.     cmp BYTE PTR [eax+7], '0'
    1409.     jne lbl157
    1410.     cmp BYTE PTR [eax+8], 0
    1411.     jne notfound
    1412.     mov eax, 154
    1413.     ret 4
    1414.   lbl157:
    1415.     cmp BYTE PTR [eax+7], '1'
    1416.     jne notfound
    1417.     cmp BYTE PTR [eax+8], 0
    1418.     jne notfound
    1419.     mov eax, 155
    1420.     ret 4
    1421.   lbl154:
    1422.     cmp BYTE PTR [eax+5], '1'
    1423.     jne notfound
    1424.     cmp BYTE PTR [eax+6], '0'
    1425.     jne lbl158
    1426.     cmp BYTE PTR [eax+7], '0'
    1427.     jne lbl159
    1428.     cmp BYTE PTR [eax+8], 0
    1429.     jne notfound
    1430.     mov eax, 156
    1431.     ret 4
    1432.   lbl159:
    1433.     cmp BYTE PTR [eax+7], '1'
    1434.     jne notfound
    1435.     cmp BYTE PTR [eax+8], 0
    1436.     jne notfound
    1437.     mov eax, 157
    1438.     ret 4
    1439.   lbl158:
    1440.     cmp BYTE PTR [eax+6], '1'
    1441.     jne notfound
    1442.     cmp BYTE PTR [eax+7], '0'
    1443.     jne lbl160
    1444.     cmp BYTE PTR [eax+8], 0
    1445.     jne notfound
    1446.     mov eax, 158
    1447.     ret 4
    1448.   lbl160:
    1449.     cmp BYTE PTR [eax+7], '1'
    1450.     jne notfound
    1451.     cmp BYTE PTR [eax+8], 0
    1452.     jne notfound
    1453.     mov eax, 159
    1454.     ret 4
    1455.   lbl129:
    1456.     cmp BYTE PTR [eax+2], '1'
    1457.     jne notfound
    1458.     cmp BYTE PTR [eax+3], '0'
    1459.     jne lbl161
    1460.     cmp BYTE PTR [eax+4], '0'
    1461.     jne lbl162
    1462.     cmp BYTE PTR [eax+5], '0'
    1463.     jne lbl163
    1464.     cmp BYTE PTR [eax+6], '0'
    1465.     jne lbl164
    1466.     cmp BYTE PTR [eax+7], '0'
    1467.     jne lbl165
    1468.     cmp BYTE PTR [eax+8], 0
    1469.     jne notfound
    1470.     mov eax, 160
    1471.     ret 4
    1472.   lbl165:
    1473.     cmp BYTE PTR [eax+7], '1'
    1474.     jne notfound
    1475.     cmp BYTE PTR [eax+8], 0
    1476.     jne notfound
    1477.     mov eax, 161
    1478.     ret 4
    1479.   lbl164:
    1480.     cmp BYTE PTR [eax+6], '1'
    1481.     jne notfound
    1482.     cmp BYTE PTR [eax+7], '0'
    1483.     jne lbl166
    1484.     cmp BYTE PTR [eax+8], 0
    1485.     jne notfound
    1486.     mov eax, 162
    1487.     ret 4
    1488.   lbl166:
    1489.     cmp BYTE PTR [eax+7], '1'
    1490.     jne notfound
    1491.     cmp BYTE PTR [eax+8], 0
    1492.     jne notfound
    1493.     mov eax, 163
    1494.     ret 4
    1495.   lbl163:
    1496.     cmp BYTE PTR [eax+5], '1'
    1497.     jne notfound
    1498.     cmp BYTE PTR [eax+6], '0'
    1499.     jne lbl167
    1500.     cmp BYTE PTR [eax+7], '0'
    1501.     jne lbl168
    1502.     cmp BYTE PTR [eax+8], 0
    1503.     jne notfound
    1504.     mov eax, 164
    1505.     ret 4
    1506.   lbl168:
    1507.     cmp BYTE PTR [eax+7], '1'
    1508.     jne notfound
    1509.     cmp BYTE PTR [eax+8], 0
    1510.     jne notfound
    1511.     mov eax, 165
    1512.     ret 4
    1513.   lbl167:
    1514.     cmp BYTE PTR [eax+6], '1'
    1515.     jne notfound
    1516.     cmp BYTE PTR [eax+7], '0'
    1517.     jne lbl169
    1518.     cmp BYTE PTR [eax+8], 0
    1519.     jne notfound
    1520.     mov eax, 166
    1521.     ret 4
    1522.   lbl169:
    1523.     cmp BYTE PTR [eax+7], '1'
    1524.     jne notfound
    1525.     cmp BYTE PTR [eax+8], 0
    1526.     jne notfound
    1527.     mov eax, 167
    1528.     ret 4
    1529.   lbl162:
    1530.     cmp BYTE PTR [eax+4], '1'
    1531.     jne notfound
    1532.     cmp BYTE PTR [eax+5], '0'
    1533.     jne lbl170
    1534.     cmp BYTE PTR [eax+6], '0'
    1535.     jne lbl171
    1536.     cmp BYTE PTR [eax+7], '0'
    1537.     jne lbl172
    1538.     cmp BYTE PTR [eax+8], 0
    1539.     jne notfound
    1540.     mov eax, 168
    1541.     ret 4
    1542.   lbl172:
    1543.     cmp BYTE PTR [eax+7], '1'
    1544.     jne notfound
    1545.     cmp BYTE PTR [eax+8], 0
    1546.     jne notfound
    1547.     mov eax, 169
    1548.     ret 4
    1549.   lbl171:
    1550.     cmp BYTE PTR [eax+6], '1'
    1551.     jne notfound
    1552.     cmp BYTE PTR [eax+7], '0'
    1553.     jne lbl173
    1554.     cmp BYTE PTR [eax+8], 0
    1555.     jne notfound
    1556.     mov eax, 170
    1557.     ret 4
    1558.   lbl173:
    1559.     cmp BYTE PTR [eax+7], '1'
    1560.     jne notfound
    1561.     cmp BYTE PTR [eax+8], 0
    1562.     jne notfound
    1563.     mov eax, 171
    1564.     ret 4
    1565.   lbl170:
    1566.     cmp BYTE PTR [eax+5], '1'
    1567.     jne notfound
    1568.     cmp BYTE PTR [eax+6], '0'
    1569.     jne lbl174
    1570.     cmp BYTE PTR [eax+7], '0'
    1571.     jne lbl175
    1572.     cmp BYTE PTR [eax+8], 0
    1573.     jne notfound
    1574.     mov eax, 172
    1575.     ret 4
    1576.   lbl175:
    1577.     cmp BYTE PTR [eax+7], '1'
    1578.     jne notfound
    1579.     cmp BYTE PTR [eax+8], 0
    1580.     jne notfound
    1581.     mov eax, 173
    1582.     ret 4
    1583.   lbl174:
    1584.     cmp BYTE PTR [eax+6], '1'
    1585.     jne notfound
    1586.     cmp BYTE PTR [eax+7], '0'
    1587.     jne lbl176
    1588.     cmp BYTE PTR [eax+8], 0
    1589.     jne notfound
    1590.     mov eax, 174
    1591.     ret 4
    1592.   lbl176:
    1593.     cmp BYTE PTR [eax+7], '1'
    1594.     jne notfound
    1595.     cmp BYTE PTR [eax+8], 0
    1596.     jne notfound
    1597.     mov eax, 175
    1598.     ret 4
    1599.   lbl161:
    1600.     cmp BYTE PTR [eax+3], '1'
    1601.     jne notfound
    1602.     cmp BYTE PTR [eax+4], '0'
    1603.     jne lbl177
    1604.     cmp BYTE PTR [eax+5], '0'
    1605.     jne lbl178
    1606.     cmp BYTE PTR [eax+6], '0'
    1607.     jne lbl179
    1608.     cmp BYTE PTR [eax+7], '0'
    1609.     jne lbl180
    1610.     cmp BYTE PTR [eax+8], 0
    1611.     jne notfound
    1612.     mov eax, 176
    1613.     ret 4
    1614.   lbl180:
    1615.     cmp BYTE PTR [eax+7], '1'
    1616.     jne notfound
    1617.     cmp BYTE PTR [eax+8], 0
    1618.     jne notfound
    1619.     mov eax, 177
    1620.     ret 4
    1621.   lbl179:
    1622.     cmp BYTE PTR [eax+6], '1'
    1623.     jne notfound
    1624.     cmp BYTE PTR [eax+7], '0'
    1625.     jne lbl181
    1626.     cmp BYTE PTR [eax+8], 0
    1627.     jne notfound
    1628.     mov eax, 178
    1629.     ret 4
    1630.   lbl181:
    1631.     cmp BYTE PTR [eax+7], '1'
    1632.     jne notfound
    1633.     cmp BYTE PTR [eax+8], 0
    1634.     jne notfound
    1635.     mov eax, 179
    1636.     ret 4
    1637.   lbl178:
    1638.     cmp BYTE PTR [eax+5], '1'
    1639.     jne notfound
    1640.     cmp BYTE PTR [eax+6], '0'
    1641.     jne lbl182
    1642.     cmp BYTE PTR [eax+7], '0'
    1643.     jne lbl183
    1644.     cmp BYTE PTR [eax+8], 0
    1645.     jne notfound
    1646.     mov eax, 180
    1647.     ret 4
    1648.   lbl183:
    1649.     cmp BYTE PTR [eax+7], '1'
    1650.     jne notfound
    1651.     cmp BYTE PTR [eax+8], 0
    1652.     jne notfound
    1653.     mov eax, 181
    1654.     ret 4
    1655.   lbl182:
    1656.     cmp BYTE PTR [eax+6], '1'
    1657.     jne notfound
    1658.     cmp BYTE PTR [eax+7], '0'
    1659.     jne lbl184
    1660.     cmp BYTE PTR [eax+8], 0
    1661.     jne notfound
    1662.     mov eax, 182
    1663.     ret 4
    1664.   lbl184:
    1665.     cmp BYTE PTR [eax+7], '1'
    1666.     jne notfound
    1667.     cmp BYTE PTR [eax+8], 0
    1668.     jne notfound
    1669.     mov eax, 183
    1670.     ret 4
    1671.   lbl177:
    1672.     cmp BYTE PTR [eax+4], '1'
    1673.     jne notfound
    1674.     cmp BYTE PTR [eax+5], '0'
    1675.     jne lbl185
    1676.     cmp BYTE PTR [eax+6], '0'
    1677.     jne lbl186
    1678.     cmp BYTE PTR [eax+7], '0'
    1679.     jne lbl187
    1680.     cmp BYTE PTR [eax+8], 0
    1681.     jne notfound
    1682.     mov eax, 184
    1683.     ret 4
    1684.   lbl187:
    1685.     cmp BYTE PTR [eax+7], '1'
    1686.     jne notfound
    1687.     cmp BYTE PTR [eax+8], 0
    1688.     jne notfound
    1689.     mov eax, 185
    1690.     ret 4
    1691.   lbl186:
    1692.     cmp BYTE PTR [eax+6], '1'
    1693.     jne notfound
    1694.     cmp BYTE PTR [eax+7], '0'
    1695.     jne lbl188
    1696.     cmp BYTE PTR [eax+8], 0
    1697.     jne notfound
    1698.     mov eax, 186
    1699.     ret 4
    1700.   lbl188:
    1701.     cmp BYTE PTR [eax+7], '1'
    1702.     jne notfound
    1703.     cmp BYTE PTR [eax+8], 0
    1704.     jne notfound
    1705.     mov eax, 187
    1706.     ret 4
    1707.   lbl185:
    1708.     cmp BYTE PTR [eax+5], '1'
    1709.     jne notfound
    1710.     cmp BYTE PTR [eax+6], '0'
    1711.     jne lbl189
    1712.     cmp BYTE PTR [eax+7], '0'
    1713.     jne lbl190
    1714.     cmp BYTE PTR [eax+8], 0
    1715.     jne notfound
    1716.     mov eax, 188
    1717.     ret 4
    1718.   lbl190:
    1719.     cmp BYTE PTR [eax+7], '1'
    1720.     jne notfound
    1721.     cmp BYTE PTR [eax+8], 0
    1722.     jne notfound
    1723.     mov eax, 189
    1724.     ret 4
    1725.   lbl189:
    1726.     cmp BYTE PTR [eax+6], '1'
    1727.     jne notfound
    1728.     cmp BYTE PTR [eax+7], '0'
    1729.     jne lbl191
    1730.     cmp BYTE PTR [eax+8], 0
    1731.     jne notfound
    1732.     mov eax, 190
    1733.     ret 4
    1734.   lbl191:
    1735.     cmp BYTE PTR [eax+7], '1'
    1736.     jne notfound
    1737.     cmp BYTE PTR [eax+8], 0
    1738.     jne notfound
    1739.     mov eax, 191
    1740.     ret 4
    1741.   lbl128:
    1742.     cmp BYTE PTR [eax+1], '1'
    1743.     jne notfound
    1744.     cmp BYTE PTR [eax+2], '0'
    1745.     jne lbl192
    1746.     cmp BYTE PTR [eax+3], '0'
    1747.     jne lbl193
    1748.     cmp BYTE PTR [eax+4], '0'
    1749.     jne lbl194
    1750.     cmp BYTE PTR [eax+5], '0'
    1751.     jne lbl195
    1752.     cmp BYTE PTR [eax+6], '0'
    1753.     jne lbl196
    1754.     cmp BYTE PTR [eax+7], '0'
    1755.     jne lbl197
    1756.     cmp BYTE PTR [eax+8], 0
    1757.     jne notfound
    1758.     mov eax, 192
    1759.     ret 4
    1760.   lbl197:
    1761.     cmp BYTE PTR [eax+7], '1'
    1762.     jne notfound
    1763.     cmp BYTE PTR [eax+8], 0
    1764.     jne notfound
    1765.     mov eax, 193
    1766.     ret 4
    1767.   lbl196:
    1768.     cmp BYTE PTR [eax+6], '1'
    1769.     jne notfound
    1770.     cmp BYTE PTR [eax+7], '0'
    1771.     jne lbl198
    1772.     cmp BYTE PTR [eax+8], 0
    1773.     jne notfound
    1774.     mov eax, 194
    1775.     ret 4
    1776.   lbl198:
    1777.     cmp BYTE PTR [eax+7], '1'
    1778.     jne notfound
    1779.     cmp BYTE PTR [eax+8], 0
    1780.     jne notfound
    1781.     mov eax, 195
    1782.     ret 4
    1783.   lbl195:
    1784.     cmp BYTE PTR [eax+5], '1'
    1785.     jne notfound
    1786.     cmp BYTE PTR [eax+6], '0'
    1787.     jne lbl199
    1788.     cmp BYTE PTR [eax+7], '0'
    1789.     jne lbl200
    1790.     cmp BYTE PTR [eax+8], 0
    1791.     jne notfound
    1792.     mov eax, 196
    1793.     ret 4
    1794.   lbl200:
    1795.     cmp BYTE PTR [eax+7], '1'
    1796.     jne notfound
    1797.     cmp BYTE PTR [eax+8], 0
    1798.     jne notfound
    1799.     mov eax, 197
    1800.     ret 4
    1801.   lbl199:
    1802.     cmp BYTE PTR [eax+6], '1'
    1803.     jne notfound
    1804.     cmp BYTE PTR [eax+7], '0'
    1805.     jne lbl201
    1806.     cmp BYTE PTR [eax+8], 0
    1807.     jne notfound
    1808.     mov eax, 198
    1809.     ret 4
    1810.   lbl201:
    1811.     cmp BYTE PTR [eax+7], '1'
    1812.     jne notfound
    1813.     cmp BYTE PTR [eax+8], 0
    1814.     jne notfound
    1815.     mov eax, 199
    1816.     ret 4
    1817.   lbl194:
    1818.     cmp BYTE PTR [eax+4], '1'
    1819.     jne notfound
    1820.     cmp BYTE PTR [eax+5], '0'
    1821.     jne lbl202
    1822.     cmp BYTE PTR [eax+6], '0'
    1823.     jne lbl203
    1824.     cmp BYTE PTR [eax+7], '0'
    1825.     jne lbl204
    1826.     cmp BYTE PTR [eax+8], 0
    1827.     jne notfound
    1828.     mov eax, 200
    1829.     ret 4
    1830.   lbl204:
    1831.     cmp BYTE PTR [eax+7], '1'
    1832.     jne notfound
    1833.     cmp BYTE PTR [eax+8], 0
    1834.     jne notfound
    1835.     mov eax, 201
    1836.     ret 4
    1837.   lbl203:
    1838.     cmp BYTE PTR [eax+6], '1'
    1839.     jne notfound
    1840.     cmp BYTE PTR [eax+7], '0'
    1841.     jne lbl205
    1842.     cmp BYTE PTR [eax+8], 0
    1843.     jne notfound
    1844.     mov eax, 202
    1845.     ret 4
    1846.   lbl205:
    1847.     cmp BYTE PTR [eax+7], '1'
    1848.     jne notfound
    1849.     cmp BYTE PTR [eax+8], 0
    1850.     jne notfound
    1851.     mov eax, 203
    1852.     ret 4
    1853.   lbl202:
    1854.     cmp BYTE PTR [eax+5], '1'
    1855.     jne notfound
    1856.     cmp BYTE PTR [eax+6], '0'
    1857.     jne lbl206
    1858.     cmp BYTE PTR [eax+7], '0'
    1859.     jne lbl207
    1860.     cmp BYTE PTR [eax+8], 0
    1861.     jne notfound
    1862.     mov eax, 204
    1863.     ret 4
    1864.   lbl207:
    1865.     cmp BYTE PTR [eax+7], '1'
    1866.     jne notfound
    1867.     cmp BYTE PTR [eax+8], 0
    1868.     jne notfound
    1869.     mov eax, 205
    1870.     ret 4
    1871.   lbl206:
    1872.     cmp BYTE PTR [eax+6], '1'
    1873.     jne notfound
    1874.     cmp BYTE PTR [eax+7], '0'
    1875.     jne lbl208
    1876.     cmp BYTE PTR [eax+8], 0
    1877.     jne notfound
    1878.     mov eax, 206
    1879.     ret 4
    1880.   lbl208:
    1881.     cmp BYTE PTR [eax+7], '1'
    1882.     jne notfound
    1883.     cmp BYTE PTR [eax+8], 0
    1884.     jne notfound
    1885.     mov eax, 207
    1886.     ret 4
    1887.   lbl193:
    1888.     cmp BYTE PTR [eax+3], '1'
    1889.     jne notfound
    1890.     cmp BYTE PTR [eax+4], '0'
    1891.     jne lbl209
    1892.     cmp BYTE PTR [eax+5], '0'
    1893.     jne lbl210
    1894.     cmp BYTE PTR [eax+6], '0'
    1895.     jne lbl211
    1896.     cmp BYTE PTR [eax+7], '0'
    1897.     jne lbl212
    1898.     cmp BYTE PTR [eax+8], 0
    1899.     jne notfound
    1900.     mov eax, 208
    1901.     ret 4
    1902.   lbl212:
    1903.     cmp BYTE PTR [eax+7], '1'
    1904.     jne notfound
    1905.     cmp BYTE PTR [eax+8], 0
    1906.     jne notfound
    1907.     mov eax, 209
    1908.     ret 4
    1909.   lbl211:
    1910.     cmp BYTE PTR [eax+6], '1'
    1911.     jne notfound
    1912.     cmp BYTE PTR [eax+7], '0'
    1913.     jne lbl213
    1914.     cmp BYTE PTR [eax+8], 0
    1915.     jne notfound
    1916.     mov eax, 210
    1917.     ret 4
    1918.   lbl213:
    1919.     cmp BYTE PTR [eax+7], '1'
    1920.     jne notfound
    1921.     cmp BYTE PTR [eax+8], 0
    1922.     jne notfound
    1923.     mov eax, 211
    1924.     ret 4
    1925.   lbl210:
    1926.     cmp BYTE PTR [eax+5], '1'
    1927.     jne notfound
    1928.     cmp BYTE PTR [eax+6], '0'
    1929.     jne lbl214
    1930.     cmp BYTE PTR [eax+7], '0'
    1931.     jne lbl215
    1932.     cmp BYTE PTR [eax+8], 0
    1933.     jne notfound
    1934.     mov eax, 212
    1935.     ret 4
    1936.   lbl215:
    1937.     cmp BYTE PTR [eax+7], '1'
    1938.     jne notfound
    1939.     cmp BYTE PTR [eax+8], 0
    1940.     jne notfound
    1941.     mov eax, 213
    1942.     ret 4
    1943.   lbl214:
    1944.     cmp BYTE PTR [eax+6], '1'
    1945.     jne notfound
    1946.     cmp BYTE PTR [eax+7], '0'
    1947.     jne lbl216
    1948.     cmp BYTE PTR [eax+8], 0
    1949.     jne notfound
    1950.     mov eax, 214
    1951.     ret 4
    1952.   lbl216:
    1953.     cmp BYTE PTR [eax+7], '1'
    1954.     jne notfound
    1955.     cmp BYTE PTR [eax+8], 0
    1956.     jne notfound
    1957.     mov eax, 215
    1958.     ret 4
    1959.   lbl209:
    1960.     cmp BYTE PTR [eax+4], '1'
    1961.     jne notfound
    1962.     cmp BYTE PTR [eax+5], '0'
    1963.     jne lbl217
    1964.     cmp BYTE PTR [eax+6], '0'
    1965.     jne lbl218
    1966.     cmp BYTE PTR [eax+7], '0'
    1967.     jne lbl219
    1968.     cmp BYTE PTR [eax+8], 0
    1969.     jne notfound
    1970.     mov eax, 216
    1971.     ret 4
    1972.   lbl219:
    1973.     cmp BYTE PTR [eax+7], '1'
    1974.     jne notfound
    1975.     cmp BYTE PTR [eax+8], 0
    1976.     jne notfound
    1977.     mov eax, 217
    1978.     ret 4
    1979.   lbl218:
    1980.     cmp BYTE PTR [eax+6], '1'
    1981.     jne notfound
    1982.     cmp BYTE PTR [eax+7], '0'
    1983.     jne lbl220
    1984.     cmp BYTE PTR [eax+8], 0
    1985.     jne notfound
    1986.     mov eax, 218
    1987.     ret 4
    1988.   lbl220:
    1989.     cmp BYTE PTR [eax+7], '1'
    1990.     jne notfound
    1991.     cmp BYTE PTR [eax+8], 0
    1992.     jne notfound
    1993.     mov eax, 219
    1994.     ret 4
    1995.   lbl217:
    1996.     cmp BYTE PTR [eax+5], '1'
    1997.     jne notfound
    1998.     cmp BYTE PTR [eax+6], '0'
    1999.     jne lbl221
    2000.     cmp BYTE PTR [eax+7], '0'
    2001.     jne lbl222
    2002.     cmp BYTE PTR [eax+8], 0
    2003.     jne notfound
    2004.     mov eax, 220
    2005.     ret 4
    2006.   lbl222:
    2007.     cmp BYTE PTR [eax+7], '1'
    2008.     jne notfound
    2009.     cmp BYTE PTR [eax+8], 0
    2010.     jne notfound
    2011.     mov eax, 221
    2012.     ret 4
    2013.   lbl221:
    2014.     cmp BYTE PTR [eax+6], '1'
    2015.     jne notfound
    2016.     cmp BYTE PTR [eax+7], '0'
    2017.     jne lbl223
    2018.     cmp BYTE PTR [eax+8], 0
    2019.     jne notfound
    2020.     mov eax, 222
    2021.     ret 4
    2022.   lbl223:
    2023.     cmp BYTE PTR [eax+7], '1'
    2024.     jne notfound
    2025.     cmp BYTE PTR [eax+8], 0
    2026.     jne notfound
    2027.     mov eax, 223
    2028.     ret 4
    2029.   lbl192:
    2030.     cmp BYTE PTR [eax+2], '1'
    2031.     jne notfound
    2032.     cmp BYTE PTR [eax+3], '0'
    2033.     jne lbl224
    2034.     cmp BYTE PTR [eax+4], '0'
    2035.     jne lbl225
    2036.     cmp BYTE PTR [eax+5], '0'
    2037.     jne lbl226
    2038.     cmp BYTE PTR [eax+6], '0'
    2039.     jne lbl227
    2040.     cmp BYTE PTR [eax+7], '0'
    2041.     jne lbl228
    2042.     cmp BYTE PTR [eax+8], 0
    2043.     jne notfound
    2044.     mov eax, 224
    2045.     ret 4
    2046.   lbl228:
    2047.     cmp BYTE PTR [eax+7], '1'
    2048.     jne notfound
    2049.     cmp BYTE PTR [eax+8], 0
    2050.     jne notfound
    2051.     mov eax, 225
    2052.     ret 4
    2053.   lbl227:
    2054.     cmp BYTE PTR [eax+6], '1'
    2055.     jne notfound
    2056.     cmp BYTE PTR [eax+7], '0'
    2057.     jne lbl229
    2058.     cmp BYTE PTR [eax+8], 0
    2059.     jne notfound
    2060.     mov eax, 226
    2061.     ret 4
    2062.   lbl229:
    2063.     cmp BYTE PTR [eax+7], '1'
    2064.     jne notfound
    2065.     cmp BYTE PTR [eax+8], 0
    2066.     jne notfound
    2067.     mov eax, 227
    2068.     ret 4
    2069.   lbl226:
    2070.     cmp BYTE PTR [eax+5], '1'
    2071.     jne notfound
    2072.     cmp BYTE PTR [eax+6], '0'
    2073.     jne lbl230
    2074.     cmp BYTE PTR [eax+7], '0'
    2075.     jne lbl231
    2076.     cmp BYTE PTR [eax+8], 0
    2077.     jne notfound
    2078.     mov eax, 228
    2079.     ret 4
    2080.   lbl231:
    2081.     cmp BYTE PTR [eax+7], '1'
    2082.     jne notfound
    2083.     cmp BYTE PTR [eax+8], 0
    2084.     jne notfound
    2085.     mov eax, 229
    2086.     ret 4
    2087.   lbl230:
    2088.     cmp BYTE PTR [eax+6], '1'
    2089.     jne notfound
    2090.     cmp BYTE PTR [eax+7], '0'
    2091.     jne lbl232
    2092.     cmp BYTE PTR [eax+8], 0
    2093.     jne notfound
    2094.     mov eax, 230
    2095.     ret 4
    2096.   lbl232:
    2097.     cmp BYTE PTR [eax+7], '1'
    2098.     jne notfound
    2099.     cmp BYTE PTR [eax+8], 0
    2100.     jne notfound
    2101.     mov eax, 231
    2102.     ret 4
    2103.   lbl225:
    2104.     cmp BYTE PTR [eax+4], '1'
    2105.     jne notfound
    2106.     cmp BYTE PTR [eax+5], '0'
    2107.     jne lbl233
    2108.     cmp BYTE PTR [eax+6], '0'
    2109.     jne lbl234
    2110.     cmp BYTE PTR [eax+7], '0'
    2111.     jne lbl235
    2112.     cmp BYTE PTR [eax+8], 0
    2113.     jne notfound
    2114.     mov eax, 232
    2115.     ret 4
    2116.   lbl235:
    2117.     cmp BYTE PTR [eax+7], '1'
    2118.     jne notfound
    2119.     cmp BYTE PTR [eax+8], 0
    2120.     jne notfound
    2121.     mov eax, 233
    2122.     ret 4
    2123.   lbl234:
    2124.     cmp BYTE PTR [eax+6], '1'
    2125.     jne notfound
    2126.     cmp BYTE PTR [eax+7], '0'
    2127.     jne lbl236
    2128.     cmp BYTE PTR [eax+8], 0
    2129.     jne notfound
    2130.     mov eax, 234
    2131.     ret 4
    2132.   lbl236:
    2133.     cmp BYTE PTR [eax+7], '1'
    2134.     jne notfound
    2135.     cmp BYTE PTR [eax+8], 0
    2136.     jne notfound
    2137.     mov eax, 235
    2138.     ret 4
    2139.   lbl233:
    2140.     cmp BYTE PTR [eax+5], '1'
    2141.     jne notfound
    2142.     cmp BYTE PTR [eax+6], '0'
    2143.     jne lbl237
    2144.     cmp BYTE PTR [eax+7], '0'
    2145.     jne lbl238
    2146.     cmp BYTE PTR [eax+8], 0
    2147.     jne notfound
    2148.     mov eax, 236
    2149.     ret 4
    2150.   lbl238:
    2151.     cmp BYTE PTR [eax+7], '1'
    2152.     jne notfound
    2153.     cmp BYTE PTR [eax+8], 0
    2154.     jne notfound
    2155.     mov eax, 237
    2156.     ret 4
    2157.   lbl237:
    2158.     cmp BYTE PTR [eax+6], '1'
    2159.     jne notfound
    2160.     cmp BYTE PTR [eax+7], '0'
    2161.     jne lbl239
    2162.     cmp BYTE PTR [eax+8], 0
    2163.     jne notfound
    2164.     mov eax, 238
    2165.     ret 4
    2166.   lbl239:
    2167.     cmp BYTE PTR [eax+7], '1'
    2168.     jne notfound
    2169.     cmp BYTE PTR [eax+8], 0
    2170.     jne notfound
    2171.     mov eax, 239
    2172.     ret 4
    2173.   lbl224:
    2174.     cmp BYTE PTR [eax+3], '1'
    2175.     jne notfound
    2176.     cmp BYTE PTR [eax+4], '0'
    2177.     jne lbl240
    2178.     cmp BYTE PTR [eax+5], '0'
    2179.     jne lbl241
    2180.     cmp BYTE PTR [eax+6], '0'
    2181.     jne lbl242
    2182.     cmp BYTE PTR [eax+7], '0'
    2183.     jne lbl243
    2184.     cmp BYTE PTR [eax+8], 0
    2185.     jne notfound
    2186.     mov eax, 240
    2187.     ret 4
    2188.   lbl243:
    2189.     cmp BYTE PTR [eax+7], '1'
    2190.     jne notfound
    2191.     cmp BYTE PTR [eax+8], 0
    2192.     jne notfound
    2193.     mov eax, 241
    2194.     ret 4
    2195.   lbl242:
    2196.     cmp BYTE PTR [eax+6], '1'
    2197.     jne notfound
    2198.     cmp BYTE PTR [eax+7], '0'
    2199.     jne lbl244
    2200.     cmp BYTE PTR [eax+8], 0
    2201.     jne notfound
    2202.     mov eax, 242
    2203.     ret 4
    2204.   lbl244:
    2205.     cmp BYTE PTR [eax+7], '1'
    2206.     jne notfound
    2207.     cmp BYTE PTR [eax+8], 0
    2208.     jne notfound
    2209.     mov eax, 243
    2210.     ret 4
    2211.   lbl241:
    2212.     cmp BYTE PTR [eax+5], '1'
    2213.     jne notfound
    2214.     cmp BYTE PTR [eax+6], '0'
    2215.     jne lbl245
    2216.     cmp BYTE PTR [eax+7], '0'
    2217.     jne lbl246
    2218.     cmp BYTE PTR [eax+8], 0
    2219.     jne notfound
    2220.     mov eax, 244
    2221.     ret 4
    2222.   lbl246:
    2223.     cmp BYTE PTR [eax+7], '1'
    2224.     jne notfound
    2225.     cmp BYTE PTR [eax+8], 0
    2226.     jne notfound
    2227.     mov eax, 245
    2228.     ret 4
    2229.   lbl245:
    2230.     cmp BYTE PTR [eax+6], '1'
    2231.     jne notfound
    2232.     cmp BYTE PTR [eax+7], '0'
    2233.     jne lbl247
    2234.     cmp BYTE PTR [eax+8], 0
    2235.     jne notfound
    2236.     mov eax, 246
    2237.     ret 4
    2238.   lbl247:
    2239.     cmp BYTE PTR [eax+7], '1'
    2240.     jne notfound
    2241.     cmp BYTE PTR [eax+8], 0
    2242.     jne notfound
    2243.     mov eax, 247
    2244.     ret 4
    2245.   lbl240:
    2246.     cmp BYTE PTR [eax+4], '1'
    2247.     jne notfound
    2248.     cmp BYTE PTR [eax+5], '0'
    2249.     jne lbl248
    2250.     cmp BYTE PTR [eax+6], '0'
    2251.     jne lbl249
    2252.     cmp BYTE PTR [eax+7], '0'
    2253.     jne lbl250
    2254.     cmp BYTE PTR [eax+8], 0
    2255.     jne notfound
    2256.     mov eax, 248
    2257.     ret 4
    2258.   lbl250:
    2259.     cmp BYTE PTR [eax+7], '1'
    2260.     jne notfound
    2261.     cmp BYTE PTR [eax+8], 0
    2262.     jne notfound
    2263.     mov eax, 249
    2264.     ret 4
    2265.   lbl249:
    2266.     cmp BYTE PTR [eax+6], '1'
    2267.     jne notfound
    2268.     cmp BYTE PTR [eax+7], '0'
    2269.     jne lbl251
    2270.     cmp BYTE PTR [eax+8], 0
    2271.     jne notfound
    2272.     mov eax, 250
    2273.     ret 4
    2274.   lbl251:
    2275.     cmp BYTE PTR [eax+7], '1'
    2276.     jne notfound
    2277.     cmp BYTE PTR [eax+8], 0
    2278.     jne notfound
    2279.     mov eax, 251
    2280.     ret 4
    2281.   lbl248:
    2282.     cmp BYTE PTR [eax+5], '1'
    2283.     jne notfound
    2284.     cmp BYTE PTR [eax+6], '0'
    2285.     jne lbl252
    2286.     cmp BYTE PTR [eax+7], '0'
    2287.     jne lbl253
    2288.     cmp BYTE PTR [eax+8], 0
    2289.     jne notfound
    2290.     mov eax, 252
    2291.     ret 4
    2292.   lbl253:
    2293.     cmp BYTE PTR [eax+7], '1'
    2294.     jne notfound
    2295.     cmp BYTE PTR [eax+8], 0
    2296.     jne notfound
    2297.     mov eax, 253
    2298.     ret 4
    2299.   lbl252:
    2300.     cmp BYTE PTR [eax+6], '1'
    2301.     jne notfound
    2302.     cmp BYTE PTR [eax+7], '0'
    2303.     jne lbl254
    2304.     cmp BYTE PTR [eax+8], 0
    2305.     jne notfound
    2306.     mov eax, 254
    2307.     ret 4
    2308.   lbl254:
    2309.     cmp BYTE PTR [eax+7], '1'
    2310.     jne notfound
    2311.     cmp BYTE PTR [eax+8], 0
    2312.     jne notfound
    2313.     mov eax, 255
    2314.     ret 4
    2315.   notfound:
    2316.     mov eax, -1
    2317.     ret 4
    2318.  
    2319. bin2byte_ex endp
    2320.  
    2321. ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
    2322.  
    2323. OPTION PROLOGUE : PrologueDef
    2324. OPTION EPILOGUE : EpilogueDef
    2325.  
    2326. end
     
  7. ts

    ts New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2010
    Сообщения:
    11
    под серьезные понималось

    1. большое количество функций от строковых и работы с файлами до сетевого программирования, крипто и прочего.
    2. нормальная документация.
    3. open source
     
  8. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    edemko
    чего-чего?
     
  9. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    ts
    мб с++? или вы у нас идейный?
     
  10. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    Почему m32lib не намного серьёзнее fasmlib - наглядная демонстрация. Замечательный пример того, как не надо развёртывать циклы. :)

    К m32lib приложило руку много народу, так что неоптимальных, да и откровенно кривых кусков кода там хватает.
     
  11. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    Бери любые строковые функции (а кстати много ли их? concatstring, findsubstring, sortstring? может быть чего либо пропустил...) и дизасемблируй их, ассемблер тем и хорош, что любой ньюб может составить библиотеку у все будут ею пользоваться... Нормальная документация? А кто может в этом сумашедьшем доме говорить о нормальной документации? .... Open source? А hiew, ida и любой дизасм заменят вам любой open source...
     
  12. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    > contaktstring
    Установить телепатическую связь со строкой? :)
     
  13. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    l_inc
    соединить две строки в одну, сорри за нечеткий ответ..
     
  14. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Mikl___
    Да ладно... Я ж пошутил просто. Объединение строк обычно называют конкатенацией (concat), а не котактенацией.
     
  15. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    http://wasm.ru/forum/attachment.php?item=3949
     
  16. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Mikl___
    Тут не соглашусь - найти скомпиленный из hi-level вариант который на уровне асма не будет выглядеть очень коряво задача вовсе не простая, а дошлифовать его, разобравшись что-же там можно можно выкинуть, а что нужно соптимизировать, а чем нужно восторгаться и брать на вооружение (хоть на первый взгляд это и не всегда очевидно) - задачка уже не для ньюба ;).

    ts
    Почему этого нет в готовом виде хз, наверно "спросом не пользуется" :)) Сейчас слишком многие считают что затраты на низкоуровневую оптимизацию не оправданы даже такого типового кода как работа со строками и т.п. который живёт очень долго и копипастится или вызывается повсеместно.
     
  17. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    Y_Mur
    Не бейте ньюбов по рукам, а вдруг объединятся и "скомпелируют", "чем нужно восторгаться и брать на вооружение" регулярно появляются в "WASM.A&O"
     
  18. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    ts
    "Приходите сегодня: у меня есть новые мысли".
    http://code.google.com/p/fasmme/

    shoorick
    Саша(?), уберите пожалуйста с WinAsm.net.

    форумы
    :)Z
     
  19. google

    google New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2007
    Сообщения:
    140
    edemko
    если в radix жать TAB то после очередного нажатия текст во всех четырех окнах будет выделен. Всё же стоит не применять стиль ES_NOHIDESEL.
     
  20. jabocrack

    jabocrack New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2010
    Сообщения:
    96
    Вот эти си-строки с конечным нулем на конце выкинул бы нах... Тут хоть асм, хоть си, но для определнеия длины придется каждый раз перебирать строку до конца. Так что лучшая оптимизация - оптимизация алгоритма и качественное проектирование, а не вылизывание инструкций на асме.