Реклама:

Теперь, когда мы изучили уровень архитектуры набора команд трех машин, нам нужно все обобщить. Давайте подробно рассмотрим все тот же пример решения задачи "Ханойская башня"). В листинге 5.6 приведена версия этой программы на языке Java. В следующих подразделах мы предложим программы на ассемблере Pentium 4 и UltraSPARC III.

Однако чтобы избежать проблем с вводом-выводом Java, для машин Pentium 4 и UltraSPARC III мы будем транслировать версию программы не на Java, а на С. Единственное различие - это замена Java-оператора println стандартным оператором языка С:

printf("Переместить диск с %й на %й\п". i, j)

Синтаксис строки в операторе printf не важен (строка печатается буквально за исключением символов *d, означающих, что следующее целое число будет представлено в десятичной системе счисления). Здесь важно только то, что процедура вызывается с тремя параметрами: форматирующей строкой и двумя целыми числами.

Мы использовали язык С для Pentium 4 и UltraSPARC III, поскольку библиотека ввода-вывода Java для этих машин недоступна, в отличие от библиотеки С ввода-вывода. Разница минимальна - всего один оператор вывода строки на экран.

Прерывания5 || Оглавление || Решение задачи "Ханойская башня" на ассемблере Pentium 4