Вход

Просмотр полной версии : Посоветуйте хороший ассемблер



Vonavi
10.07.2013, 20:43
Добрый день!

Недавно начал программировать на ассемблере zeus. Не особо удачно, так как или ассемблер тупит, или я (что вполне неисключено), но суть в том, что работает коряво.
Я как-то видел на форуме был опрос: кто, каким пользуется, но по началу не обратил внимания, а сейчас не могу найти.
Может кто подскажет хороший ассемблер (желательно с инструкцией), но с расчётом на то, что он будет применяться и на эмуле, и на реальном спектруме 48к (надеюсь скоро будет 128:)...).
Заранее спасибо.

goodboy
10.07.2013, 20:52
для 128+trdos alasm,tasm,storm,xas
для 48 остаётся gens

под win для zx sjasm

John North
10.07.2013, 22:14
под 48 zeus, кстати, лучший..
может у тс версия кривая?

Hacker VBI
10.07.2013, 22:33
Посмотри на эти старые добрые:
TASM_412.ZIP (http://vtrdos.ru/system/TASM_412.ZIP)
ALASM444.ZIP (http://vtrdos.ru/system/ALASM444.ZIP)

все они здесь: vtrdos.ru/system (http://vtrdos.ru/system.php)

psb
10.07.2013, 22:54
под 48 zeus, кстати, лучший..
почему? он неперемещабелен.

John North
10.07.2013, 23:00
psb, на фоне генс-ов и прочих едиторов48- он лучший..

psb
10.07.2013, 23:37
а, просто лучший... ну понятно...

jerri
10.07.2013, 23:37
John North, каково размера программу можно собрать в зеусе?

introspec
10.07.2013, 23:40
John North, каково размера программу можно собрать в зеусе?
Любого. Просто придётся собирать по кусочкам.

Если серьёзнее, ничего лучше для начинающих под 48к нет.

psb
10.07.2013, 23:54
Любого. Просто придётся собирать по кусочкам.
а бейсик еще проще, он сразу готов к работе, озу занимает мало, можно напокать что хошь, просто придется самому коды писать и адреса считать...

introspec
10.07.2013, 23:58
а бейсик еще проще, он сразу готов к работе, озу занимает мало, можно напокать что хошь, просто придется самому коды писать и адреса считать...
Какое-то неконструктивное замечание. Какой смысл обсуждать очевидные недостатки объективно лучшего ассемблера для 48к машин, если у человека только 48к машина и есть? Конечно, будет тесно. Конечно, целиком серьёзную программу так не соберёшь. Но альтернативы-то какие, если человек хочет на реале именно?

Или задача отговорить человека от реала, раз такой реал?

jerri
11.07.2013, 00:17
introspec, у генса самый большой его плюс - сборка с подгрузкой

introspec
11.07.2013, 00:22
introspec, у генса самый большой его плюс - сборка с подгрузкой
Можно я не буду перечислять минусы? прямо начиная с редактора и прочего интерфейса? Человек вроде сказал, что хочет учиться. Вот по-моему, нет более быстрого способа задушить в человеке такое желание, чем посадить его на генс. Допускаю что я неправ. Но серьёзно, на чём все мы начинали? на генсе? или всё же на чём-то чуть более комфортабельном?

Точно из тех же соображений, я удивлён что для 128к машины никто не вспомнил ZX-ASM 3. А ведь, м.п., очень продуманный по интерфейсу ассемблер, как раз самое то для начинающего программиста.

psb
11.07.2013, 00:24
Но серьёзно, на чём все мы начинали? на генсе?
я начинал на генсе ПОСЛЕ зеуса! генс мне почему-то больше впер. хз какие такие плюсы у зеуса (думаю, уже лет 20 его не видел).

introspec
11.07.2013, 00:27
хз какие такие плюсы у зеуса.
Сравнительно адекватный редактор. Компактный формат исходного текста (токены). Других плюсов нет. Перемещаемость ассемблера не так напрягает, т.к. есть компиляция со сдвигом. Больше сам ничего не помню.

BYTEMAN
11.07.2013, 00:57
Точно из тех же соображений, я удивлён что для 128к машины никто не вспомнил ZX-ASM 3. А ведь, м.п., очень продуманный по интерфейсу ассемблер, как раз самое то для начинающего программиста.
штука классная, сам на нём до сих пор кодю :)

research
11.07.2013, 01:22
gens великолепен, но стар
xas9.07 под 512 память - шедерален. после сброса и перезависона висит в ОЗУ, и исходники живы.
storm тоже ништяк

Дмитрий
11.07.2013, 08:33
никто не вспомнил ZX-ASM 3
По поводу zxasm, то скажу следующее: ни один асм не смог меня переманить в свои пользователи, пользовался только zxasm-ом. Причем сначала 3.0, затем когда появилась версия 3.x - пользовался ею, т.к. у нее буфер поболее был и большие проекты позволял компилировать. Затем появился 3.10 со своими оверлеями, там вообще шик и блеск, но памяти жрал больше, хотя в то время у меня уже был П512, так что хватало вполне. Пользовался им и как асмом и как текстовым редактором - авторам мегареспект!

jerri
11.07.2013, 09:03
А я ZASM поменял на Alasm когда при компиляции Walkerа кончилась память под метки

Дмитрий
11.07.2013, 09:09
кончилась память под метки
поэтому я перешел на 3.Х

Vonavi
11.07.2013, 10:11
Посмотри на эти старые добрые:
TASM_412.ZIP (http://vtrdos.ru/system/TASM_412.ZIP)
ALASM444.ZIP (http://vtrdos.ru/system/ALASM444.ZIP)

все они здесь: vtrdos.ru/system (http://vtrdos.ru/system.php)
Hacker VBI, да, был на этом сайте изначально, мне даже один человек посоветовал alasm, но проблема в том, что эмуль не поддерживает формат trd (и следовательно не знаю как запустить на реале) поэтому, те кто знают, подскажите, где найти alasm, gens, и остальные ассемблеры в формате tzx/tap.
Заранее спасибо.

Дмитрий
11.07.2013, 10:15
alasm
аласм в тапке ты не найдешь, он расчитан на TR-DOS. Gens и ему подобные в tap, думаю, можно найти на WOS (http://www.worldofspectrum.org/)

Vonavi
11.07.2013, 10:36
а бейсик еще проще, он сразу готов к работе, озу занимает мало, можно напокать что хошь, просто придется самому коды писать и адреса считать...
psb, согласен на бейсике в машинных кодах программировать лучше, но пока что рано:).

---------- Post added at 09:36 ---------- Previous post was at 09:27 ----------

В принципе zeus - не плохой асм, но ещё раз повторюсь - мы с ним не согласуемся :(, хотя я бы и на нём покодил.

Buyan
11.07.2013, 10:38
Для меня в юности ZEUS тоже был №1. Видимо только потому, что у него была самая вменяемая дисковая версия (автор Сергей Ханцис) из всего, что мне в то время удалось найти, ибо с доставанием софта в глубинках было не очень. Та версия поддерживала прямую компиляцию на диск и инклюды насколько я помню. И с ним еще конвертер шел из формата GENS'а, я MONS'ом дизасмил процедуры из чужих программ, и потом редактировал их ZEUS'ом уже.

Дмитрий
11.07.2013, 10:39
мы с ним не согласуемся
"Если ничто другое не помогает, прочтите, наконец, инструкцию!", Закон Мерфи.

Vonavi
11.07.2013, 10:50
аласм в тапке ты не найдешь, он расчитан на TR-DOS. Gens и ему подобные в tap, думаю, можно найти на WOS (http://www.worldofspectrum.org/)

Попробовал найти gens - не получилось :(

---------- Post added at 09:50 ---------- Previous post was at 09:43 ----------


"Если ничто другое не помогает, прочтите, наконец, инструкцию!", Закон Мерфи.

:) Хороший совет :), но к сожалению я её уже читал, а не проблемы:
1. При выходе в бейсик и заходе обратно "перетусовывается" код (в мелких прогах - нет, а побольше начинается).
2. Не могу понять почему не выполняет программу, которая написана в книжке (переход в цикле на несколько байт назад не осуществляется, только с помощью меток).
Ну и т.п.

Дмитрий
11.07.2013, 10:55
переход в цикле на несколько байт назад не осуществляется,
посмотри в дизасме на результат компилирования... попробуй сменить версию, может глючная попалась.

---------- Post added at 09:54 ---------- Previous post was at 09:52 ----------


Попробовал найти gens - не получилось
Иногда в гугле проще найти - http://www.worldofspectrum.org/infoseekid.cgi?id=0008091

---------- Post added at 09:55 ---------- Previous post was at 09:54 ----------

ZEUS - http://www.worldofspectrum.org/infoseekid.cgi?id=0009010

goodboy
11.07.2013, 11:01
почитал мануал - действительно свободной памяти под 48к мало.
для корректной работы важно знать где размещается сам ассемблер,где хранится текст программы и где размещается стек
как я понял SP=32768, а с 32768 начинается текст программы (адрес размещения можно изменить), сам ассемблер находится в диапозоне 57344-65279,а память под метки опускается подобно стеку с 57343
вполне вероятно что ассемблер не понимает работу с половинками индексных регистров.
хреново что встроенный монитор без дизассемблера.

вполне вероятно что топикстартёр хочет почувствовать себя программистом 82ого года
поэтому про всякие отладчики в современных эмулях ничего не рассказываю

Vonavi
11.07.2013, 11:14
Иногда в гугле проще найти - http://www.worldofspectrum.org/infoseekid.cgi?id=0008091


Попробовал запустить разные версии на двух эмуляторах - не загружается (такое в первый раз) :(

---------- Post added at 10:14 ---------- Previous post was at 10:10 ----------


почитал мануал - действительно свободной памяти под 48к мало.
для корректной работы важно знать где размещается сам ассемблер,где хранится текст программы и где размещается стек (как я понял SP=32768, а с 32768 начинается текст программы)
вполне вероятно что ассемблер не понимает работу с половинками индексных регистров.
32768 - как я понял, это рабочее место. Текст программы выбирается пользователем с директивы ORG

Дмитрий
11.07.2013, 11:33
с директивы ORG
Это размещение скомпилированной программы в памяти.

goodboy
11.07.2013, 11:38
32768 - как я понял, это рабочее место. Текст программы выбирается пользователем с директивы ORG

с 32768 хранится текст набранной программы, а директивой org определяется адрес где будет размещаться (и запускаться) исполняемый код

scl^mc
11.07.2013, 11:41
edas (http://vtrdos.ru/system/EDAS33.ZIP) же

daniel
11.07.2013, 12:01
а может рассмотрим что не получается? И опять в ZEUS.

Дмитрий
11.07.2013, 12:19
какой эмуль используется? возьми US, он с отладчиком, в нем можно брекпоинты ставить, либо тупо по DI:HALT тормозить программу :) Там уже посмотришь что ты не так сделал/понял.

Таким образом можешь в зеусе (да что там зеус, абсолютно в любом) скомпилировать программу, а в отладчике посмотреть на результат.

Vonavi
11.07.2013, 13:33
какой эмуль используется? возьми US, он с отладчиком, в нем можно брекпоинты ставить, либо тупо по DI:HALT тормозить программу :) Там уже посмотришь что ты не так сделал/понял.


US - Unreal speccy? Если да - то я на нём (не знаю как:)) что-то сделал, что потом чуть ОСка не полетела, а мои эмули - это z80s и winz80 (платный).

---------- Post added at 12:33 ---------- Previous post was at 12:25 ----------

Не подскажите gens3 можно же на 48к запустить?

Дмитрий
11.07.2013, 13:35
Vonavi, ну у тебя есть еще выбор - Spectaculator, ZXMAK2, RealSpeccy и многие-многие другие... Правда не во всех есть отладчик.

jerri
11.07.2013, 13:53
поэтому я перешел на 3.Х

какой год выпуска версии 3.х?

---------- Post added at 13:49 ---------- Previous post was at 13:38 ----------


US - Unreal speccy? Если да - то я на нём (не знаю как:)) что-то сделал, что потом чуть ОСка не полетела, а мои эмули - это z80s и winz80 (платный).


исключено :)
просто совпало
возьми последнюю версию и не мучайся


Не подскажите gens3 можно же на 48к запустить?

да можно
но я рекомендую версию 4 - она грузится под любой адрес


если у тебя есть PC то установи akelpad (или любой редактор по твоему выбору) + sjasm + unreal (или любой эмулятор по твоему выбору) и спокойно пиши под спек - удобнее и проще

---------- Post added at 13:53 ---------- Previous post was at 13:49 ----------


edas (http://vtrdos.ru/system/EDAS33.ZIP) же

Инструкция где?
Изза таких вот "программ" мы потеряли немало перспективных кодеров

Дмитрий
11.07.2013, 14:03
какой год выпуска версии 3.х?
Не помню уже, но могу порыться в дисках и поискать, если надо

Vonavi
11.07.2013, 14:13
Попробовал разобраться в gens3 - однако... Посложнее ZEUSа будет.


если у тебя есть PC то установи akelpad (или любой редактор по твоему выбору) + sjasm + unreal (или любой эмулятор по твоему выбору) и спокойно пиши под спек - удобнее и проще

Так сейчас я пытаюсь кодить на PC, так как нет под рукой реала, а как появится, перейду на него (так угарнее:)), главное чтобы в "битую" память не встал.

---------- Post added at 13:13 ---------- Previous post was at 13:11 ----------


Vonavi, ну у тебя есть еще выбор - Spectaculator, ZXMAK2, RealSpeccy и многие-многие другие... Правда не во всех есть отладчик.

Да уже запарился эти эмули искать :), да и те которыми пользуюсь тоже пока устраивают.

scl^mc
11.07.2013, 14:15
Инструкция где?
описание сего ассемблера было, емнип, в одном из номеров spectrophoby

Дмитрий
11.07.2013, 14:38
какой год выпуска версии 3.х?
Не нашел нигде год ее выпуска. По памяти - ориентировочно 97-98.

Hacker VBI
11.07.2013, 14:57
Vonavi, если под емулем, тогда sjasm+. ищи здесь на форуме.
а дальше:

device zxspectrum48
ORG #7000
start:
; далее
; твой
; код

savesna "code.sna" ,start

сохрани в файле code.asm
а потом в консоли: sjasmplus.exe code.asm

и запускай сна

Дмитрий
11.07.2013, 15:46
Hacker VBI, я так понял, что человека прет именно на спековском ассме писать, именно на спеке48.

Vonavi
11.07.2013, 15:49
Hacker VBI, я так понял, что человека прет именно на спековском ассме писать, именно на спеке48.

Не совсем так:), просто пока в 128 не переделал, а сейчас скучно:).

