системные переменные похерены?
системные переменные похерены?
Прихожу без разрешения, сею смерть и разрушение...
переменные/IY там выставлены (или вы гадаете не смотря в код)
косяк в битах переменной (#5c3b)
в SNA по результатам битов в этой переменной в результате опроса выдаётся код токена, а не символа !!!
Последний раз редактировалось goodboy; 05.01.2020 в 20:20.
YuronN(05.01.2020)
Спасибо за ответы.
А посоветуйте, пожалуйста, актуальный ассемблер, который умеет создавать SNA.
В sjasm 'savesna'.
sjasm не захотел работать под маком:
Просмотрел я темы, которые прилеплены в шапке раздела программирование (языки и среды; средства разработки).Код:libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: basic_string
Последние сообщения датированы 2006, 2007 годами.
Хочется современных средств, может даже, с прицелом на разработку для Spectrum NEXT, а информации особо нет.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Нормально всё работает. https://github.com/z00m128/sjasmplus...es/tag/v1.14.3 собирай тар.гз.
Современные средства - https://github.com/maziac/z80-debug (как можно видеть на гифках - запущено на чем-то, сильно напоминающем мак)
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
А он и не должен этого делать. Вдруг ваш написанный код должен перекрывать системные переменные, а тут ужасм взял их и инициализировал ))
Если вдруг нужно sna с переменными, надо сделать их дамп, причём желательно со срезом аналогичного вызова ассемблерной проги из бейсика, а то могут быть сюрпризы как тут.
А потом предварительно приинкбинить этот дамп в исходнике, а то желательно бы ещё и регистры какие (sp - в частности, IY - как видно по умолчанию выставляется) инициировать.
А вообще по мне для игрушки чтение управления лучше напрямую через порты организовать. Хотя если шустрость и отзывчивость не критична то можно и забить.
to YuronN пара конструкций на заметку если не наошибся конечно )) Не шедевр, здешние монстры покруче завернут (тут вариантов море), так для общего развития.
Код:... loop halt ; системный опрос проводится раз в прерывание, так что нет смысла гонять цикл вхолостую (не забыть только прерывания разрешить EI ) ld hl, last_k ld a, (hl) ld (hl),0 ; очищаем буфер сразу после забора символа, и не забудется и лишний раз ld hl,last_k не писать ld hl,pechataem ; поскольку у нас однотипное окончание обработки, можно сэкономить на джампах и коллах push hl ; кладём на стек адрес окончания обработки, теперь по 'ret' попадём на обработку ld de, keyp ; tright ld bc, eokeyp-keyp cp 112 ;key P ret z ld de, keyo ; tleft ld bc, eokeyo-keyo cp 111 ;key O ret z ld de, keysp ; tspace ld bc, eokeysp-keysp cp 32 ;key Space ret z pop af ; снимаем неиспользованный для ret адрес, иначе стек забьётся jr loop pechataem ; окончание обработки call 8252 jr loop last_k equ 23560 keyp defb "P " eokeyp equ $ keyo defb "O " eokeyo equ $ keysp defb "space " eokeysp equ $
потому шито эти системные переменные никому не нужны
нормальные люди не лезут в пзу не под каким предлогом
ПУШО НЕТ НИКАКОЙ! ГАРАНТИИ его одинаковости на разных машинах
разве что при обращение к трдос-у\теневым портам (которые без лезть в пзу ну никак...)
или 128 бит демо
или прочая муть которую жестко ограничивает количество свободной памяти...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)