Содержание
Регистр флагов - 8-битный регистр статуса процессора. Каждый бит этого регистра отвечает за определенный флаг. По флагам определяется текущее состояние процессора.
На состояния некоторых флагов можно ставить условия, а затем по результатам проверки этих условий выполнять одни инструкции вместо других, создавая различные варианты развития событий в коде и, соответственно, в самой игре.
Выбери флаг из списка, чтобы посмотреть по нему информацию.
Раздел еще в разработке, ссылки будут добавлены постепенно.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Флаг | N | V | U | B | D | I | Z | C |
Указывает на то, что в результате выполнения инструкции получился отрицательный байт. Если байт положительный (диапазон #$00-#$7F), тогда N = 0. Если байт отрицательный (диапазон #$80-#$FF), тогда N = 1. Проще говоря, состояние бита7 у результата копируется во флаг N.
В примере в регистр A загружается сначала положительный байт, а затем отрицательный.
Состояние флага можно проверить инструкциями
Указывает на то, что в результате выполнения инструкции получился байт, равный нулю (#$00), в этом случае Z = 1. Если получившийся байт не равен нулю (диапазон #$01-#$FF), тогда Z = 0.
В примере в регистр A загружается сначала байт, равный #$00, а затем любой другой.
Состояние флага можно проверить инструкциями
Флаг переноса, используется в арифметических и битовых инструкциях, а также при сравнении двух байтов.
Подробнее про работу этих инструкций читай в разделе с инструкциями процессора.
Например, если при сложении байта из регистра A с другим байтом получится результат больше, чем #$FF, тогда C = 1, в противном случае C = 0. А также текущее состояние флага C учитывается при сложении.
После выполнения первой инструкции
Состояние флага можно выставить вручную инструкциями
Состояние флага можно проверить инструкциями