1. Assembler / Говнокод #17424

    +143

    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
    dw 0 ; reserved, must be 0
    dw 1 ; icon type, must be 1
    dw 2 ; number of images in file
    
    ; 1st icon header
    db 32 ; width
    db 32 ; height
    db 0 ; no color palette
    db 0 ; reserved, must be 0
    dw 1 ; planes
    dw 32 ; bits per pixel
    dd icon32_end-icon32_start ; length
    dd icon32_start ; offset
    
    ; 2nd icon header
    db 16 ; width
    db 16 ; height
    db 0 ; no color palette
    db 0 ; reserved, must be 0
    dw 1 ; planes
    dw 32 ; bits per pixel
    dd icon16_end-icon16_start ; length
    dd icon16_start ; offset
    
    ; 1st icon body
    icon32_start:
    file 'icon32.png'
    icon32_end:
    
    ; 2nd icon body
    icon16_start:
    file 'icon16.png'
    icon16_end:

    http://habrahabr.ru/post/247425/
    Сборка иконки FASMом

    Запостил: govnokod3r, 09 Января 2015

    Комментарии (17) RSS

    • Я так когда-то загрузочную дискету собирал nasm'ом...

      https://github.com/bormand/tryos/blob/master/src/bootcode/floppy.asm

      Но иконка, конечно, вообще хардкор... Еще бы мпег собрали ;)
      Ответить
      • адские комментарии
        Ответить
      • для говнокодского примера собирал какого-то? или для себя? я смотрю в протектед моде 32 даже ушел. Кем ты работаешь? Только не говори что в макдаке или бомжуешь.
        Ответить
        • Ну спрашиваю это, тк интересует откуда такач ширина познания?
          Ответить
          • > ширина познания
            Да какая там ширина... Вся эта херня про переход в защищенный режим была в книжке Юрова по асму. Ну и трёхтомник Intel Architecture штудировал.
            Ответить
      • Мне понравилась твоя ось. Спасибо. Давно забросил?
        Ответить
        • > для себя
          Ага.

          > Давно забросил?
          Лет 5-6 минимум. Про гцц я тогда вообще не знал. Там даже мейкфайлов не было, собиралось с помощью морды визуалки, батника и какой-то матери. Мейкфайл прикрутил недавно когда выкладывал на гитхаб. 2012й или 2013 вижуалкой собирал, не помню точно, но работало.

          > А что без релокатиона экзешников нельзя?
          Мне впадлу было мапать экзешник как положено, структуры все же довольно сложны, чтобы читать их из асма. Поэтому и прикрутил этот препроцессор.

          > у гцц же пик есть
          Да я думал об этом, когда выкладывал... a.out в сочетании с pic очень легко загрузить. Только вот интерес к проекту совсем пропал...

          Недавно вот с UEFI возился - на порядки проще и удобней, чем вся эта мура с бутсекторами.
          Ответить
          • > Недавно вот с UEFI возился
            Пришлось даже видюху перепрошивать, чтобы GOP появился.
            Ответить
            • Гоп?
              Ответить
            • зачем тебе уефи?
              уеби нужен только создателям ос и биософ
              Ответить
              • > зачем тебе уефи?
                В основном ради расширения сознания смотрел. Интересно же, как нынче операционка грузится. Написал прогу, рисующую белый квадрат в центре экрана, запустил ее с флешки и успокоился.

                Ну и есть еще идейка насчет загрузчика, который сможет смонтировать LUKS раздел и запустить оттуда реальный загрузчик (или сразу ядро). Но она пока в зайчаточном состоянии.
                Ответить
      • А что без релокатиона экзешников нельзя? у гцц же пик есть. я конечно видел, что ты в студии делал по winmain32crtstartup , но зачем?
        Ответить
      • А, кстати да. Я уже и забыл. Когда-то на курсач тоже собирал загрузочный образ nasm'ом.
        Сейчас бы взять dd какой-нить и чуть шеловской еботни. Но nasm'ом реально удобней такое делать.
        Ответить
    • Автор, сосни хуйца, чтобы неповадно было бредосплетни с хабра таскать. Ты вообще держал хоть в руках фасм/кодил?
      Ответить

    Добавить комментарий