Hacker VBI
11.07.2013, 16:04
Дмитрий, ок.
тогда нужно убрать первую и последнюю строчки :)

jerri
11.07.2013, 16:50
Не помню уже, но могу порыться в дисках и поискать, если надо

в 1995 году я пересел на Аласм

До него у меня был ZXasm 3.0 и он имел ряд глюков вот тут написано
http://ivr.webzone.ru/articles/zasm_inf/index.htm

Ну и самое главное под метки было отведено ужасающе мало места
не было конструкции DUP:EDUP и много других мелочей

Дмитрий
11.07.2013, 17:00
jerri, я бы может тоже пересел на аласм, но мне категорически не нравился его редактор, а описание самого аласма вечно терялось и до конечного пользователя не доходило, поэтому многие вещи я не мог понять в нем, а прочитать не где, а все вокруг кодили в zxasm.
А засм прост как палка, тем не менее наличие некоторых глюков, особенно, если о них знаешь - просто смазывались на фоне юзабилити.
Точно сказать в каком году я пересел на 3.х не могу сказать, но в 98м году я на нем уже доделывал SPF 2.01, а последующие проги уже в 3.1/3.10.
Опять же всевозможные DUP/EDUP использовались в большинстве своем в демокодинге, чуть меньше в игрушках, а в системных прогах я в них нужды не имел.
До сих пор мне не все понятно в ALASM, а найти описание той или иной фичи не выходит. Где можно найти на него нормальную инструкцию?

