Добавление 0X80 + 0X80 - PullRequest
0 голосов
/ 24 марта 2019

В качестве подготовки к экзамену по микроконтроллерам у меня возник вопрос: Как устанавливаются биты условия при выполнении байтовой операции 0x80 + 0x80?
Я понимаю, как добавить эти 2, но я получаю 256, и я не знаю, какие биты условия установлены в этом случае.

1 Ответ

1 голос
/ 24 марта 2019

Во-первых, самое высокое значение, которое может содержать один байт, равно 255 (0xFF), поэтому я не думаю, что результатом будет 256, а переполнение приведет к тому, что результирующее значение будет 0 (0x00).

Во-вторых, биты условия будут зависеть от вашего процессора, но, исходя из некоторых примечаний ARM , я вполне могу ожидать:

Z: ноль

Флаг Z устанавливается, если результат инструкции по установке флага равен нулю.

C: перенос (или беззнаковое переполнение)

Флаг C устанавливается, если результат операции без знака переполняет 32-битный регистр результата. Этот бит можно использовать, например, для реализации 64-битной арифметики без знака.

...