From ad5b58d2e7697d7393750a26e4f2ef26a91a6c59 Mon Sep 17 00:00:00 2001 From: hailin cai Date: Wed, 24 Feb 2016 12:07:49 -0500 Subject: [PATCH] Update Booting/linux-bootstrap-2.md --- Booting/linux-bootstrap-2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Booting/linux-bootstrap-2.md b/Booting/linux-bootstrap-2.md index 404c056..e91c3a3 100644 --- a/Booting/linux-bootstrap-2.md +++ b/Booting/linux-bootstrap-2.md @@ -238,7 +238,7 @@ memcpy(&boot_params.hdr, &hdr, sizeof hdr); * `dx` 寄存器指向 `hdr` 的内存地址 * `cx` 寄存器包含 `hdr` 结构的大小 -`memcpy` 函数在将 `si` 和 `di` 寄存器压栈之后,将`boot_param.hdr`的地址放入`di`寄存器,将`hdr`的地址放入`si`寄存器,并且将`hdr`数据结构的大小压栈。 接下来代码首先以4个字节为单位,将`si`寄存器指向的内存内容拷贝到`di`寄存器指向的内存。当剩下的字节数不足4字节的时候,代码将原始的`hdr`数据结构大小出栈放入`cx`,然后对`cx`的值对4求模,接下来就是根据`cx`的值,以字节为单位将`si`寄存器指向的内存内容拷贝到`di`寄存器指向的内存。当拷贝操作完成之后,将保留的`si`以及`di`寄存器值出栈,函数返回。 +`memcpy` 函数在将 `si` 和 `di` 寄存器压栈之后,将 `boot_param.hdr` 的地址放入 `di` 寄存器,将 `hdr` 的地址放入 `si` 寄存器,并且将 `hdr` 数据结构的大小压栈。 接下来代码首先以4个字节为单位,将 `si` 寄存器指向的内存内容拷贝到 `di` 寄存器指向的内存。当剩下的字节数不足4字节的时候,代码将原始的 `hdr` 数据结构大小出栈放入 `cx` ,然后对 `cx` 的值对4求模,接下来就是根据 `cx` 的值,以字节为单位将 `si` 寄存器指向的内存内容拷贝到 `di` 寄存器指向的内存。当拷贝操作完成之后,将保留的 `si` 以及 `di` 寄存器值出栈,函数返回。 控制台初始化 --------------------------------------------------------------------------------