Я практиковал преобразование кода C в язык ассемблера MIPS, и мне трудно понять использование move
и li
в присваивании переменных.
Например, для реализации следующей строки C в MIPS:
int x = 0;
Если я правильно ее понимаю (я очень сомневаюсь в этом), похоже, что обе эти работы выполняются в MIPS-ассемблере:
move $s0, $zero
li $s0, $zero
Неужели я ошибаюсь? В чем разница между этими двумя строками?