Ответ 1
[AX]
- недопустимая спецификация операнда памяти.
[constant]
[BX]
[SI]
[DI]
[BX+constant]
[BP+constant]
[SI+constant]
[DI+constant]
[BX+SI]
[BX+DI]
[BP+SI]
[BP+DI]
[BX+SI+constant]
[BX+DI+constant]
[BP+SI+constant]
[BP+DI+constant]
[BP] формально недействителен, но многие ассемблеры спокойно преобразуют его в [BP + 0].
См. руководство по процессору для кодировок операндов памяти и байтов ModR/M и SIB.