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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Дополнения, изменения, ошибки.
СообщениеДобавлено: Пт сен 19, 2008 09:17 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Первая строка имя слова, вторая что имеется в виду, третья комент по исправлению.

PERFORM
Выполнить слово, адрес xt которого хранится в ячейке памяти addr.
xt пропустил

_CREATE-CODE
Получить со стека возвратов адрес.
добавить коммент

_CONSTANT-CODE
Получить со стека возвратов адрес, а из него значение.
добавить коммент

_VECT-CODE
Перейти на адрес указанный в полученном адресе со стека возвратов.
добавить коммент

_TOVALUE-CODE
( n --> ) или ( addr --> )
короткий комент неправилен, кстати, а что там со смещением -9 пишется? Хочется комментарий придумать.

TlsIndex!
Установить указатель локального пула потока.
Изменить коммент

TlsIndex@
Получить указатель локального пула потока.
добавить коммент

_USER-VALUE-CODE
( --> addr )
короткий комент неправилен

_TOUSER-VALUE-CODE
( --> addr )
короткий комент неправилен

OVER
Положить копию a на вершину стека.
Изменить коммент: там x1 за место a

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 22, 2008 07:41 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Может слово R+ сделать лучше unfeasible? В исполнении где оно может пригодится то?

WITHIN
Вернуть флаг "истина" если число n находится в диапазоне чисел между low&high или равно low.
Концовочку про low надо добавить.

