RENG.RU

RE/System Programming
Текущее время: 16 дек 2017, 03:04

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: реализация forth с нуля на asm
СообщениеДобавлено: 07 окт 2007, 21:07 
Не в сети

Зарегистрирован: 01 авг 2002, 23:30
Сообщения: 274
Откуда: моськва
на удивление толковая статья - на пальцах объясняетца как работают стековые машины, без излишнего академизма:
http://www.annexia.org/_file/jonesforth.s.txt
точнее это даже не статья - а комменты в asm сорце для gas/linux-86
трэш и угар, я хожу вторую неделю на голову ушибленный после прочтения :shock:

Кстати, никто не видел аналогичное описание для lisp run-time ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 окт 2007, 02:07 
Не в сети

Зарегистрирован: 02 авг 2002, 06:18
Сообщения: 93
Я смотрю в данной поделке реализована поддержка только знаковых форточных типов. Неужто для повседневных задач хватает?

а _NUMBER/atoi() кстати жопно реализована. сначала надо проверять следующий символ на валидность, а уж потом множить на основание, иначе в результате получим уету
Код:
  // OK, so add it to %eax and loop.
  imull %edx,%eax  // %eax *= BASE
  add %ebx,%eax
  dec %ecx
  jnz 1b

Но тут их, кучерявых, конешно спасает собственный формат хранения лексем с известной длиной.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 окт 2007, 17:48 
Не в сети

Зарегистрирован: 01 авг 2002, 23:30
Сообщения: 274
Откуда: моськва
intuit писал(а):
Я смотрю в данной поделке реализована поддержка только знаковых форточных типов. Неужто для повседневных задач хватает?

дык это пример самой простой и понятной реализации с нуля. Есс-но в production оно скорее всего мало применимо (там и размеры стеков тоже жестко заданы)
Никто не мешает тебе завести собственные слова для обработки unsigned, если чо


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

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


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

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


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

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB