Переводчики: Бернштейн А. С., Горчинская О. Ю., Масловский Е. К. Шнайдер А. II 99 Язык ассемблера для персонального компьютера фирмы IBM: Пер. с англ.— М.: Мир, 1988.— 406 с., ил. ISBN 5-03-000394-0 Книга американского специалиста — пособие по программированию на языке ассемблера для одной из наиболее распространенных персональных ЭВМ — IBM PC. Основное внимание уделяется написанию, отладке и выполнению программ. Полнота изложения и многочисленные примеры не только облегчают процесс обучения, но и позволяют самостоятельно освоить программирование на ассемблере для IBM PC и других совместимых с ней ПВМ. Для читателей, не являющихся профессионалами-программистами, но имеющих дело с персональными компьютерами, а также студентов соответствующих вузов. ПРЕДИСЛОВИЕ РЕДАКТОРОВ ПЕРЕВОДА
«Вторжение» в нашу жизнь персональных вычислительных машин (ПВМ) — явление чрезвычайно многогранное, но среди всех прочих его аспектов особого внимания заслуживает социальное значение этого явления. Если 15— 20 лет назад наиболее прозорливые профессионалы в области вычислительной техники только начинали говорить об отдаленных перспективах компьютерной грамотности населения, то сегодня — это одна из самых актуальных проблем, которую требуется решить в ближайшее десятилетие.
До последнего времени вычислительная техника была доступна, как правило, только профессионалам или полупрофессионалам программистам. По мере тиражирования ПВМ круг ее пользователей непрерывно расширяется, включая как специалистов различных отраслей промышленности, так и домохозяек. Именно непрофессионалам, приобщающимся к миру вычислительной техники, адресована эта книга.
Закономерен вопрос — целесообразно ли, начиная знакомство с ПВМ, приниматься за изучение ассемблера? Обычно все начинающие программисты, да и многие профессионалы, программируют на языках высокого уровня. Это позволяет пользователю не вникать в детали функционирования вычислительной машины и относиться к ней как к своеобразному «черному ящику». Однако при таком подходе нередко возникает некий психологический барьер, мешающий человеку пользоваться вычислительной машиной, поскольку он не понимает, как эта машина работает. Кроме того, незнание основных механизмов функционирования ЭВМ приводит к созданию неэффективных программ начинающими, да и не только начинающими программистами.
В свою очередь желание изучить внутреннее устройство ЭВМ однозначно приводит к необходимости изучения языка программирования, отражающего структуру машины, т. е. ассемблера этой ЭВМ. Предлагаемая книга, как это следует из ее названия, нацелена на изучение IBM PC, одной из наиболее популярных и широко распространенных ПВМ. Особую пользу она принесет начинающим программистам, имеющим доступ к IBM PC или к какой-либо другой программно совместимой с ней ПВМ, поскольку в книге содержится описание всех основных этапов работы: от первоначальной загрузки операционной системы до отладки программ, написанных на ассемблере. Этих сведений вполне достаточно, чтобы написать, ввести и отладить относительно простую программу. При этом существенным подспорьем для читателя станут многочисленные примеры простейших программ, приведенные в книге. К сожалению, в оригинале эти примеры изобилуют ошибками. В процессе перевода замеченные огрехи были исправлены. Однако нельзя дать абсолютной гарантии, что они устранены полностью, и пусть это послужит дополнительным стимулом к тщательному разбору учебного материала.
Программисты-профессионалы, которым скорее всего нужен справочник или полное описание ассемблера, ориентированные на квалифицированного пользователя, не найдут в этой книге для себя ничего нового и будут, скорее всего, разочарованы как неполнотой описания ассемблера IBM PC, так и обилием «прописных истин». Им вряд ли стоит покупать эту книгу — пусть она достанется тому, кому предназначена: непрофессиональному пользователю, новичку, делающему первые шаги в мире вычислительных машин по пути искоренения собственной компьютерной неграмотности.

ОГЛАВЛЕНИЕ
Предисловие редакторов перевода ............... 5
Предисловие....................... 6
Введение . : : :.................... 7
Часть I. Технические средства................ 9
Глава 1. Системы..................... 10
Глава 2. Запоминающие устройства.............. 16
Глава 3. Процессор.................... 22
Глава 4. Вспомогательные системы процессора.......... 34
Глава 5. Система хранения данных.............. 45
Глава 6. Контроллеры................... 52
Часть II. Программное обеспечение.............. 60
Глава 7. Системы программного обеспечения.......... 61
Глава 8. Драйверы и базовая система ввода-вывода....... . 74
Глава 9. Монитор..................... 79
Глава 10. Задачи..................... 86
Глава 11. Вычислительная машина как совокупность систем..... 96
Часть III. Основные сведения об ассемблере.......... . 100
Глава 12. Основные функции системы ассемблирования....... 101
Глава 13. Упражнения................... 116
Глава !4. Несколько новых команд............... 143
Глава 15. Структура программы................ 156
Часть IV. Архитектура аппаратных средств........... 166
Глава 16. Регистры...................... 167
Глава 17. Регистры сегментов................. 176
Глава 18. Способы адресации................ 195
Глава 19. Режимы адресации, реализуемые в машинных командах . . . 210
Глава 20. Манипулирование регистрами сегментов......... 223
Часть V. Команды и символические имена............ 234
Глава 21. Команды сохранения данных в стеке, восстановления данных
из стека и организации цикла................ 235
Глава 22. Команды побитовой обработки............ 246
Глава 23. Команды перехода................. 261
Глава 24. Команды вызова и возврата............. 285
Глава 25. Команды сложения, вычитания и сравнения....... 303
Глава 26. Символические имена, определения, выражения, операторы . 325
Часть VI. Программирование ввода-вывода.......... 346
Глава 27. Дисплей.................... 347
Глава 28. Клавиатура.................... 357
Глава 29. Работа с печатающим устройством........... 363
Глава 30. Файловая система................. 369
Приложение А: системы счисления................ 390
Приложение В: символы дисплея................ 393
Приложение С: коды клавиатуры............... 394
Приложение D: коды и символы печатающего устройства...... 395
Приложение Е: формат управляющего блока файла........ 396
Приложение F: набор команд................. 397
Приложение О: директивы описания данных........... 403
Предметный указатель.................... 406
Hosted by uCoz