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



         

Глава 16. Программирование на форт-ассемблере - часть 3


За подобными справками вам следует обращаться к руководству по вашему процессору. В 8-битовом процессоре 8 бит (байт) рассматриваются в качестве команд или данных. Хотя существует только 256 (2^8) возможных комбинаций из 8 битов, реализуемо более 256 типов команд, так как некоторые байты будут заставлять ЦП воспринимать еще один или несколько байтов для формирования команды. Например, 8-битовый микропроцессор Z-80 имеет более 700 типов команд, содержащих от одного до 4 байтов каждая. Шестнадцатибитовые микропроцессоры могут использовать 8- или 16-битовые команды, 8- или 16-битовые регистры и могут передавать данные по 16 или 32 битов за такт в зависимости от модели. Конечно, микроЭВМ имеют даже больше вариаций. Мы приведем примеры для микропроцессора Z-80, так как он используется в TRS-80 и в семействе СР/М машин, а также для 8086 и 8088, так как они применяются в IBM PC и семействе оборудования, использующем MS-DOS. Самый простой способ рассмотрения машинных программ на вашей ЭВМ - это пропечатка поля параметров примитивов. Используя описание DUMP из гл. 14, ' SWAP 1 DUMP в Форт-79 или ' SWAP >BODY 1 DUMP в Форт-83, отобразим машинную программу, которая меняет местами два верхних элемента в стеке. Для Форта Z-80, который использует регистр указателя стека параметров Форта, эта программа, вероятно, отпечатает (адр) D1 Е1 D5 Е5 FD E9 хх хх хх xх хх хх хх хх хх хх где мы использовали "хх" для обозначения байтов, величина которых не определена. (Это пример для MMSFORTH на TRS80.) Но командные байты ЭВМ (известные так же как коды операций) ничего не значат, если у вас нет книги по программированию на ассемблере для Z-80, с помощью которой можно декодировать их. Если бы вы рассмотрели каждый байт, то поняли бы, что D1 = POP DE Е1 = POP HL D5 = PUSH DE Е5 = PUSH HL FD E9 = JP (IY) но это вряд ли прояснит, что здесь происходит, если вы не знаете ассемблера Z-80. Различные команды (POP DE и т.д.) являются мнемоникой, о которой мы говорили. Если вы знаете смысл этой мнемоники, вы можете оценить, как работает слово SWAP.


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