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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 139 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Пн авг 19, 2013 22:46 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Нету */MOD и */.
А еще и локалсов нет.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Пн авг 19, 2013 23:14 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
VoidVolker писал(а):
Mihail писал(а):
в r14d нудно записать

А как? Можно пример?
Суффикс d не нужен (наследие 32-разрядности)

Код:
fdef("TlsIndex!",9,0,TlsIndexSet)
   mov   %rax,%r14
   jmp   DROP


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Пн авг 19, 2013 23:18 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Регулярно выдает "Ошибка сегментирования" - как отловить что и где виновато?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 11:58 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Код:
131048 ALLOCATE THROW VALUE m1 m1 @ .
0  Ok
131049 ALLOCATE THROW VALUE m2 m2 @ .
Ошибка сегментирования

Вот такая бяка вылезла: при попытке доступа к выделенной памяти более определенного объема приводит к ошибке доступа.
Mihail писал(а):
Суффикс d не нужен (наследие 32-разрядности)

Код:
fdef("_TOUSER-VALUE-CODE",0x12 ,0 ,_TOUSERsubVALUEsubCODE)
...
      add      %r14d,%ebx
...

А тут? Лишний суффикс?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 12:13 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
VoidVolker писал(а):
Код:
fdef("_TOUSER-VALUE-CODE",0x12 ,0 ,_TOUSERsubVALUEsubCODE)
...
      add      %r14d,%ebx
...

А тут? Лишний суффикс?


