Язык программирования Форт



         

Упражнения


  • Подберите маску и подходящее слово для того, чтобы изменить приведенные числа, как показано в таблице. Не используйте XOR, если есть более простое решение.

    Исходное Преобразованное Исходное Преобразованное число число число число (а) 10101011 10100011 (е) 10101111 00001111 (б) 10100011 10100111 (ж) 10100000 00001111 (в) 10100011 00000000 (з) 10101010 01010101 (г) 10100011 11111111 (и) 11110000 00001111 (д) 10101111 10100000

  • Опишите слово для преобразования любого слова, находящегося на вершине стека, в "О".
  • Слово = (во всех версиях, кроме Форт-83) возвращает единицу, если два верхних числа в стеке равны. Иначе оно возвращает "0". Определите слово =. (Совет: нужно дважды использовать XOR, один раз с маской и также /.)
  • В некоторых версиях Форта слово о возвращает 1, если два верхних числа не равны, и 0 в противном случае. Определите слово о двумя способами: с использованием слова - и без него.
  • Опишите в Форт-83 слово NOT под именем NOT1, используя XOR. Опишите его, используя -.
  • Опишите слово, которое, если дана маска с определенными установленными в "1" разрядами, возвращает 1 в соответствующих разрядах второго сверху числа в стеке, если их значение равно 1 и 0 в противном случае. (Совет: используйте слово = из упражнения 3).
  • Опишите слово, которое, если задана маска с определенными разрядами, установленными в "I", будет возвращать 1 соответствующих разрядах второго сверху числа, если они равны 0, и 0 в противном случае.

    Приемы, использованные в упражнениях 6 и 7, могут быть полезны для проверки состояния разрядов памяти, например для проверки того, включен ли принтер.




    Содержание  Назад  Вперед