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

    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
    .org {5h * 2h}
    dw @int5
    
    .org 30h
    data:
    	db "10"
    
    .org 80h
    start:
    	mov %sp FFFFh
    	mov %al {3h * 2h}
    	int 5h
    	int 0h
    
    int5:
    	push %a
    	mov %ah [{@data + 1h}]
    	add %al %ah
    	outb E9h %al
    	.wait:
    		inb %al E9h
    		cmp %al 0h
    		jne @.wait
    	pop %a
    	rei

    встречайте новую фичу

    Запостил: kcalbCube, 30 Марта 2022

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

    • Фичу чего, kkalb?
      Ответить
    • Порт E9 это терминал?
      Ответить
    • А дампик будет?
      Ответить
      • Так это файка ASD?
        Ответить
        • Не, это вроде разные чуваки. Один конпелятор пилит, а второй виртуальную машину. Надо уже им скооперироваться и сделать конпеляцию тайпскрипта под эту платформу.
          Ответить
      • 00000000 30 30 31 4644 41 54 413A 30 30 3330 3B 49 4E 001FDATA:0030;IN
        00000010 54 35 3A 3030 38 43 3B │ 53 54 41 5254 3A 30 30 T5:008C;START:00
        00000020 38 30 3B 0000 00 00 0000 00 00 0000 8C 00 00 80;.............
        00000030 00 00 00 0000 00 00 0000 00 00 0000 00 00 00 ................
        00000040 00 00 00 0000 00 00 0000 00 00 0000 00 00 00 ................
        00000050 00 00 00 3130 00 00 0000 00 00 0000 00 00 00 ...10...........
        00000060 00 00 00 0000 00 00 0000 00 00 0000 00 00 00 ................
        00000070 00 00 00 0000 00 00 0000 00 00 0000 00 00 00 ................
        00000080 00 00 00 0000 00 00 0000 00 00 0000 00 00 00 ................
        00000090 00 00 00 0000 00 00 0000 00 00 0000 00 00 00 ................
        000000A0 00 00 00 0207 FF FF 020A 06 00 1505 15 00 23 ...............#
        000000B0 00 03 09 8031 00 09 0A │ 09 2F 0A E9 │ 00 34 0A E9 ....1..../...4..
        000000C0 00 16 0A 0000 1A 9A 0028 00 46                  ........(.F
        Ответить
        • В начале дампика дебаг инфа о метках?
          Ответить
          • да. можно даже слинковать наверн.
            Ответить
            • А почему текстом?
              Ответить
              • human-readable
                Ответить
                • Можешь в отдельный map файл высрать эту инфу, кстати. Обычные ассемблеры так и делают.
                  Ответить
                • У меня в опкодах и дампиках прошивок под ARM нет никакого "human-readable"
                  Ответить
                  • Процессоры архитектуры ARMv6-M, а также те процессоры архитектуры ARMv8-M, которые не поддерживают так называемое основное расширение (main extension; функционально они подобны архитектуре ARMv6-M), требуют выравнивания данных в памяти размером полуслово и слово по их естественным границам; нарушение этого требования приводит к прерыванию по серьёзному отказу.
                    какой анскилл
                    Ответить
                    • > серьёзному отказу

                      Ну хоть не к ошибке автобуса.
                      Ответить
                      • В современных ЭВМ это часто приводит к небольшому одиннадцатиметровому удару
                        Ответить

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