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 46 │ 44 41 54 41 │ 3A 30 30 33 │ 30 3B 49 4E 001FDATA:0030;IN
        00000010 54 35 3A 30 │ 30 38 43 3B │ 53 54 41 52 │ 54 3A 30 30 T5:008C;START:00
        00000020 38 30 3B 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 8C 00 00 80;.............
        00000030 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ................
        00000040 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ................
        00000050 00 00 00 31 │ 30 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ...10...........
        00000060 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ................
        00000070 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ................
        00000080 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ................
        00000090 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ................
        000000A0 00 00 00 02 │ 07 FF FF 02 │ 0A 06 00 15 │ 05 15 00 23 ...............#
        000000B0 00 03 09 80 │ 31 00 09 0A │ 09 2F 0A E9 │ 00 34 0A E9 ....1..../...4..
        000000C0 00 16 0A 00 │ 00 1A 9A 00 │ 28 00 46                  ........(.F
        Ответить
        • В начале дампика дебаг инфа о метках?
          Ответить
          • да. можно даже слинковать наверн.
            Ответить
            • А почему текстом?
              Ответить
              • human-readable
                Ответить
                • Можешь в отдельный map файл высрать эту инфу, кстати. Обычные ассемблеры так и делают.
                  Ответить
                • У меня в опкодах и дампиках прошивок под ARM нет никакого "human-readable"
                  Ответить
                  • Процессоры архитектуры ARMv6-M, а также те процессоры архитектуры ARMv8-M, которые не поддерживают так называемое основное расширение (main extension; функционально они подобны архитектуре ARMv6-M), требуют выравнивания данных в памяти размером полуслово и слово по их естественным границам; нарушение этого требования приводит к прерыванию по серьёзному отказу.
                    какой анскилл
                    Ответить
                    • > серьёзному отказу

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

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