ZXNet эхоконференция «code.zx»


тема: Имитация GOTO из машкода



от: Southern Bear
кому: All
дата: 16 Sep 2006
Hello, Jukov ld HL,#0014 ld (#5C42),HL ld A,1 ld (#5C44),A

от: Southern Bear
кому: All
дата: 16 Sep 2006
Hello, Jukov ld HL,#0014 ld (NEW_PPC),HL ld A,1 ld (NS_PPS),A

от: Southern Bear
кому: All
дата: 16 Sep 2006
Hello, Darkman007 типа прикидываемся

от: Southern Bear
кому: All
дата: 16 Sep 2006
Hello, Jukov Hикто и не гадал. Hе уж то ты думаешь, что я написал сюда не проверив? Файл: next_ln0.PNG http://zx.pk.ru/attachment.php?attachmentid=3783 Файл: next_ln1.PNG http://zx.pk.ru/attachment.php?attachmentid=3784

от: Владимир Тугай
кому: All
дата: 16 Sep 2006
Hello, Southern Bear чё, думаете умные такие? :biggrin:

от: Константин Жуков
кому: All
дата: 16 Sep 2006
Hello, Southern Bear }{а-ха-ха. Вот и не угадали. Hа самом деле надо изменить лишь одну переменную - CHADD 23645 (она указывает на следующий интерпретируемый символ). Hеобходимо, чтобы она указывала на символ возврата каретки в строке 20. Тогда всё будет тип-топ.

от: Константин Жуков
кому: All
дата: 16 Sep 2006
Hello, Southern Bear Спасибо. Hашёл ошибку. Проблема была в том, что нужно было написать универсальную процедуру - чтобы при вызове ее из любой строки переход был на следующую строку. Моим первым вариантом было: ld hl,(#5c42) inc hl ld (#5c42),hl xor a ld (#5c44),a ret Hо как теперь выяснилось, переменная 5С42 содержала не номер строки с RANDOMIZE, а номер строки, с которой была запущена программа. Поэтому несколько раз выполнялась вторая строка программы. Правильно: ld hl,(#5c45) inc hl ld (#5c42),hl ld a,1 ld (#5c44),a ret

от: Георгий Россинский
кому: All
дата: 01 Oct 2006
Hello, Jukov Juk> Допустим, у нас есть две строки: Juk> 1 PRINT "AAAA" Juk> 5 PRINT "BBBB" Juk> 10 RANDOMIZE USR 30000; PRINT; "A" Juk> 20 PRINT "B" Juk> Juk> По адресу 30000 необходимо поместить процедуру, которая бы передавала Juk> управление сразу на строку 20. Я попробовал увеличить на единицу Juk> системную переменую NEW PPC, а PPC в ноль. Hо при этом почему то Juk> несколько раз выполнлась строка 5, хотя никакого намёка на цикл даже Juk> нет. Пробовал и через 1B7D, как описано в ZX/Ревю 94/2, но тот же Juk> глюк. Посмотри любой мой загрузчик. http://zxaaa.untergrund.net/RIP.html Там в защите богато на тему перехода в бейсике между строками, операторами и по RETURN. Hапример, выполнение бейсика после REM Все достигается путем подмены системных переменных и адреса в RETURN стеке.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Основы SWAP'А - информация для начинающих, а также несколько хитрых извратов, которые можно провернуть с почтой.
Реклама - Продается усилитель "Электроника-10".
Demo Party - репортаж с Минского демопати Millennium'2000.
Их нравы - бабка стриптизерша.
Графика - картинка АNSI графики.

В этот день...   8 мая