jerri
11.07.2013, 17:08
описание сего ассемблера было, емнип, в одном из номеров spectrophoby

класс :) вот есть scl с ассемблером где нет вообще ничего ни хелпов ни списка кнопок. я не удивлен что Alasm широко известен в отличие от :)

---------- Post added at 17:07 ---------- Previous post was at 17:01 ----------


jerri, я бы может тоже пересел на аласм, но мне категорически не нравился его редактор, а описание самого аласма вечно терялось и до конечного пользователя не доходило, поэтому многие вещи я не мог понять в нем, а прочитать не где, а все вокруг кодили в zxasm.
А засм прост как палка, тем не менее наличие некоторых глюков, особенно, если о них знаешь - просто смазывались на фоне юзабилити.
Точно сказать в каком году я пересел на 3.х не могу сказать, но в 98м году я на нем уже доделывал SPF 2.01, а последующие проги уже в 3.1/3.10.
Опять же всевозможные DUP/EDUP использовались в большинстве своем в демокодинге, чуть меньше в игрушках, а в системных прогах я в них нужды не имел.

Я не видел дистрибутива аласма без текста с описаловом. Так же как и zxasm.

В системных да не используются а насчет игр ты не прав :)
бери любую вменяемую и смотри.

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

Но тут конечно у каждого свои заморочки

---------- Post added at 17:08 ---------- Previous post was at 17:07 ----------



До сих пор мне не все понятно в ALASM, а найти описание той или иной фичи не выходит. Где можно найти на него нормальную инструкцию?

Help файл же прилагается

Дмитрий
11.07.2013, 17:16
Help файл же прилагается
угу, скачал старую версию с vtrdos, нашел... а у Алония такого файла нету.


Я не видел дистрибутива аласма без текста с описаловом.
У нас дистрибутивы штамповал местный ALOS, видимо для большего набивания дисков он их и прибивал :)

---------- Post added at 16:16 ---------- Previous post was at 16:13 ----------


а насчет игр ты не прав
я ж не говорил, что не используется!!! Читай внимательнее ;)

klingon
11.07.2013, 19:14
Как в Zeus выйти из монитора?
А то это было препятствием к его использованию в свое время.

goodboy
11.07.2013, 19:23
Как в Zeus выйти из монитора?
А то это было препятствием к его использованию в свое время.
Monitor/Zeus

daniel
12.07.2013, 06:46
Попробуйте вот этот
http://vtrdos.ru/system/ZEUS2_2.ZIP
адаптирован под трдос
M - вход в монитор (высветится хелп по клавишам)
Z - возврат в Zeus
из монитора доступны опции сохранения сассемблированного кода и запуска, сохранение/загрузка/Merge исходников, просмотр каталога.
вот распределение памяти сейчас уже не вспомню, по идее всё как в классическом Zeus.

Faster
12.07.2013, 11:47
угу, скачал старую версию с vtrdos, нашел... а у Алония такого файла нету.
Ну как это нету? Вот, линк на последнюю редакцию Alasm 5.09 (http://alonecoder.nedopc.com/zx/ALASM509FIX.rar). Файл al50help.H - полноценный хелп с описанием всех фишек.

Дмитрий
12.07.2013, 12:02
Файл al50help.H - полноценный хелп с описанием всех фишек.
угу, нашел :) ... он бы его еще скомпилировал, для HSearch хэлп в текстовом файле, для STS тоже, а аласм в исходнике аласма... среди 100500 других файлов *.H поди найди.

BYTEMAN
12.07.2013, 12:14
он бы его еще скомпилировал, для HSearch хэлп в текстовом файле, для STS тоже, а аласм в исходнике аласма...
это очень похоже на то, как я когда-то Stuffit для мака качал... Скачиваю дистриб StiffIt'а, а он оказывается сам запакован StiffIt'ом....

Blade
12.07.2013, 12:33
угу, нашел :) ... он бы его еще скомпилировал, для HSearch хэлп в текстовом файле, для STS тоже, а аласм в исходнике аласма...
Ну логика в этом есть. Можно хелп в самом аласме читать, а не грузить читалку, чтобы посмотреть что-нибудь.

Дмитрий
12.07.2013, 13:16
Ну логика в этом есть. Можно хелп в самом аласме читать, а не грузить читалку, чтобы посмотреть что-нибудь.
в то время, может быть и была логика, когда только на реале все делалось и по-быстренькому надо загрузить хелп - делаем это в том же ассме... но сейчас - нет... у меня текстовый вьювер этот файл нечитабельно отображает. Хотя в 4.44 от Capry хэлп в текстовом файле и все ОК читается.

Blade
12.07.2013, 13:35
В ALASMе его можно постоянно в памяти держать. Возник вопрос - SS+ENTER, посмотрел хелп и обратно к исходнику. А если делать не на реале, то там и аласм не особо нужен.

Дмитрий
12.07.2013, 13:54
А если делать не на реале, то там и аласм не особо нужен.
Это уже вопрос к ТС.

Дмитрий
12.07.2013, 14:47
Я не видел дистрибутива аласма без текста с описаловом.
Вот для примера каталог одного из дисков, на подобие которых я получал с аласмом в свое время, найди хэлп ;)

SoftLight
12.07.2013, 15:31
Чего это за софтина на скриншоте?

Faster
12.07.2013, 15:41
Чего это за софтина на скриншоте?
Предполагаю Total Commander c плагином :)

jerri
12.07.2013, 17:03
Вот для примера каталог одного из дисков, на подобие которых я получал с аласмом в свое время, найди хэлп ;)

судя по названию файла это рабочий диск Алония - никак не дистрибутив

Vonavi
12.07.2013, 17:41
Товарищи, и всё-таки мне бы хотелось скромно попросить вас на некоторое время вернуться в самое начало: в этой теме прозвучало много не плохих советов, и я решил попробовать GENS3/4 (если есть сильная разница, то напишите, пожалуйста). Собственно что я хотел попросить: напишите краткую и понятную инструкцию (для не совсем лоха, но рядом:)) по его/их использованию.

psb
12.07.2013, 17:56
Собственно что я хотел попросить: напишите краткую и понятную инструкцию (для не совсем лоха, но рядом) по его/их использованию.
http://vtrdos.ru/book/ZXSPECTR.ZIP

Vonavi
12.07.2013, 18:15
psb,спасибо, ничего пока не скажу, но это литература и вроде как не плохая.

Rindex
12.07.2013, 19:12
Собственно что я хотел попросить: напишите краткую и понятную инструкцию (для не совсем лоха, но рядом) по его/их использованию.

http://zxpress.ru/book.php?id=19

В PDF, и можно так почитать. Разделы читабельны.

Vonavi
12.07.2013, 22:40
Rindex, спасибо, но это я уже смотрел и с первого раза не вкурил. В принципе с ZEUSом было тоже не легко...

Vonavi
13.07.2013, 18:43
Не подскажите почему при ассемблировании данного кода выводится ошибка в первой строке?(GENS4)

ORG #AAAA
ENT
LD A,77
LD (30000),A
RET
P.S. Я пытался в разных системах счисления, но результат примерно один:(

jerri
13.07.2013, 18:46
Vonavi, ошибка то какая?

Vonavi
13.07.2013, 19:05
А так по коду ничего сказать нельзя?

goodboy
13.07.2013, 19:08
Не подскажите почему при ассемблировании данного кода выводится ошибка в первой строке?(GENS4)
ассемблер принимает org за название метки,а это недопустимо.
надо набивать хотя-бы два пробела после номера строки

Vonavi
13.07.2013, 19:12
Да, *ERROR* 7 — метка является зарезервированным словом
goodboy, то есть когда вводишь I (автом. нумеровка), то надо ещё и пробелы ставить?

goodboy
13.07.2013, 19:19
Да, *ERROR* 7 — метка является зарезервированным словом
goodboy, то есть когда вводишь I (автом. нумеровка), то надо ещё и пробелы ставить? лучше после номера строки применять табуляцию (c/s+8 или курсор вправо) курсор сразу проскочит на нужную позицию.

на картинке первый набор строки неправильный, второй правильный

EARL
13.07.2013, 21:12
Дабы не плодить тем, спрошу здесь.
1. Если я не ошибаюсь, то в природе существует alasm с количеством символов в строке 42, а не 64, но мне такой не попадался. Рад был бы ссылочке в случае, если такая версия существует.:)
2. Есть ли какие-нибудь ассемблеры под PC для Z80, которые поддерживают работу с библиотеками/объектными файлами и компиляцией всего в bin, sna, trd и т.п.?

jerri
13.07.2013, 21:17
EARL,
1 есть http://www.worldofspectrum.org/infoseekid.cgi?id=0021291 на диске al42_444
2 оригинальный от zylog поддерживает обьектные файлы
sjasm понимает sna trd

Vonavi
13.07.2013, 22:17
goodboy, вроде как помогло, но появилась другая ошибка, если не сложно, наберите работающую программу по этому простейшему коду в виде прошлой миниатюры.
То что у меня:
42422

goodboy
13.07.2013, 22:21
а что значит ENT в 20ой строке ???
кроме того ты этой программой скорее всего испортишь сам ассемблер. (если его кодовый блок начинается с 26000)
.............................
пришлось вспоминать про связку `ENT $` и `Run`

Black Cat / Era CG
13.07.2013, 22:34
После ENT в Gens надо еще $. Это точка входа для Run, $ - текущий адрес. То есть строка будет ENT $.
Читай тут http://zxpress.ru/book_articles.php?id=1025 и главой раньше.

Vonavi
14.07.2013, 10:05
Black Cat / Era CG, спасибо, получилось, я раньше $ тоже писал, но видимо из-за табуляции не работало.

Black Cat / Era CG
14.07.2013, 11:31
почему не рисуется линия?
а с чего она рисоваться должна???

Vonavi
14.07.2013, 11:32
Да я дурак:)

Vonavi
14.07.2013, 11:36
А вот теперь? Рисуется одна точка...
42426

jerri
14.07.2013, 11:50
Vonavi, в подпрограмме #22е5 с регистрами явно происходят какие то изменения и BC при возврате из подпрограммы явно имеет уже не те значения что при входе

должно быть вот так:

loop push bc
call #22e5
pop bc
inc c
djnz loop
ret

Vonavi
14.07.2013, 19:17
jerri, спасибо, получилось, но я что-то не могу понять КАК?

---------- Post added at 18:17 ---------- Previous post was at 18:11 ----------

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

goodboy
14.07.2013, 19:43
как заполнить точками весь экран?
постарайся понять такой пример

LD HL,#57FF
LD DE,#57FE
LD BC,#17FF
LD (HL),L
LDDR

Vonavi
15.07.2013, 04:47
постарайся понять такой пример

LD HL,#57FF
LD DE,#57FE
LD BC,#17FF
LD (HL),L
LDDR

Я постарался, не получилось, если не трудно напишите ВСЮ программу и, желательно, с комментариями.

goodboy
15.07.2013, 09:04
Я постарался, не получилось???
почитай про принцип работы команд LDIR/LDDR (стр.96/97) http://vtrdos.ru/book/PROGRASM.ZIP

Дмитрий
15.07.2013, 09:41
Vonavi, если тебе нужно только залить экран, то см. что советует goodboy. Если хочешь разобраться с процедурами вывода точек, то в регистрах B и C указываются координаты, после этого вызывается п/п по адресу #22e5.
Еще пример использования этой п/п есть тут: http://zxpress.ru/article.php?id=1018

Vonavi
15.07.2013, 12:37
Всё goodboy, Дмитрий, большое спасибо, получилось!:) Как ни странно, но с этой (http://vtrdos.ru/book/PROGRASM.ZIP) книжки я и начал, видимо до LDDR и т.п. ещё не дошёл. Просто я увидел в этой (http://zxpress.ru/book_articles.php?id=740) книжке и подумал, что будет достаточно знать
в регистрах B и C указываются координаты, после этого вызывается п/п по адресу #22e5. Но этого было мало:(. Ладно, буду дальше курить мануалы:confused:.

Vonavi
16.07.2013, 19:53
goodboy, а в последней программе, которую Вы на писали, заливается сразу весь экран или по одной точке, в цикле?

goodboy
16.07.2013, 21:22
goodboy, а в последней программе, которую Вы на писали, заливается сразу весь экран или по одной точке, в цикле? в цикле (по 8точек за-раз). команды ldir/lddr исполняются пока значение в BC не станет нулём.

alone
15.10.2013, 17:51
Добавил в STS поддержку памяти ATM Turbo 2 для отладки соответствующих проектов: http://alonecoder.nedopc.com/zx/ALASM509_STS75.rar