Я вижу $ в SJMP, CJNE и других инструкциях в коде сборки 8051 и не знаю, что он делает. Здесь
$
CJNE A,#'A',$+5 SJMP $
Можете ли вы сказать мне цель этого?
Это специальная метка, обозначающая текущую строку.SJMP $ эквивалентно
SJMP $
currentline: SJMP currentline
И CJNE A,#'A',$+5 перейдет к инструкции на 5 байт вперед, когда условие будет соответствовать
CJNE A,#'A',$+5
Фактически это то же самое, что знак доллара на языках ассемблера для многих других архитектур