Программирование на JAVA

точки начала выполнения программы, а также задается в ассемблерной директи­ве END, которой заканчивается текстовый файл программы. В ассемблере IA-32 имеются и другие директивы. Некоторые из них будут рассмотрены позже.

6.3. Управление потоком выполнения программы

Существует два способа отклонения программы от «прямолинейного курса». Первый из них (о нем рассказывается в разделе 5.8) — это вызов подпрограммы и возврат из нее. Кроме того, в программе могут выполняться переходы к задан­ным командам — как условные, так и безусловные. О них мы сейчас и поговорим.

6.3.1. Условные переходы и флаги кодов условий

Представленная на рис. 5.8, команда

JG  STARTADD

относится к числу команд условного перехода. Условие «больше нуля» задается в ней суффиксом кода операции G. Это условие касается и результата последней выполненной команды обработки данных, которой в нашем примере была команда

DEC ECX

Признаки результатов, которые генерируются командами типа Decrement и Add, выполняющими арифметические операции и операции сравнения, записы­ваются в четыре флага кодов условий в регистре состояния процессора, показан­ном на рис. 5.2. В зависимости от результата операции


<< назад вперед >>