По моему, везде надо удалить. И не ebx, а rbx.
Думаю, из-за 32-х разрядных хвостов и глючит.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 12:34 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Только там и был суффикс. Поменял - но все равно постоянно валится с этой ошибкой. Можно ли как-то локализовать? Оно же совсем никакой жизни не дает ( А еще ошибка сегментирования часто вываливается на неизвестных словах. Может где-то в алгоритме поиска засел баг?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 13:44 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
VoidVolker писал(а):
Можно ли как-то локализовать?

Судя по
Код:
131048 ALLOCATE THROW VALUE m1 m1 @ .
0  Ok
131049 ALLOCATE THROW VALUE m2 m2 @ .
Ошибка сегментирования
Ошибка в VALUE.

В _USER-VALUE-CODE 32-х разрядный eax
Попробуй
Код:
fdef("_USER-VALUE-CODE",0x10 ,0 ,_USERsubVALUEsubCODE)
       lea   -4*2(%rbp),%rbp
      mov %rax,(%rbp)
      pop %rax
      mov (%rax),%rax
      add %r14,%rax
      mov (%rax),%rax
      retq


Код:
fdef("_VALUE-CODE",0xB ,0 ,_VALUEsubCODE)
   lea   -4*2(%rbp),%rbp
   mov %rax,(%rbp)
   pop %rax
   mov (%rax),%rax
   retq


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 15:10 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Первая правка вообще ломает - сразу же при запуске вылетает, а вторая - только после нажатия на энтер. А так да, действительно VALUE переменные тупят - они почему-то 32-битные. Но глюк возникает, именно при попытке извлечения значения по адресу. Во, нашел еще один баг:
Код:
0x1122334455667788
Ok
.
55667788  Ok

При этом:
Код:
0x1122334455667788 .
1122334455667788  Ok

Т.о. вершина стека искажается при переходе на новую строку.

Хмхм:
src\compiler:118
Код:
: VALUE ( x "<spaces>name" -- ) \ 94 CORE EXT
\ Пропустить ведущие пробелы. Выделить name, ограниченное пробелом. Создать
\ определение для name с семантикой выполнения, определенной ниже, с начальным
\ значением равным x.
\ name используется как "значение".
\ Выполнение: ( -- x )
\ Положить x на стек. Значение x - то, которое было дано, когда имя создавалось,
\ пока не исполнится фраза x TO name, задав новое значение x,
\ ассоциированное с name.
  HEADER
  VALUE-CODE  COMPILE, L,
  TOVALUE-CODE COMPILE,
;
: VECT ( -> )
  ( создать слово, семантику выполнения которого можно менять,
    записывая в него новый xt по TO)
  HEADER
  VECT-CODE COMPILE, ['] NOOP L,
  TOVALUE-CODE COMPILE,
;
...
: USER-CREATE ( "<spaces>name" -- )
  HEADER
  HERE DOES>A ! ( ??? DOES )
  USER-CODE COMPILE,
  USER-ALIGNED
  USER-ALLOT  L,
;

А вот тут наверно баги сидят? Правильно?

И таки что надо сделать, чтобы можно было менять исходники без поломки всего и вся?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 15:30 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
VoidVolker писал(а):
Первая правка вообще ломает - сразу же при запуске вылетает, а вторая - только после нажатия на энтер.


Там поле .int, а надо .quad . 32-х разрядных регистров навалом.
В общем, можно считать система неработающая.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 15:54 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Mihail писал(а):
Там поле .int, а надо .quad . 32-х разрядных регистров навалом.

Где?
Mihail писал(а):
В общем, можно считать система неработающая.

Это как так? Вообще что ли? Да ладно, вон gForth-то работает же. И тут немного допилить и будет тоже работать.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 16:03 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Есть такое страшное слово "планирование". Потому что если только кодировать, то и навалятся баги со всех сторон.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 16:17 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Хищник писал(а):
VoidVolker писал(а):
И тут немного допилить и будет тоже работать.

Есть такое страшное слово "планирование". Потому что если только кодировать, то и навалятся баги со всех сторон.

Я планирую использовать спф64 в реальных приложениях для линукс. А чтоб его использовать - надо сначала хоть немного допилить, а далее, по мере использования будет создаваться новый функционал.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 17:34 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
VoidVolker писал(а):
И тут немного допилить и будет тоже работать.

Здесь может оказаться не все так просто. Система собирается с помощью
32-х разрядной форт-системы путем компиляции нецелевым компилятором
с дальнейшем дизассемблированием и подачей на вход 64-х разрядному
ассемблеру. Дойду до дома, посмотрю что можно сделать.
(Ubuntu64 у меня только дома).

Хищник писал(а):
Есть такое страшное слово "планирование". Потому что если только кодировать, то и навалятся баги со всех сторон.

Все действие человека, кроме рефлекторных, запланированы.
Ошибки следствие рассеянности. Это плата за глубину абстрагирования.
Изложение плана и есть кодирование.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 17:59 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Mihail писал(а):
VoidVolker писал(а):
И тут немного допилить и будет тоже работать.

Здесь может оказаться не все так просто. Система собирается с помощью
32-х разрядной форт-системы путем компиляции нецелевым компилятором
с дальнейшем дизассемблированием и подачей на вход 64-х разрядному
ассемблеру. Дойду до дома, посмотрю что можно сделать.
(Ubuntu64 у меня только дома).

Хорошо. А как на счет варианта собирать с помощью gforth х64? У него же исходники открытые - может быть имеет смысл выкинуть из него все, без чего он может работать, и далее от этого строить спф? Или слишком ресурсоемко будет?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вт авг 20, 2013 19:42 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Mihail писал(а):
Все действие человека, кроме рефлекторных, запланированы.
Ошибки следствие рассеянности. Это плата за глубину абстрагирования.
Изложение плана и есть кодирование.


Если так, то:
Mihail писал(а):
Здесь может оказаться не все так просто. Система собирается с помощью
... откуда? Это те самые ошибки, которые следствие рассеянности? Значит, надо с этим как-то работать. Собственно, те, кто упорно хочет "просто писать код" доходят до потолка - того объема, который человек может одновременно удерживать в голове. Дальше все затуманивается, 32 и 64 бита путаются, регистры забывают инициализироваться и т.п. В итоге получается, что пока это кто-то не проверит, ошибки будут множиться (и при этом будут множиться ссылки "я написал новую версию").


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 139 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10  След.

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


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

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


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

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