1. Лучший говнокод

    В номинации:
    За время:
  2. Assembler / Говнокод #6013

    +240

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    lea    0x0(%esi),%esi
    sub    $0x1,%eax
    cmp    $0xffffffff,%eax
    je     0x8048e07
    mov    (%ecx,%eax,4),%esi
    test   %esi,%esi
    je     0x8048df8

    Чудеса оптимизации -О3 на gcc 4.4
    (код в интелловской аннотации, сначала источник, потом назначение)

    SIGSEGV, 17 Марта 2011

    Комментарии (27)
  3. Assembler / Говнокод #10563

    +238

    1. 1
    JMP $END

    Copy-Paste, 04 Июня 2012

    Комментарии (2)
  4. Assembler / Говнокод #3989

    +237

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    mov ebx,eax
    xor eax,ebx
    mov eax,0
    cmp eax,ebx
    je metka1

    Xekep, 15 Августа 2010

    Комментарии (8)
  5. Assembler / Говнокод #1088

    +236

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    evalLOG:
    	JB kod.7, log8
    	JB kod.6, log7
    	JB kod.5, log6
    	JB kod.4, log5
    	JB kod.3, log4
    	JB kod.2, log3
    	JB kod.1, log2
    	JB kod.0, log1
    		Mov log, #0
    		JMP exiteval
    log8:
    	Mov log, #8
    	JMP exiteval
    log7:
    	Mov log, #7
    	JMP exiteval
    log6:
    	Mov log, #6
    	JMP exiteval
    log5:
    	Mov log, #5
    	JMP exiteval
    log4:
    	Mov log, #4
    	JMP exiteval
    log3:
    	Mov log, #3
    	JMP exiteval
    log2:
    	Mov log, #2
    	JMP exiteval
    log1:
    	Mov log, #1
    exiteval:
    	Ret

    Нахождение логарифма восьмибитного числа с точностью до целых на ассемблере x51.

    guest, 25 Мая 2009

    Комментарии (6)
  6. Assembler / Говнокод #6452

    +234

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    00614A77  |.  8BF0          MOV ESI,EAX
    00614A79  |.  BB 01000000   MOV EBX,1
    00614A7E  |.  EB 01         JMP SHORT 00614A81
    00614A80  |>  43            /INC EBX
    00614A81  |>  3BF3           CMP ESI,EBX
    00614A83  |.  7C 07         |JL SHORT 00614A8C
    00614A85  |.  807C1F FF 20  |CMP BYTE PTR DS:[EDI+EBX-1],20
    00614A8A  |.^ 76 F4         \JBE SHORT 00614A80

    Оптимизация компилятора

    Xekep, 22 Апреля 2011

    Комментарии (20)
  7. PHP / Говнокод #5615

    +232

    1. 1
    echo "Для разлагинивания почистите куки браузером.<br>";

    Взяли новичка на испытательный срок. При нажатии на кнопку "Выход" наблюдаю данную надпись.

    Говногость, 09 Февраля 2011

    Комментарии (53)
  8. PHP / Говнокод #4396

    +232

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function get_user_balls($user_id)
    {
    //blah blah blah
    }
    
    function destroy_user_balls($user_id)
    {
    //blah blah blah
    }

    Никогда не догадаетесь, что это за функции. Ржал до слез. Готовы? Возвращает кол-во баллов, набранных пользователем и очищает их.

    j0kz, 19 Октября 2010

    Комментарии (13)
  9. Assembler / Говнокод #3988

    +231

    1. 1
    2. 2
    3. 3
    4. 4
    cmp [wparam],BN_CLICKED shl 16 + ID_HOTKEY
            je .sethotkey
            jmp .processed
    .sethotkey:

    O_o

    Xekep, 15 Августа 2010

    Комментарии (7)
  10. Assembler / Говнокод #6150

    +230

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    org VECTORS
     dw metka1
     org 3feh
     dw start
    
     org 200h
    
    start:
    
     lda #0
     sta 0E0h
     sta 0E1h
     sta 0E2h
    
     clra
     lda #0f0h
     sta 4
     bset 5,0008h
     cli
     jmp $
    
    metka1:
    
     rol 0
     bcs metka2
    
     lda #070h
     sta 4
     lda #1
     sta 0E0h
     jmp metka3
    
    metka2:
    
     lda #0f0h
     sta 4
    
     lda 0E0h
     cmp 0E2h
     beq metka3
    
     lda #0
     sta 0E0h
     lda 0E1h
     inca
     sta 0E1h
     jmp metka4
    
    metka3:
    
     lda 0E1h
     inca
     sta 0E1h
    
    metka4:
     bset 2,0008h
     rti
    
    END

    типовик

    iliym, 31 Марта 2011

    Комментарии (3)
  11. Assembler / Говнокод #3500

    +229

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    ;uint64_t foo(uint32_t x, uint64_t y) { return x*y; }
    
    sub esp, 0×8
    mov edx, [esp+0x14]
    mov ecx, [esp+0xc]
    mov eax, [esp+0x10]
    mov [esp+0x4], esi
    mov esi, edx
    imul esi, ecx
    mul ecx
    mov [esp], ebx
    mov ebx, [esp]
    add esi, edx
    mov edx, esi
    mov esi, [esp+0x4]
    add esp, 0×8
    ret

    оптимизированое умножение - gcc 4.2.4

    3.14159265, 17 Июня 2010

    Комментарии (44)