Важная информация

User Tag List

Страница 2 из 31 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 304

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

  1. #11
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну она так, условно есть:
    https://github.com/svofski/prettyasm/
    Я не советую, потому что мне это просто интересно было повозиться, а как продукт он может не особо-то прочный. У онлайнового фича, что можно быстро набросать тестик или какую-то идею и обкатать ее перед тем, как заводить проект посерьезней. Но если уж есть проект и все равно что-то запускается в консоли, tasm ничем не плох.

    Документации нет. Там нечего документировать.
    Больше игр нет

  2. #12
    Activist
    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    369
    Спасибо Благодарностей отдано 
    425
    Спасибо Благодарностей получено 
    241
    Поблагодарили
    88 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    svofski,
    Если навести курсор на метку в прекрасном ассемблере, то появляется хинт с адресами везде где она используетя. Было бы супер класно видель там еще и количество тактов с этой метки до всех последующих JMP, J*, RET, R*. Если сможешь, добавь пожалуйста, будет очень полезно.

    - - - Добавлено - - -

    Не не так, а то слишком много мусора будет.
    Нужно показывать такты для заселекченного кусочка. И кстати есть дополнительный бенефит, будет что указать в мануале.
    Последний раз редактировалось parallelno; 02.07.2022 в 01:41.

  3. #13
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Идея прикольная, но у меня вон три года PR от Pyk-а висит, а тут такое. С тактами еще такая тонкость, что они машинно-зависимые. На Векторе количество тактов в каждом машинном цикле округляется вверх до кратного четырем (mov r,r = 8 тактов). На других машинах не так. Векторовские такты вызывают досаду своей тормознутостью, но зато их на самом деле очень легко запомнить.

    На такты при отладке мне нравится смотреть в отладчике VV.
    Больше игр нет

  4. #14
    Activist
    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    369
    Спасибо Благодарностей отдано 
    425
    Спасибо Благодарностей получено 
    241
    Поблагодарили
    88 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ok.

    Я пытаюсь поспользоваться макросами в TASM.
    Например вот это кусочек кода положить в макрос:

    Код:
    		LHLD	SPRITE_COUNTER_ADDR
    _loop:		
    		LXI	B, spriteData01
    		LXI	D, SPRITE_SCR_ADDR+23
    		PUSH	H
    		CALL	DrawSprite_ivagor
    		POP	H
    		INX	H
    
    		LDA	STOP_TIMER_FLAG_ADDR
    		ORA	A
    		JNZ	_loop
    		SHLD	SPRITE_COUNTER_ADDR
    
    		LXI	D, RES_SCR_ADDR_4
    		call	DrawResult
    и заменить конкретные параметры на макрос параметры - DrawSprite_ivagor -> DrawSprite, SPRITE_SCR_ADDR+23 -> spriteScrAddr, RES_SCR_ADDR_4 -> resScrAddr
    никак не могу побороть. Может быть кто-то сможет привести пример такого макроса? Заранее спасибо!
    Последний раз редактировалось parallelno; 02.07.2022 в 03:04.

  5. #15
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так а если допустим написать в тексте CALL DrawSprite, а при вызове tasm указывать -DDrawSprite=DrawSprite_ivagor, не получается?
    Больше игр нет

  6. #16
    Activist
    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    369
    Спасибо Благодарностей отдано 
    425
    Спасибо Благодарностей получено 
    241
    Поблагодарили
    88 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Забыл указать что я просто хочу сделать макро функцию чтобы не дублировать код много раз.
    что то типа как доках TASM
    #DEFINE ADD(xx,yy) clc
    #DEFCONT \ lda xx
    #DEFCONT \ adc yy
    #DEFCONT \ sta xx

    но немного посложнее

    Если честно, то у меня даже стандартный пример не заработал. Не хочет компилиться.

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

  8. #17
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,844
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,822
    Поблагодарили
    1,045 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если хочется удобной компоновки с бинарниками, продвинутых макросов и дополнительных директив препроцессора то можно расширить область поиска трансляторов ассемблера:
    1. CP/Mные трансляторы. Для кросскомпиляции понадобится еще эмулятор cp/m типа такого
    2. Вот такой вариант (правда для 8080 я его не пробовал, но для x86 fasmом пользуюсь)
    3. Перейти на сторону синтаксиса z80 и тогда станут доступны продвинутые асмы для этого проца.
    Подобные вопросы уже возникали в теме, стоит там посмотреть.

  9. #18
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если ты исполнен отваги пользоваться препроцессором, в принципе обычный сишный препроцессор можно использовать с чем угодно, даже с TASM, потому что TASM поддерживает разделители в виде бекслеша. Попробовал по быстрому, вот как это выглядит.
    Код:
    $ cat tets.asm
    #define ADD(xx,yy) clc \\
      lda xx \\
      adc yy \\
      sta xx
    
    ADD(foo,bar)
    
    $ cpp -P tets.asm
    clc \ lda foo \ adc bar \ sta foo
    Последний раз редактировалось svofski; 02.07.2022 в 13:30.
    Больше игр нет

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

    ivagor (02.07.2022), Pyk (04.07.2022)

  11. #19
    Master
    Регистрация
    13.05.2018
    Адрес
    г. Тамбов
    Сообщений
    707
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    514
    Поблагодарили
    160 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    А есть примеры программ на ассемблере?
    Процедуры или вся программа?

    Про комп - Вектор-06Ц...

    Комп был проблемный...
    Программ на него у нас в городе - даже купить было негде...
    Книг по программированию, конкретно под Вектор, не было...
    У меня с компом шло 3 книжки -
    Монитор, Бейсик и книжка со схемой...

    Пробовал что то написать на Бейсике - даже и получалось...
    Что то простое...

    Программы наши - писать не умели...
    Даже сюжета особого в играх не было...
    ???

    Кишинев - тупо готовое переделывал...
    Что то японское по-моему...
    От Taito, Namco и тд...

    Наши клоны - обычно писали...
    Клон игры Йети, Клада и подобных...
    Штук 20 - 30 наберется...
    Последний раз редактировалось Stl75; 02.07.2022 в 14:36.

  12. #20
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,999
    Спасибо Благодарностей отдано 
    1,064
    Спасибо Благодарностей получено 
    1,236
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Stl75 Посмотреть сообщение
    А есть примеры программ на ассемблере?
    Процедуры или вся программа?
    В заголовке этой темы было - Категория sourcecode http://sensi.org/scalar/categories/37/

    Также свои могу упомянуть -
    https://github.com/nzeemin/vector06c-desolate
    https://github.com/nzeemin/vector06c-asteroids
    https://github.com/nzeemin/vector06c-dangerick

    Рива Рейд от @svofski - https://github.com/svofski/incursiondelrio

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

    Stl75 (02.07.2022)

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

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

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

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

Похожие темы

  1. Программирование на ассемблере
    от shuran33 в разделе Вектор
    Ответов: 311
    Последнее: 23.02.2024, 17:00
  2. Программирование графики MSX
    от CityAceE в разделе MSX
    Ответов: 56
    Последнее: 26.11.2021, 21:47
  3. Программирование на ассемблере
    от tnt23 в разделе Океан-240
    Ответов: 3
    Последнее: 24.01.2019, 00:12
  4. Программирование NES
    от Tronix в разделе Nintendo
    Ответов: 6
    Последнее: 08.07.2015, 21:21
  5. Программирование на пентеве.
    от Kakos_nonos в разделе Программирование
    Ответов: 2
    Последнее: 23.03.2013, 14:08

Ваши права

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