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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - 0-операндная модель
Автор Сообщение
  Заголовок сообщения:   Ответить с цитатой
>R является нуль-операндной командой, потому что сам тип команды уже однозначно определяет приемник и источник (нуль-операндные - это не только те, которые вообще не используют операндов, но и те, кто определяет их самостоятельно, не пользуясь дополнительными кодами). По аналогии, в аккумуляторных архитектурах используются 1-операндные команды, например, "загрузить регистр N в аккумулятор". При этом приемник (аккумулятор) определен самим типом команды и не требует дополнительного уточнения, а вот источник - это операнд (РОН).
Сообщение Добавлено: Пн авг 17, 2009 13:45
  Заголовок сообщения:   Ответить с цитатой
Олег, я примерно представляю, в чём проблема.

Если вернуться к ООП-анализу, то человек всё равно представляет стеки данных и возвратов как отдельные сущности.
В любом случае, мы, либо выделением отдельного набора битов в коде операции, либо разбивая набор кодов операций на отрезки значений, отождествляем соответствующие операции над(к) соответствующим(и) сущностям(и).

Случай в твоём исполнении с командами >R и R> - из второго примера.

Кстати, ведь и опкоды х86 вполне можно "перемешать", так, что бы не было выделенных полей в коде команды, но мы всё равно будем себе в мозгу иметь объектную модель х86 архитектуры. Понятное дело, что дешифрация команд внутри кристалла усложнится и он наверняка "распухнет" в разы, но это ничего не меняет.

Наличие/отсутствие выделенных/назначенных участков в коде операций для идентификации чего-либо - лишь произвол и формальность (хлтя и удобная для восприятия, запоминания и идентификации).
Сообщение Добавлено: Пн авг 17, 2009 12:51
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
Но R> и >R то ассоциируются с конкретными операндами...

еще раз, формат команды в 0-операндной модели состоит только из опкода команды!
то есть нету специальных "выделенных" полей для указания операндов.
ну, возьми к примеру 4-х битовый проц, там есть система команд:

0 - NOP
1 - AND
2 - XOR
3 - ADD
4 - 0=
5 - lit
6 - 2/
7 - SUB
8 - DUP
9 - DROP
A - if
B - R>
C - >R
D - @
E - !
F - SWAP

вот в опкоде просто нет места для хранения по два дополнительных бита на указание приемника и источника данных!!!
Сообщение Добавлено: Пн авг 17, 2009 07:49
  Заголовок сообщения:   Ответить с цитатой
Но R> и >R то ассоциируются с конкретными операндами...
Сообщение Добавлено: Пн авг 17, 2009 07:44
  Заголовок сообщения:   Ответить с цитатой
у Купмана так: "0-Operand instructions do not allow any operands to be associated with the opcode."
в переводе: "0-Операндные инструкции не позволяют любым операндам ассоциироваться с опкодом"
Сообщение Добавлено: Пн авг 17, 2009 07:40
  Заголовок сообщения:   Ответить с цитатой
Вона как... значит что-то не так с пояснением 0-операндной модели.
потому что источники и приемники таки кодируются (шифруются) в опкоде.
А мнемоники этот шифр раскрывают.
Сообщение Добавлено: Пн авг 17, 2009 07:37
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
WingLion писал(а):Форт-машина основана на 0-операндной модели, то есть в формате команды не кодируются регистры источники и приемники информации.
по такому признаку команды >R R> @ и ! к 0-операндной модели не относятся...

не верно понял. Речь о том, что в формате кодирования команды нет поля(ей) отвечающих за кодирование операнда(ов)
к примеру, вспомни формат команды ix86 : [OP|REG|R/M] - то есть опокд, источник, приемник под которые отводится по три бита. Это есть двухоперандная модель. В 0-операндной модели в формате команды остается только поле Opcode - а сама операция подразумевает и источник и приемник, причем, на сколько я понимаю, это не обязательно должна быть стековая машина, это может быть и RISC машина, и тем более CISC, но это будет уже не архитектура, а отдельные 0-операндные команды.
Сообщение Добавлено: Пн авг 17, 2009 07:30
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
Форт-машина основана на 0-операндной модели, то есть в формате команды не кодируются регистры источники и приемники информации.


по такому признаку команды >R R> @ и ! к 0-операндной модели не относятся...
Сообщение Добавлено: Пн авг 17, 2009 07:21

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


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