User Tag List

Страница 19 из 49 ПерваяПервая ... 151617181920212223 ... ПоследняяПоследняя
Показано с 181 по 190 из 531

Тема: ZX Like Pascal

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

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

    Регистрация
    05.04.2015
    Адрес
    г. Майкоп
    Сообщений
    294
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так быстрее. LDI 16 тактов для пересылки 1 байта, LDIR 21 такт для пересылки 1 байта. Правда, памяти уходит на это 256 байт.

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

  3. #2

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ок, перепроверю Z.

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

    Тут лежит исходник ZX Like Pascal, в нем, кажется, обновленный Z, где не нужно ничего колдовать: http://zx-pk.ru/threads/54-podderzhi...l=1#post810433

  4. #3

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну насколько я помню, в TurboPascal, если тип переменных в выражениях byte или word, тоже нет отрицательных чисел, а проворачивается. Например, 5-6=255, насколько помню
    А ты можешь тогда ввести функцию abs:
    Код:
    if y_put>abs(y_map_scr-y_max_obj)
    			then y_min_lim:=y_map_scr-y_max_obj
    			else y_min_lim:=1;

  5. #4

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,456
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    121 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    для справочки: как HitechC обходится:
    Код:
    main()
    {
    	int xm=-127;
    	int ym=96;
    
    	if (xm>ym) xm=-xm;
    
    }
    
    RAM:80F7                 ld      (ix+0FEh), 81h ; 'Á'
    RAM:80FB                 ld      (ix+0FFh), 0FFh
    RAM:80FF                 ld      (ix+0FCh), 60h ; '`'
    RAM:8103                 ld      (ix+0FDh), 0
    RAM:8107                 ld      e, (ix+0FEh)
    RAM:810A                 ld      d, (ix+0FFh)
    RAM:810D                 ld      l, (ix+0FCh)
    RAM:8110                 ld      h, (ix+0FDh)
    RAM:8113                 call    sub_813D        ; if (xm>ym) xm=-xm;
    RAM:8116                 jp      p, loc_812B
    RAM:8119                 ld      e, (ix+0FEh)    ; xm=-xm
    RAM:811C                 ld      d, (ix+0FFh)
    RAM:811F                 ld      hl, 0
    RAM:8122                 or      a
    RAM:8123                 sbc     hl, de
    RAM:8125                 ld      (ix+0FEh), l
    RAM:8128                 ld      (ix+0FFh), h
    RAM:812B
    RAM:812B loc_812B:                               ; CODE XREF: sub_80F4+22j
    
    ;
    RAM:813D sub_813D:                               ; CODE XREF: sub_80F4+1Fp
    RAM:813D                 ld      a, h
    RAM:813E                 xor     d
    RAM:813F                 jp      m, loc_8145
    RAM:8142                 sbc     hl, de
    RAM:8144                 ret
    RAM:8145 ; ---------------------------------------------------------------------------
    RAM:8145
    RAM:8145 loc_8145:                               ; CODE XREF: sub_813D+2j
    RAM:8145                 ld      a, h
    RAM:8146                 and     80h ; 'À'
    RAM:8148                 sbc     hl, de
    RAM:814A                 inc     a
    RAM:814B                 ret

  6. #5

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Свежий исходник демо игры Z на ZX Like Pascal тут

  7. #6

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Текущее демо Z и исходник на ZX Like Pascal. Т.к. теперь появилась инициализация массивов при объявлении, экономится много места в памяти, еще есть 13 кб свободных примерно.
    Напиши, пожалуйста, как распределена память и как там 13 килобайт свободных осталось. 14 килобайт экраны, таблиц и спрайтов килобайт 18, остаётся 16 килобайт для кода. Он что, в 3 килобайта уместился?

  8. #7

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    23900-32506: скомпилированная программа на Паскале
    32507-33253: процедура вывода карты клеток 4х4 знакоместа на Асме
    33254-45440: спрайты
    45441-48314: скомпилированная библиотека
    48315-52409: карта
    52410-53524: переменные и массивы
    53525-57343: СВОБОДНАЯ ОБЛАСТЬ
    57344-65xxx: виртуальный экран и таблица отраженных байтов

    Да, промахнулся я. Осталось менее 4 кб, виртуальный экран забыл.

  9. #8

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хоть что-то осталось, у меня пока в 48 совсем не помещается.
    Кроме исключения повторного вычисления индекса массива какие ещё оптимизации есть в ZX Like Pascal? У меня фантазия не работает после переписывания кодогенератора Отдохнуть надо.

  10. #9

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нужно делать 8-битный Паскаль
    В статье журнала "Downgrade" №15 оптимизации, которые делал, описал.

  11. #10

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

Страница 19 из 49 ПерваяПервая ... 151617181920212223 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 341
    Последнее: 15.01.2022, 17:30
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Ваши права

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