diff --git a/02-cpu-commnads/README.md b/02-cpu-commnads/README.md index 0ad26ec..33486b7 100644 --- a/02-cpu-commnads/README.md +++ b/02-cpu-commnads/README.md @@ -125,7 +125,7 @@ SIB байт состоит из 2 битов SS, которые предста *Интересный факт, в качестве index не может использоваться rsp* -Не буду много повторяться. Instruction `lea r/m16`. Opcode `FF /0`. `/0` означает, что в ModR/M в поле reg нужно записать 3 нуля. Остальное адрессуется как обычно, поэтому самое время обсудить вот какую вещь. Если нам необходимо опустить базу, то в SIB байте мы поставим в поле base 101. Однако для этого в mod нужно поставить 00 и автоматически придется записать 4 байта смещения. +Не буду много повторяться. Instruction `inc r/m16`. Opcode `FF /0`. `/0` означает, что в ModR/M в поле reg нужно записать 3 нуля. Остальное адрессуется как обычно, поэтому самое время обсудить вот какую вещь. Если нам необходимо опустить базу, то в SIB байте мы поставим в поле base 101. Однако для этого в mod нужно поставить 00 и автоматически придется записать 4 байта смещения. [ 0110 0110 ] [ 1111 1111 ] [ 00 000 100 ] [ 01 110 101 ] [ 0001 1111 ] [ 0000 0000 ] [ 0000 0000 ] [ 0000 0000 ]