Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.571


Таненбаум Э.- Архитектура компьютера. стр.571

Теперь попробуем ассемблировать и запустить программу HlloWrld.s. Представляемые команды подходят как для UNIX, так и для Windows. В средах Linux, Solaris, MacOS X и других клонах UNIX процедура аналогична той, что используется для базовой версии UNIX. Во-первых, откройте окно командной строки (командную оболочку). В Windows в большинстве случаев для этого следует выбрать команду Пуск ► Все программы ► Стандартные ► Командная строка (Start ► Programs ► Accessories ► Command Prompt). Далее, перейдите к каталогу examples с помощью команды cd. Аргумент этой команды выбирается в зависимости от местоположения набора инструментов в файловой системе. Затем проверьте, имеются ли в этом каталоге двоичные файлы ассемблера и трассера; для этого воспользуйтесь командой Is (UNIX) или dir (Windows). Эти файлы называются

as88 и t88, соответственно. В среде Windows они имеют расширение .ехе, но в командах его указывать не нужно. Если файлы ассемблера и трассера в названном каталоге отсутствуют, найдите их и скопируйте в него.

После этого выполните ассемблирование тестовой программы с помощью команды

as88 HlloWrld.s

Если двоичный файл ассемблера действительно находится в каталоге examples, но, тем не менее, после запуска этой команды выводится сообщение об ошибке, в UNIX попробуйте ввести строку:

./as88 HlloWrld.s

В Windows для той же цели используйте строку:

.\as88 HlloWrld.s

В случае успешного завершения ассемблирования должны быть выведены следующие сообщения:

Project HlloWrld listfile HlloWrld.s Project HlloWrld num file HlloWrldJ Project HlloWrld loadfile HlloWrld.88

Естественно, должны быть также созданы соответствующие файлы. Если никаких сообщений об ошибках не было, введите команду

t88 HlloWrld

В результате в верхней правой секции окна трассера появится стрелка, указывающая на команду

MOV CX,de-hw

Это команда из строки 6 листинга В.1. После этого нажмите клавишу возврата каретки (на клавиатурах ПК она называется Enter). Как видите, теперь стрелка указывает на команду

PUSH сх

В регистре СХ, согласно содержанию левой секции окна, теперь находится значение 12. Еще раз нажмите клавишу возврата каретки и обратите внимание, что в средней верхней секции появилось значение 000с — шестнадцатеричный аналог десятичного числа 12. В этой секции демонстрируется содержимое стека, где в данный момент находится одно слово — 12. Нажмите клавишу возврата каретки еще три раза и ознакомьтесь с тем, как будут обрабатываться команды из строк 8, 9 и 10. После этого в стеке должно быть четыре элемента, а в левой секции в качестве значения счетчика команд указано шестнадцатеричное число 000b.

При следующем нажатии клавиши возврата каретки будет выполнен системный вызов, а в правой нижней секции окна появится строка:

"Hello World\n"

Как видите, теперь значением регистра SP является 0x7ff0. Еще одно нажатие клавиши приведет к увеличению SP на 8 — до 0x7ff8. Через четыре нажатия клавиши возврата каретки системный вызов exit завершится, как и сама трассировка.


⇐ Предыдущая страница| |Следующая страница ⇒

.