1. Список говнокодов пользователя digitalEugene

    Всего: 43

  2. Assembler / Говнокод #27418

    +1

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    .ALIAS HALT 10h
    .ALIAS VBI   0h
    .ALIAS VPUSCRADDR 3000h
    .ALIAS VPUATRADDR 3002h
    .ALIAS VPUCTRL 3004h
    .ALIAS VPUCTRL_WH 3005h
    .ALIAS VPUCTRL_F 3006h
    .ALIAS VPUCTRL_VBI 0
    .ALIAS VPUCTRL_ACT 1
    .ALIAS VPUCTRL_TICK 2
    
    .ALIAS W 10
    .ALIAS H 5
    
    .ALIAS I   %BL
    .ALIAS PTR %C
    
    .ORG 2000h SCR:
    .ORG 2100h ATR:
    
    .ORG #VBI
    DD @VBI
    
    .ORG 30h
    DATA:
    
    .ORG 40h
    STATE:
    	X: DB 0
    	
    .ORG 80h
    _START:
    	SET   %AL #VPUCTRL_VBI
    	SET   %AL #VPUCTRL_ACT
    	STORE %AL #VPUCTRL_F
    	MOV   %AL #H
    	SHL   %AL 4
    	OR    %AL #W
    
    	STORE %AL #VPUCTRL_WH
    	
    	MOV   %A @SCR
    	STORE %A #VPUSCRADDR
    	MOV   %A @ATR
    	STORE %A #VPUATRADDR
    	
    	LOAD  %AL #VPUCTRL_F
    	SET   %AL #VPUCTRL_TICK
    	STORE %AL #VPUCTRL_F
    	STORE %AL #VPUCTRL_F
    	LOOP:
    	JMP @LOOP
    
    VBI:
    	PUSH  %A
    	PUSH  %B
    	PUSH  %C
    	
    	LOAD  %AL @X
    	ADD   %AL 1
    	
    	CMP   %AL #W JNE @VBI_CONTINUE
    	XOR   %AL %AL     VBI_CONTINUE:
    	STORE %AL @X
    	
    	CMP   %AL 0  JNE @VBI_ELSE
    		MOV   #PTR @SCR
    		ADD   #PTR #W
    		SUB   #PTR 1
    		STORE #PTR %AL 
    		JMP @VBI_SKIP
    	
    	VBI_ELSE:
    		MOV   #PTR @SCR
    		ADD   #PTR %AL
    		SUB   #PTR 1
    		MOV   %BH 0
    		STORE #PTR %BH
    	VBI_SKIP:
    
    	MOV   #PTR @SCR
    	ADD   #PTR %AL
    	MOV   %BH  FFh
    	STORE #PTR %BH
    	
    	POP %C
    	POP %B
    	POP %A
    	RET

    похождения моей ебанутой вмки продолжаются.
    bormand сказало что писать подставным прерыванием в консольку это читерство. реализовал видеовывод. теперь нормально? (слегка криво, и на
    атрибуты вмке похуй, как и мне.)

    вопреки моим огромным сомнениям, выдает 600 фпс даже на моей скромной конфигурации.

    https://imgur.com/fdLlQvx

    digitalEugene, 11 Мая 2021

    Комментарии (9)
  3. C++ / Говнокод #27412

    +1

    1. 1
    std::ranges::for_each(tasks, [](auto x) {x();});

    а ещё теперь не нужно писать std::begin(), std::end().
    c++ будущего.

    digitalEugene, 10 Мая 2021

    Комментарии (154)
  4. C++ / Говнокод #27409

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for (auto& key : interruptController.hardwareInterrupts | std::views::keys)
    {
    	memory[key * 2    ] = 0xFF;
    	memory[key * 2 + 1] = 0xFF;
    }

    охуенно.

    digitalEugene, 09 Мая 2021

    Комментарии (3)
  5. C++ / Говнокод #27408

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    #define MAKE(a1, a2, m1, m2) if(arg1s == a1 && arg2s == a2)\
    	sprintf_s(opcode_buffer, format.c_str(), opcodeToString((Opcode)opcode.opcode).c_str(), m1, m2)
    
    	MAKE(I, I, iarg1       ,  iarg2       );
    	MAKE(S, I, arg1.c_str(),  iarg2       );
    	MAKE(I, S, iarg1       ,  arg2.c_str());
    	MAKE(S, S, arg1.c_str(),  arg2.c_str());
    #undef MAKE

    да что вы знаете о форматировании.

    digitalEugene, 09 Мая 2021

    Комментарии (2)
  6. C++ / Говнокод #27404

    +1

    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
    INTERRUPT_TABLE section:
    00> FF FF | . .
    02> 9F 00 | . .
    
    DATA section:
    32> 48 65 6C 6C 6F 20 77 6F | Hello.wo
    3A> 72 6C 64 21 00 00 00 00 | rld . . . . .
    42> 00 00 00 00 00 00 00 00 | . . . . . . . .
    4A> 00 00 00 00 00 00 00 00 | . . . . . . . .
    
    _START section:
    8F> 9B 00 32 00  PUSH 32
    93> 18 00 00 00      INT 0
    97> 18 00 01 00      INT 1
    9B> 94 40 01 00    ADD %B       1
    
    EXIT interrupt:
    9F> 81 40 16 E8   MOV %B       E816
    A3> 20 00 00 00     RET
    
    
    RUNFLOW:
    8F> 9B 00 32 00  PUSH 32
    93> 18 00 00 00      INT 0          DEBUG OUTPUT: Hello world!
    97> 18 00 01 00      INT 1
    9F> 81 40 16 E8   MOV %B       E816
    A3> 20 00 00 00     RET
    9B> 94 40 01 00    ADD %B       1
    HALT SEQUENCE REACHED: 0xE817

    Закодил свою виртуальную машину и ассемблер под неё.
    Заспидранил Hello world за неделю.
    https://pastebin.com/NmLEuGMU

    digitalEugene, 08 Мая 2021

    Комментарии (11)
  7. Java / Говнокод #27044

    0

    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
    var io = java.io
    var BufferedReader = io.BufferedReader
    var BufferedWriter = io.BufferedWriter
    var InputStreamReader = io.InputStreamReader
    var OutputStreamWriter = io.OutputStreamWriter
    
    var Socket = java.net.Socket
    var socket = new Socket("localhost", 5050)
    var input = new BufferedReader(new InputStreamReader(socket.getInputStream()))
    var output = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
    
    while(true){
      var data = input.readLine()
      console.log(data)
    }

    Один петух написал мне в три часа ночи с прозьбой помочь с кодом

    digitalEugene, 21 Октября 2020

    Комментарии (85)
  8. Haskell / Говнокод #27033

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    zero :: Integer -> Bool
    zero = (==0)
    
    ieq :: Num p => Bool -> p
    ieq x = if x then 1 else 0
    
    elem' :: (Foldable t, Eq a) => t a -> a -> Bool
    elem' xs x = not $ zero func
                where 
                    func = foldl (\acc y -> acc + (ieq $ x == y)) 0 xs

    Петуху дали поиграть в Haskell.

    digitalEugene, 16 Октября 2020

    Комментарии (7)
  9. C++ / Говнокод #27019

    0

    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
    #include <stdint.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    #define SIMPLIFY ^ -1
    
    globalStorage[] = {3, 1819043146, 1998597229, 1684828781, 35, 0 };
    int* localStorage = globalStorage + 1;
    
    declarator(x) int x; { return x; }
    
    main(void)
    {
        int* __L_LOCAL_BUF = malloc(-(localStorage[-1] SIMPLIFY) << 2);
    
        for(localStorage[-(localStorage[-1] SIMPLIFY)] ^= localStorage[-(localStorage[-1] SIMPLIFY)]; 
            localStorage[-(localStorage[-1] SIMPLIFY)] <
            -(localStorage[-1] SIMPLIFY); ++localStorage[-(localStorage[-1] SIMPLIFY)])
            __L_LOCAL_BUF[ localStorage[-(localStorage[-1] SIMPLIFY)]] = 
                localStorage[localStorage[-(localStorage[-1] SIMPLIFY)]]
        	^ (((2 * 2 * 2 * 2 * 2 * 2 * 2 * 
                ((int_fast8_t*)((int_fast64_t)(declarator)-(-((-((2ll * 2ll * 2ll * 2ll * 2ll *
                    2ll * 2ll * 2ll * 2ll) ^ -1ll)) 
                    ^ -1ll))))[0]) >> 1 >> 2 >> 3) / 
                    ((int_fast8_t*)((int_fast64_t)(declarator)-(-((-((2ll * 2ll * 2ll * 2ll * 2ll * 2ll * 
                        2ll * 2ll * 2ll) ^ -1ll))
                        ^ -1ll))))[0]);
    
        printf("%s\n", (const char*)__L_LOCAL_BUF);
      
        free(__L_LOCAL_BUF);
    	
        return 0;
    }

    Переписал Hello world под современные тренды и библиотеки.

    digitalEugene, 11 Октября 2020

    Комментарии (53)
  10. C++ / Говнокод #26988

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class std::unordered_map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,
    enum REG,struct std::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,
    struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,
    class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,
    class std::allocator<char> > const ,enum REG> > > registers" 
    (?registers@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4REG@@U?$hash@V?$
    basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?
    $allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4
    REG@@@std@@@2@@std@@A) уже определен в decoder.obj	PVC-16	C:\Users\Люда\source\repos\PVC-16\PVC-16\interrupt.obj	1

    Похлопаем visual c++ за понятный лог.

    digitalEugene, 30 Сентября 2020

    Комментарии (58)
  11. C++ / Говнокод #26912

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void tick(void)
    {
    	for (auto&& x : registry.objects)
    		(x? std::function<void(void)>([&](void) {((IObject*)(x))->tick(); }) : [&]() {})();
    }

    Мозг сказал что "((IObject*)(x))->tick();" написать слишком сложно и повелел написать вот это.

    digitalEugene, 03 Сентября 2020

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