mirror of
https://github.com/0xAX/linux-insides.git
synced 2025-01-05 21:30:59 +00:00
Update linux-bootstrap-1.md
This commit is contained in:
parent
27b1034889
commit
97e490da34
@ -58,16 +58,16 @@ which is 65519 bytes over first megabyte. Since only one megabyte is accessible
|
||||
|
||||
Ok, now we know about real mode and memory addressing, let's get back to register values after reset.
|
||||
|
||||
`CS` register has two parts: the visible segment selector and hidden base address. We know predefined `CS` base and `IP` value, so our logical address will be:
|
||||
`CS` register consists of two parts: the visible segment selector and hidden base address. We know predefined `CS` base and `IP` value, logical address will be:
|
||||
|
||||
```
|
||||
0x0ffff000:0xfff0
|
||||
0xffff0000:0xfff0
|
||||
```
|
||||
|
||||
which we can translate to the physical address:
|
||||
In this way starting address formed by adding the base address to the value in the EIP register:
|
||||
|
||||
```python
|
||||
>>> hex((0x0ffff000 << 4) + 0xfff0)
|
||||
>>> 0xffff0000 + 0xfff0
|
||||
'0xfffffff0'
|
||||
```
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user