From 3e6a77c710065f7fd4789ab81142d2d9bb886ac5 Mon Sep 17 00:00:00 2001 From: Miheev Egor Date: Sun, 22 Sep 2024 14:34:37 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=B5=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=83=D1=8E=20=D0=BC=D0=BD=D0=B5=D0=BC=D0=BE=D0=BD?= =?UTF-8?q?=D0=B8=D0=BA=D1=83=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02-cpu-commnads/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ]