Я хотел бы объяснить вам историю о комментарии Шута:
Фон
Вы должны иметь в виду, что такое язык Ассемблера и как процессор ипамять работает.
В случае устройств PIC16 память программ организована в 12- или 14-битных единицах.Это означает, что в памяти могут храниться числа со значениями в диапазоне 0-4095 или 0-16383.
Когда программа выполняется, ЦПУ будет считывать числа из памяти и выполнять некоторые действия в зависимости от числа.чтение из памяти.
В 12-разрядном варианте число 451, например, заставляет ЦП выполнять сложение.
Ассемблер - это некоторый специальный язык программирования, где каждая инструкция (обычно)соответствует ровно одному числу в памяти.Инструкция ADDWF 3, 0
, например, соответствует номеру 451 в памяти.
Проблемы
- ЦП (обычно) не знает некоторого "КОНЦА"инструкция.Вместо этого процессор будет работать бесконечно.
Ваша программа состоит из 7 инструкций;это 7 цифр в памяти программ.
Однако размер памяти программ микроконтроллера PIC намного превышает 7 слов.
Поэтому после 3-го * 1030 остается некоторая память* инструкция.Эта память будет содержать числа, но вы не знаете, какие числа она содержит.
ЦП загрузит хранящиеся там числа и выполнит их.Если там хранится число 451, он не может знать, намеренно ли эти числа существуют (потому что ваша программа содержит инструкцию ADDWF 3, 0
) или же число хранится непреднамеренно, потому что ваша программа короче памяти.