RSHIFT
( u # --> u>># ) сдвинуть число u на # бит вправо
исправить комент и краткий комент на противоположный

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 22, 2008 17:28 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Pretorian писал(а):
RSHIFT
( u # --> u>># ) сдвинуть число u на # бит вправо
исправить комент и краткий комент на противоположный

этот момент не понял, поясни пожалуйста!

Да, за помощь спасибо. У тебя сейчас какая сборка?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 22, 2008 17:49 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Pretorian писал(а):
_CREATE-CODE
Получить со стека возвратов адрес.
добавить коммент
_CONSTANT-CODE

Получить со стека возвратов адрес, а из него значение.
добавить коммент

_VECT-CODE
Перейти на адрес указанный в полученном адресе со стека возвратов.
добавить коммент

_TOVALUE-CODE
( n --> ) или ( addr --> )
короткий комент неправилен, кстати, а что там со смещением -9 пишется? Хочется комментарий придумать.


Вобщем верно, но от этих слов в будущем хочется отказаться, поэтому опускал коменты.
-9 это по сути хак, по такому смещению хранится значение VALUE переменой.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 23, 2008 05:44 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
mOleg писал(а):
Pretorian писал(а):
RSHIFT
( u # --> u>># ) сдвинуть число u на # бит вправо
исправить комент и краткий комент на противоположный

этот момент не понял, поясни пожалуйста!

Да, за помощь спасибо. У тебя сейчас какая сборка?

У тебя в RSHIFT комент от LSHIFT.
Сборка 893.

Мне кажется что лучше поменять комент у U>D, у тебя (расширить число до двойной точности нулем), предлагаю (Преобразовать беззнаковое число u в двойное число d.).

Код:
\ заменить значение по указанному адресу на new - старое вернуть √
CODE ACHANGE ( new addr --> old )
             dpop temp
             MOV addr , tos
             MOV tos , [addr]
             MOV [addr] , temp
           exit
       END-CODE

ALIAS ACHANGE CHANGE ( new addr --> old ) \ √

Может ARHANGE это заменить адрес по адресу, а CHANGE заменить значение по адресу? Если да то изменить коменты.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 23, 2008 20:19 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Pretorian писал(а):
У тебя в RSHIFT комент от LSHIFT.

поправил.

Pretorian писал(а):
Мне кажется что лучше поменять комент у U>D, у тебя (расширить число до двойной точности нулем), предлагаю (Преобразовать беззнаковое число u в двойное число d.).

согласен, поправил.

Pretorian писал(а):
Может ARHANGE это заменить адрес по адресу, а CHANGE заменить значение по адресу? Если да то изменить коменты.

вобщем ты прав. Просто тут я хотел на двух стульях усидеть. В реальности надо вводить два слова: CHANGE и ACHANGE = одно для работы с адресами, а другое для работы с данными. Сейчас поправлю.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 01, 2008 12:22 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Кстати очень спорный вопрос нахождения FILL в исходниках string.f. Вроде тут работа с памятью, а не строками.

А чего это слово так изменило название в форке?
Код:
CODE 0! ( addr --> )
     MOV DWORD [EAX], # 0
     MOV EAX, [EBP]
     LEA EBP, 4 [EBP]
     RET
END-CODE

CODE UnlockMutex ( addr --> )
                 XOR temp , temp
                 XCHG [tos] , temp
                 dpop tos
               exit
            END-CODE


А тут будет возвращатся TRUE или инвентированное число, где гарантия что FALSE(0)?
Код:
\ обменять содержимое ячейки по адресу addr на -1, если извлеченное
\ значение = 0 вернуть флаг TRUE иначе FALSE
CODE ?LockMutex ( addr --> flag )
                MOV addr , tos
                MOV tos , # -1
                XCHG [addr] , tos
                NOT tos
              exit
           END-CODE


Тут же по правилам ( addr u --> # ), вот только неудобно как то по стандарту, помоему удобнее ( addr u --> asc # ). Это так, просто размышление.
Код:
VECT ACCEPT     ( ?? )


Может убрать из комментов слово "хендл" и заменить более понятным "дескриптор"?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 03, 2008 17:31 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Pretorian писал(а):
Кстати очень спорный вопрос нахождения FILL в исходниках string.f. Вроде тут работа с памятью, а не строками.
А чего это слово так изменило название в форке?

Код:
CODE 0! ( addr --> )
     MOV DWORD [EAX], # 0
     MOV EAX, [EBP]
     LEA EBP, 4 [EBP]
     RET
END-CODE

CODE UnlockMutex ( addr --> )
                 XOR temp , temp
                 XCHG [tos] , temp
                 dpop tos
               exit
            END-CODE

не не не. Это совсем другое. Тут именно объект синхронизации используется - это не 0!

Pretorian писал(а):
Тут же по правилам ( addr u --> # ), вот только неудобно как то по стандарту, помоему удобнее ( addr u --> asc # ). Это так, просто размышление.

еще раз, это совсем другое.
Посмотри, как реализовано слово (EXC-DUMP) - будет понятнее.

Pretorian писал(а):
Код:

VECT ACCEPT     ( ?? )
Может убрать из комментов слово "хендл" и заменить более понятным "дескриптор"?

для кого как понятнее. Дескриптор это в винде, в ДОСе были хендлы. Мне лично слово хендл понятнее, чем дескриптор.
Лично мне кажется что можно и так и так писать. Просто на дескриптор придется править текст во многих местах.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 16:01 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Код:
\ Убрать со стека пару ячеек x1 x2.
CODE TDROP ( d --> )
           MOV tos , 2 CELLS [top]
           dheave 3 CELLS
         exit
      END-CODE

Перевод:
Код:
CODE TDROP
   MOV EAX , [EBP+8]
   LEA EBP , [EBP+12]
   RET
END-CODE

Комментарий и стековая диаграмма, расходится с кодом. Код делает ( n d -> ) или ( n n n -> ). Что правильно код или комментарии?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 16:43 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Исходный код правильный, а комментарий нет
Твой комм. правильный
Код делает ( n d -> ) или ( n n n -> ).

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 18:30 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
mOleg писал(а):
Дескриптор это в винде, в ДОСе были хендлы. Мне лично слово хендл понятнее, чем дескриптор.

По моему одно и тоже, только вроде "Дескриптор" поруссявее. Кстати в винде везде handle в англо язычных-документах.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 18:57 
Не в сети
Аватара пользователя

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 303
Благодарил (а): 12 раз.
Поблагодарили: 10 раз.
В Виндовых руководствах обычно всегда указывают НЕ смешивать и НЕ путать "хэндл" и "дескриптор"...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 19:16 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Wlad писал(а):
В Виндовых руководствах обычно всегда указывают НЕ смешивать и НЕ путать "хэндл" и "дескриптор"...

Может фразу договорить и сказать в чем отличие?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 20:39 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Pretorian писал(а):
Комментарий и стековая диаграмма, расходится с кодом. Код делает ( n d -> ) или ( n n n -> ). Что правильно код или комментарии?

да, коментарий не верный - исправил.

Wlad писал(а):
В Виндовых руководствах обычно всегда указывают НЕ смешивать и НЕ путать "хэндл" и "дескриптор"...

хотя чем они отличаются?
по сути и то и другое дескриптор, а хэндл - это из ДОСа как бы осталось, и связывается с файлом. Но дескриптор или идентификатор или хэндл, какая разница, если смысл один?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 13, 2009 08:51 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Ошибка в комментарии:
Код:
\ прочитать значение с вершины локального стека
CODE L+ ( N --> )
        ADD [ltop] , tos
        dpop tos
      exit
   END-CODE


Стековая диаграмма не верна:
Код:
\ перенести число двойной длины с локального стека на стек данных
CODE DL> ( d --> l: d )
         dpush tos
         MOV temp , CELL [ltop]
         dpush temp
         MOV tos , [ltop]
         LEA ltop , 2 CELLS [ltop]
       exit
    END-CODE

Предлагаю изменить стековую диаграмму у L@ на ( l: n --> l: n d: n )

mOleg писал(а):
Wlad писал(а):
В Виндовых руководствах обычно всегда указывают НЕ смешивать и НЕ путать "хэндл" и "дескриптор"...

хотя чем они отличаются?
по сути и то и другое дескриптор, а хэндл - это из ДОСа как бы осталось, и связывается с файлом. Но дескриптор или идентификатор или хэндл, какая разница, если смысл один?

Согласен что разницы нет, а если у кого то есть "НО" то смотрим сначало CreateFile.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2, 3, 4  След.

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


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

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


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

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