misyachniy (26.02.2016 21:05, просмотров: 199) ответил mr-x на PIC32MX, XC32: 2+2=4?
У людей есть одно понятие больше/меньше у ассемблера два Больше/меньше и выше/ниже
Первое - для чисел со знаком, второе для беззнаковых чисел.
Наибольшее распространение сейчас имеет система представления данных в дополнительном коде.
Если вы объявили, что a1, a2 это знаковое число которое занимает 16 бит - так и оперируйте с ним как со знаковым.
Объявление "a2 = 0x85c1;" не корректно.
Взведенный старший бит говорит о том, что число отрицатильное.
А вы пытаетесь присвоить переменной значение больше 32767 - за ее максимально допустимым значением.
Как его интерпретирует компилятор, я не знаю.
По этому пользуюсь хекс кодами только для беззнаковых переменых.
Для знаковых - только децимальными кодами.
Компилятор всегда "возмутиться" и выдаст предупреждение.