Что сейчас происходит с прогрессом по командам процессора?
Можно ли сказать, что каждая из команд процессора детально и подробно описана несколькими параграфами текста?
Существует ли полный список команд, который можно просмотреть по мнемонике, по опкоду, по классификатору групп команд?
Существует ли описание устройств процессора (регистров? возможностей АЛУ?)
Существует ли описание того, как организовывать безусловные, условные переходы, циклы разных видов?
Придумано ли что-нибудь для работы с внешним миром?
Мне известно минимум три способа с внешним миром общаться:
1) на уровне языка программирования (вызов "стандартных исполнителей") тем же способом,
каким вызывают стандартные подпрограммы языка программирования (так сделано в КуМир, так работают динамически-загружаемые библиотеки в Си)
2) специальные инструкции, выполняющие какие-то функции ввода-вывода (BIOS = Basic Input-Output System, int 13, int 10)
(так работает инструкция syscall в Linux)
Вижу какой-то "свыз", но где к нему описание? Два описания - спецификация и учебник с несколькими примерами для копипастинга.
3) ввод-вывод в порты и входящие сигналы-прерывания от устройств
(очень низкоуровневый способ для текущих задач, но облегчает реализацию имитации многопроцессорности)
Вопрос - как вызывать подпрограмму в Сказочной Колеснице?
Я так понял, что надо поместить адрес продолжения в стек, изменить регистр стека (увеличить, кстати, или уменьшить?),
затем выполнить переход на подпрограмму. Как называется регистр стека (или это любой регистр? всё равно для вызова внешних программ должно быть соглашение между разными программистами - какой именно регистр будет использоваться в качестве стекового).
А при выходе из подпрограммы выполнить всё в обратном порядке - извлечь адрес из стека, и выполнить обратный переход.
Но команда перехода требует конкретное число (прмч), а не регистр. Необходимо будет динамически формировать исполняемый код на ходу?
Мнемоники для помещения в стек и извлечения из стека - у них есть описание? Как именно они работают, например увеличивают или уменьшают регистр? Какой именно? Если это отдельный регистр, то где его название?
Считаю, что строчку "Версия" надо нафиг стереть, а на её место написать строчку "Гипертекстовая ссылка на документацию: ..."
Отредактировано Лис (2023-04-18 23:13:08)