Question: what is the difference between les and lds instruction?
Answer: lds means Load pointer using DS and likewise les means Load pointer using ES. ... ds is the default segment from where the pointer value is read using lds and les . So instead of loading the string address to ds:si , the first 4 bytes of the string are used as an address that is loaded into ds:si .