I am writing a 8051 assembly program and try to use LOW/HIGH. When i ran the following
MOV R1,#LOW (variable)
R1 = LSB address byte of the variable, not LSB byte of the variable. How can I get it?
R1 = LSB address byte of the variable, not LSB byte of the variable.
Asm programs don't have variables the way C programs do; they have symbols, which are just names for addresses or constant numbers. In particular, asm "variables" are never larger than one byte, so they don't have an LSB to speak of.