Care este diferența dintre utilizarea „mov al, [ds: si]” și „lodsb” în programarea de asamblare 8086?


Răspunsul 1:

mov al, [ds: si] este o linie de comandă standard pentru utilizarea unei date ca octet din punctată de perechea de ds: si pereche de registre. Al doilea este o comandă string pentru utilizarea transferului de date ca un octet (B înseamnă BYTE din LODSB) în registrul AL. De fapt, nu există nicio diferență între două comenzi, dar pentru prima comandă, indicatorul SI ar trebui să fie incercat sau decretat pentru tine. Pentru a doua comandă, registrul SI este inceperat sau decretat automat de către sistem în conformitate cu indicatorul D (direcție). Instrucțiunile de stringuri au apărut cu un procesor pe 32 de biți. în timp ce comanda LODS încarcă doar datele sub forma unui șir din memoria de înregistrat, comanda MOV face atât încărcarea, cât și stocarea în / din memorie.