User Tag List

Страница 25 из 31 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 342

Тема: Программирование на ассемблере

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Stl75 Посмотреть сообщение
    Привет всем...

    А есть - Pretty assembler не как web страница,
    а как приложение с .exe файлом?

    И кроме Pretty assembler'а есть еще какой-нибудь софт,
    типа assembler + monitor под Вектор-06Ц?
    Мне очень нравится retroassembler. Быстрый и гибкий в настройках. Интегрируется в visual studio code. Есть подсветка синтаксиса и линки на ошибки сборки. Легко прыгать на код где что-то пошло не так.

    Этот пользователь поблагодарил parallelno за это полезное сообщение:

    Stl75(26.06.2023)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чтобы prettyasm запустить локально, нужен локальный сервер. Например, если установлен Питон, то проще всего в каталоге, где сорцы ассемблера, запустить "python3 -m http.server 8000" и тогда ассемблер будет на http://localhost:8000/ Сорцы ассемблера - https://github.com/svofski/pretty-8080-assembler Но кнопка "RUN" так работать все равно не будет, потому что эмулятор будет расположен на другом домене. Чтобы все заработало вместе, надо аналогичным образом разместить у себя vector06js. Если правда интересно, могу попробовать рассказать как это сделать. Но по-моему это того не стоит.

    Чтобы локально программу собирать есть отличные ассемблеры. Я иногда пользуюсь TASM 3.2, например: https://www.ticalc.org/archives/file...250/25051.html

    А чтобы запускать и отлаживать есть эмуляторы.

    По-моему идейно это скорее из темы "Программирование": https://zx-pk.ru/threads/34480-programmirovanie.html
    Там замечательная сводка всевозможных средств разработки под Вектор.
    Больше игр нет

    Эти 2 пользователя(ей) поблагодарили svofski за это полезное сообщение:

    electroscat(26.06.2023), Stl75(26.06.2023)

  4. #3

    Регистрация
    13.05.2018
    Адрес
    г. Тамбов
    Сообщений
    816
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    200 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Привет всем...

    Да хотел, что-нибудь попробовать написать...
    Не большое...

    У меня первый мой комп был - Вектор-06Ц...
    Но книжки по ассемблеру не было в поставке - не разобрался...

    В комплекте шли брошюры - Basic, monitor и книга со схемами...

  5. #4

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Stl75 Посмотреть сообщение
    Привет всем...

    Да хотел, что-нибудь попробовать написать...
    Не большое...

    У меня первый мой комп был - Вектор-06Ц...
    Но книжки по ассемблеру не было в поставке - не разобрался...

    В комплекте шли брошюры - Basic, monitor и книга со схемами...
    Это здорово что есть энтузиазм! Здесь очень много толковых ребят. Если есть конкретные вопросы, то уверен помогут!

    Этот пользователь поблагодарил parallelno за это полезное сообщение:

    Stl75(28.06.2023)

  6. #5

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Процедура неинтересная для общественности, но для полноты картины дополню обработкой деления на 0.
    Как вариант:
    1. В начале добавляем
    mov a,e\ ora d\ rz
    2. Меняем
    mvi b,8 на mvi b,7
    ...
    jnz UDiv16168_1 на jp UDiv16168_1

    После таких изменений и дополнений на выходе флаг Z=1 будет индикатором деления на 0. Флаг S=0 тоже показывает деление на 0.
    Последний раз редактировалось ivagor; 29.06.2023 в 08:02. Причина: Исправил про Z

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Improver(28.06.2023)

  7. #6

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если отвлечься от требований, которые мне были нужны для конкретной программы, то процедуру можно разлочить до 8=24/16. Убираем XRA A в начале и MOV A,L в конце и вуаля:
    ;L=AHL/DE
    ;AH=AHL%DE
    Правда если нужна проверка делителя на ноль в начале, то она в таком случае усложняется
    Код:
    		inr e\ dcr e\ jnz $+6
    		inr d\ dcr d\ rz

  8. #7

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Все знают традиционный вариант преобразования HEX полубайта в символ
    Код:
    		cpi	0Ah
    		jc	$+5
    		adi	7
    		adi	30h
    Некоторые (теперь и я) знают оптимизированный вариант для x86 с вычитанием и десятичной коррекцией, котрый предложил Norbert Juffa.
    Этот вариант 1 в 1 преобразуется для z80 (возможно там он его и подсмотрел), а вот 8080/85/ВМ1 не поддерживают десятичную коррекцию после вычитания.
    Берем идею, по сравнению с z80 добавляется cmc (что сущая ерунда на фоне традиционного подхода)
    Код:
    		cpi	0Ah
    		cmc
    		aci	30h
    		daa
    Редкая, но приятная ситуация, когда получается одновременно ускорить и сократить.

    Эти 6 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    andrews(21.07.2023), Improver(21.07.2023), Oleg N. Cher(21.07.2023), parallelno(21.07.2023), Pyk(28.07.2023), svofski(22.07.2023)

  9. #8

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Все знают традиционный вариант преобразования HEX полубайта в символ
    Всем известный был вроде:
    Код:
    ADI 90h
    DAA
    ACI 40h
    DAA

    Этот пользователь поблагодарил b2m за это полезное сообщение:

    parallelno(22.07.2023)

  10. #9

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Всем известный был вроде:
    Код:
    ADI 90h
    DAA
    ACI 40h
    DAA
    Классный вариант. Спасибо. Я правда не встречал его.

    - - - Updated - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    Получается тут я изобрел велосипед, зато тут (второй в посте) все же немного улучшил.
    Отличная идея с Ori! Спасибо.

  11. #10

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если я правильно нагуглил описание команды daa, то она устанавливает флаг carry в один если коррекция была. Если я ничего не напутал то вроде должно работать следующие:
    Daa
    Aci 30h

    Поправьте пожалуйста если ошибся

    Этот пользователь поблагодарил parallelno за это полезное сообщение:

    ivagor(22.07.2023)

Страница 25 из 31 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вычисление числа Пи на ассемблере
    от perestoronin в разделе Разное
    Ответов: 330
    Последнее: 06.08.2025, 15:04
  2. Ответов: 275
    Последнее: 16.12.2018, 23:01
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Подпрограмма на ассемблере в памяти?
    от jimled в разделе Программирование
    Ответов: 1
    Последнее: 29.11.2009, 06:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •