Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 23:46

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 536 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 36  След.
Автор Сообщение
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср июн 28, 2017 11:03 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
_KROL писал(а):
Не подскажете ли, как лучше сделать форт-ассемблер? А то я пока не понял, как группировать слова.
Что ты имеешь ввиду под "группировать слова" ?
Не ясны шаблоны форматов команд в соответствии с которыми сгруппировать команды ? Тогда берем вот эту суперскую олдовую книгу
Код:
http://publ.lib.ru/ARCHIVES/K/KAZARINOV_Yuriy_Mihaylovich/Kazarinov_Yu.M..._Mikroprocessornyy_komplekt_K1810.(1990).[djv-fax].zip
и в главах 2.1 - 2.3 шаблоны по которым кодируется базовая система команд 8088/8086 расписаны и их немного. А в других источниках типично вопрос излагается в виде сборной солянки из команд в алфавитном порядке без какого-либо кассирования по группам с общими форматами.



За это сообщение автора Ethereal поблагодарил: _KROL
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср июн 28, 2017 13:57 
gudleifr писал(а):
Зайти на Форт-форум...

По просьбам трудящихся.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср июн 28, 2017 16:46 
Не в сети

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 128
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Ethereal писал(а):
_KROL писал(а):
Не подскажете ли, как лучше сделать форт-ассемблер? А то я пока не понял, как группировать слова.
Что ты имеешь ввиду под "группировать слова" ?
Не ясны шаблоны форматов команд в соответствии с которыми сгруппировать команды ? Тогда берем вот эту суперскую олдовую книгу
Код:
http://publ.lib.ru/ARCHIVES/K/KAZARINOV_Yuriy_Mihaylovich/Kazarinov_Yu.M..._Mikroprocessornyy_komplekt_K1810.(1990).[djv-fax].zip
и в главах 2.1 - 2.3 шаблоны по которым кодируется базовая система команд 8088/8086 расписаны и их немного. А в других источниках типично вопрос излагается в виде сборной солянки из команд в алфавитном порядке без какого-либо кассирования по группам с общими форматами.

У меня валяется где то "пиратский" диск по асму с кучей документации, могу ссылку дать в личку... Хищник тут запрещает...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср июн 28, 2017 17:00 
F-MAP писал(а):
...

А зачем, если можно посмотреть на FORTH-форуме? Да и спросить, если что непонятно...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср июн 28, 2017 18:40 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Я же писал:
Цитата:
Упс, одна ошибочка вышла, ибо этот момент я позже доработаю(что делает (DOES>) почему-то вообще забыл 8|)...
Это в : VARIABLE и CONSTANT забыл 2- в конце, поэтому не туда компилирует и...

FWORDI COLON,":"
dw CREATE,LIT,FCALL,HERE@,SWAP,OVER,_SUB,SWAP,_2DEC,!,CMODE
FEND

Функции DOS пытался использовать, но получается какая-то фигня...

На радость вам убрал всё, что связано с FENCE(и её саму). Действительно это проще получается. Так что с N@/! потом поэксперементрирую. CREATE/VARIABLE/CONSTANT работают как обычно.


Вложения:
Комментарий к файлу: F0100 + мои сегодняшние зачатки ассемблера[3.txt](книгу правда ещё не смотрел...)
F0100_A.ZIP [25.36 Кб]
Скачиваний: 472
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср июн 28, 2017 18:55 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Код:
http://publ.lib.ru/ARCHIVES/K/KAZARINOV_Yuriy_Mihaylovich/Kazarinov_Yu.M..._Mikroprocessornyy_komplekt_K1810.(1990).[djv-fax].zip
- очень крутая книга, спасибо! Особенно страница 49 понравилась на данный момент ;)

Я про "cпециализированный процессор ввода-вывода К1810ВМ89" вообще не слышал!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср июн 28, 2017 23:44 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Люди, почему стек растёт, подскажите! DROP в THROW оказался действительно лишним, а что с остальным???
Код:
; Локальные исключения
FWORD CATCH,"CATCH" ; ( S: addr )
dw SP@,XHND,@,SWAP,TO_R,TO_R,\ ; ( S: addr | R: SP XHND1 )  Даже SP@ переставил...
    RP@,XHND,!,EXECUTE,\ ; ( S: addr | XHND=RP | R: SP XHND1 {next} )
    FROM_R,XHND,!,RDROP,ZERO ; ( S: 0 | XHND=XHND1 | R: )
FEND

FWORD THROW,"THROW" ; ( S: n | R: ? [ret] )
dw ?DUP,?EXIT,\
    XHND,@,RP!,\ ; ( S: n | R: SP XHND1 )
    FROM_R,FROM_R,XHND,!,\ ; ( S: n SP | R: | XHND=XHND1 )
    SWAP,TO_R,\  ; ( S: SP | R: b )
    SP!,FROM_R   ; ( S: n )
FEND

Screen:
Код:
I>: SP? CR SP@ U. ;
I>: a ?DUP ?EXIT THROW ;
I>: b LIT [COMPILE] a CATCH ?DUP ?EXIT CR . SP? ;
I>0 b
I>0 b
I>1 b
1
0
I>1 b
1
FFFC
I>1 b
1
FFFC
I>1 b
1
FFF8
I>1 b
1
FFF8
I>1 b
1
FFF4
I>

Начальный вариант:
: a NOP ?DUP NOP ?EXIT THROW ;
: b LIT [COMPILE] a CATCH ?DUP ?EXIT . ;
---
Кстати, этот тест работает: :D
Код:
: RECURSE LAST @ COUNTSZ + 2+ , ; IMMEDIATE
: a ?DUP ?EXIT DUP CR U. 1- RECURSE ;
A a

и этот(для тех, кто не смотрел последнюю версию)
Код:
: WORDS 0 LAST @ BEGIN COUNTSZ DDUP BL EMIT TYPE + @ SWAP 1+ SWAP DUP UNTIL DROP CR CR BASE @ SWAP DECIMAL U. BASE ! ;
WORDS
CREATE ARRAY 100 ALLOT ARRAY 100 ERASE
WORDS


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Чт июн 29, 2017 00:01 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
F-MAP писал(а):
gudleifr писал(а):
F-MAP писал(а):
...

Вам "шашечки" или ехать?

Приношу извинения, немного не в духе был..


Можно просто представлять, что gudleifr находится здесь в группе "клоуны".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Чт июн 29, 2017 00:02 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
F-MAP писал(а):
У меня валяется где то "пиратский" диск по асму с кучей документации, могу ссылку дать в личку... Хищник тут запрещает...

Мы тут должны все делать так, чтобы не было претензий со стороны хостера. Если информация более не подлежит защите за давностью, можно ее дать. В виде цитаты тоже можно опубликовать. Вобщем, все в соответствии с официальным законодательством.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Чт июн 29, 2017 00:11 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
_KROL писал(а):
Не подскажете ли, как лучше сделать форт-ассемблер? А то я пока не понял, как группировать слова.

В книге Баранова и Ноздрунова был очень хороший пример для процессора 580ВМ80. Однако особенность его ассемблера в том, что каждому сочетанию операндов соответствует своя мнемоника. Например, MOV - это только пересылки "регистр-регистр", а для загрузки литерала используется команда MVI (MoV Indirect). Так же и с другими командами. Конечно, это сильно упрощает разработку форт-ассемблера. Поскольку в x86 MOV может работать с разными сочетаниями операндов, подход, описанный у Баранова, в чистом виде не сработает. Например, если написать AX, 2 MOV (тут MOV должен снять со стека два числа и на их основе создать команду пересылки), то будет непонятно, что означает двойка - литерал или номер регистра. И эту задачу нужно каким-то способом решить. Например, класть на стек кроме номера регистра еще и признак (регистр, адрес, литерал...). Тогда команде MOV придется проверять возможные сочетания типов операндов и выбирать один из вариантов. В качестве альтернативы можно завести специальные переменные, в которых будут храниться типы операндов текущей команды - тогда на стеке не будет слишком много чисел.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Чт июн 29, 2017 00:21 
Hishnik писал(а):
...

Да, мы видим "на что готова самка бурундучка, защищая свое потомство".

А теперь (еще раз) посмотрим правильный ответ (на FORTH-форуме) - http://gudleifr.forum2x2.ru/t29-topic


Последний раз редактировалось gudleifr Чт июн 29, 2017 11:32, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Чт июн 29, 2017 02:12 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
_KROL писал(а):
Люди, почему стек растёт, подскажите! DROP в THROW оказался действительно лишним, а что с остальным???
Стек растет потому, что DROP ни хрена не лишний. А в том варианте, что в твоем последнем архиве F0100.zip нужен вместо DROP даже 2DROP. Короче, что в том, что в другом случае у тебя один недодроп и от того стек при срабатывании THROW и растет.
А почему он у тебя растет рывками через раз по 4, а не каждый раз по 2, тут я что-то недопонял. Может тут срабатывает даже не один баг, а сразу два ?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Чт июн 29, 2017 19:52 
Не в сети

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 128
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Hishnik писал(а):
F-MAP писал(а):
У меня валяется где то "пиратский" диск по асму с кучей документации, могу ссылку дать в личку... Хищник тут запрещает...

Мы тут должны все делать так, чтобы не было претензий со стороны хостера. Если информация более не подлежит защите за давностью, можно ее дать. В виде цитаты тоже можно опубликовать. Вобщем, все в соответствии с официальным законодательством.

https://yadi.sk/d/TOptSSd33KZJGg
Если, что потери ссылку


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пт июн 30, 2017 22:43 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
F-MAP писал(а):
Hishnik писал(а):
F-MAP писал(а):
У меня валяется где то "пиратский" диск по асму с кучей документации, могу ссылку дать в личку... Хищник тут запрещает...

Мы тут должны все делать так, чтобы не было претензий со стороны хостера. Если информация более не подлежит защите за давностью, можно ее дать. В виде цитаты тоже можно опубликовать. Вобщем, все в соответствии с официальным законодательством.

https://yadi.sk/d/TOptSSd33KZJGg
Если, что потери ссылку

А зачем мне это (?) [601,9 МБ]


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: OLD4tH
СообщениеДобавлено: Чт июл 06, 2017 21:30 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Проект OLD4tH [пока система не работает!]
Сообщение будет редактироваться по мере развития проекта.

Итак, я опять взялся за старое, однако не совсем.
Отличия:
1. Самостоятельная система/DOS(можно выбрать опцией target)
2. Сборкой дискеты занимается FASM (только раскоментируйте в конце __toimg__).
3. Прямой шитый код без адресного интерпретатора
Увы... С АИ
4. Свободный функционал(со стадартов, SPF и др.) со всеми комментариями

P.S. Вы также можете тоже участвовать в проекте...(а то я смотрю некоторым скучно, от безысходности идеи создания нового стандарта ;) )
P.P.S. И не забывайте: "Вольному? Воля!" (C) WingLion, из RuF09WE
---
Обновления:
08-09.07.2017 Обновил комментарии, вроде решил "проблемы" с математикой, добавил переводы(C>S,D>S,S>D)...
10-11.07.2017 Сделал циклы и ' на Форте... Понял что лучше всего в начале отлаживать под DOS.
16.07.2017 Совместил 2 проекта, т.к. без АИ мне "сложно"... Также ещё чуть улучшил вид исходников (но система пока ещё не работет, но я надеюсь скоро заработает ;])
29.07.2017 Новая версия на новой странице(стр. 10, внизу)!


Вложения:
OLD40012.ZIP [32.54 Кб]
Скачиваний: 433


Последний раз редактировалось _KROL Сб июл 29, 2017 12:31, всего редактировалось 7 раз(а).
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 536 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 36  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB