1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Intel8080 на UASM

Тема в разделе "WASM.ASSEMBLER", создана пользователем Intro, 26 дек 2020.

  1. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    291
    Ассемблер UASM начал понимать Intel8080.
    Тестовый код.
    Код (ASM):
    1.  
    2. ;;
    3. include intel8080.asm
    4. .model tiny
    5. .data
    6. foo db 77h
    7. doo db 99h
    8. zoo dw 1234h
    9. .code
    10. org 100h
    11. start:
    12. $NOP
    13. $CALLPO M1
    14. $MOV A,C
    15. $MOV A, [HL];,22
    16. ;; $MOV [HL], [HL]
    17. $ADD A,D
    18. $ADD A, 0FFh
    19. $MOV BC, 01234h
    20. $MOV [DE], A
    21. $MOV A, doo
    22. $MOV foo, A
    23. $MOV HL, zoo
    24. $MOV zoo, HL
    25. $INC A
    26. $INC HL
    27. $INC SP
    28. $DEC A
    29. $DEC HL
    30. $DEC SP
    31. $PUSH AF
    32. $PUSH DE
    33. $POP AF
    34. $POP HL
    35. $ADD HL, DE
    36. $ADD HL, SP
    37. $RST 7
    38. $JNZ M1
    39. $NOP
    40. M1:
    41. $MOV SP, HL
    42. $XCHG HL, DE
    43. $XCHG DE, HL
    44. $XCHG HL, [SP]
    45. $XCHG [SP], HL
    46. $ROL A
    47. $ROR A
    48. $SHL A
    49. $SHR A
    50. db 08h, 10h, 18h, 38h, 0
    51. db 0CBh, 0D9h, 0DDh, 0,0
    52. db 0EDh, 0FDh, 0,1
    53. $RET
    54. $JMP HL
    55. $LET HL:=zoo, A++, DE--, HL+=SP
    56. end start
    57.  
    Просто пример, как UASM может понимать не только х86.
     

    Вложения:

    • intel8080.asm
      Размер файла:
      12,2 КБ
      Просмотров:
      58
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.500
    Тебе может ссылок на v86 с манами насыпать сюда я могу.​
     
  3. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    291
    Это просто пример правильного понимания реализации ассемблера вообще. Ассемблер - это, структурный, процедурный, с элементами ООП, язык программирования. И он может быть универсальный как сам Си.
    --- Сообщение объединено, 26 дек 2020 ---
    Правильно реализованный ассемблер может заменить даже С++.
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.500
    Intro,

    > Ассемблер - это, структурный, процедурный, с элементами ООП, язык программирования.

    Прежде такое тут никто не утверждал. Какое отношение имеет ооп к асм не понятно.
     
  5. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    291
    ООП - Объектно Ориентированное Программирования. И хороший ассемблер может его частично поддерживать. Прежде всего это вызов процедур по ссылке в виртуальной таблице. В UASM реализовано, эээ... Да хреново реализовано. Например, если в OpenGL это просто функции, то в DirectX это уже виртуальные функции COM. И для нормальной работы надо реализовать возможность эффективного вызова функций по ссылке в таблице. Вот и всё. Больше от ассемблера и не надо.