Метка или имя является необязательным компонентом. Метка - точка программы, на которую передается управление, а имя - ячейка памяти. Следовательно, метка стоит в строке, содержащей команду; а имя стоит в строке, содержащей псевдокоманду.
Однако, физический смысл и метки, и имени - одинаков, это - адрес памяти. Во всех случаях, когда Ассемблер встречает в программе имя или метку, он заменяет ее на адрес той ячейки памяти, к которую имя/метка направляет.
Метка/имя должна начинаться в 1-й позиции строки, если метки/имени нет, то в 1-й позиции должен быть пробел.
Метки в языке ассемблера может содержать следующие символы:
Буквы: от A до Z и от a до z
Цифры: от 0 до 9
Первым символом в метке должна быть буква. Ассемблер не делает различия между ПРОПИСНЫМИ и строчными буквами.
Пример: COUNT, PAGE25, E10. Рекомендуется использовать описательные и смысловые метки. Имена регистров, например, STATUS, PORTA или PCL являются зарезервированными и используются только для указания соответствующих регистров. Например, в команде
ADDWF PCL, f ассемблер "знает", что PCL относится к регистрам.
MOVWF REGSAVE ассемблер воспримет имя REGSAVE только в том случае, если оно будет определено в начале программы.
Метку можно кодировать на одной строке с командой или на отдельной строке:
START ADDWF TEMP,F
START
ADDWF TEMP,F
Метка должна занимать крайнюю левую позицию на экране. Между меткой, командой и операндом обязательно должны быть пробелы в строке. Рекомендуется записывать метку, команду и операнд в колонку для большей удобочитаемости программы.