﻿Bit32:
    - 0xFFC017FF
    - 0xFFC017FF
    - 0xCF
    - 0x4F
    - 0x4F
    - 0x7FFF
    - 0x17FFF
    - 0xFFFFFFBF
    - 0x8000013F
    - 0x8080003F
    - 0x8000003F
    - 0x8000003F
    - 0xFFFFFFFF
    - 0x2FFFF

* 計算式 *
EnableInterrupts:
  - 1
EnableInterrupts:
  - 1
EnableSystemCalls:
  - SetHeapSize
  - SetMemoryPermission
EnableSystemCalls:
  - SetHeapSize
EnableSystemCalls:
  - 1
HandleTableSize: 0
HandleTableSize: 1
MemoryMap:
  BeginAddress: 0xFFFFFF000
  Size: 0x2000
  Permission: RO
  Type: Static
MemoryMap:
  BeginAddress: 0x10000000
  Size: 0x0
  Permission: RO
  Type: Static
Padding
Flags: 0x1

# EnableInterrupts
Field = 0x1 | 1023 << 10
Sign = (1 << 11) - 1
Result = Field << 12 | Sign

データの二進数表現
10987654321098765432109876543210
11111111110000000001011111111111


# EnableSystemCalls1
SetHeapSize(1)
SetMemoryPermission(2)

Index = 0
Field = 1 << 1 | 1 << 2 | 0 << 24
Sign = (1 << 4) - 1
Result = Field << 5 | Sign

データの二進数表現
10987654321098765432109876543210
00000000000000000000000011001111


# EnableSystemCalls2
SetHeapSize(1)

Index = 0
Field = 1 << 1
Sign = (1 << 4) - 1
Result = Field << 5 | Sign

データの二進数表現
10987654321098765432109876543210
00000000000000000000000001001111


# EnableSystemCalls3
Index = 0
Field = 1 << 1
Sign = (1 << 4) - 1
Result = Field << 5 | Sign

データの二進数表現
10987654321098765432109876543210
00000000000000000000000000101111


# HandleTableSize1
Field = 0
Sign = (1 << 15) - 1
Result = Field << 16 | Sign

データの二進数表現
10987654321098765432109876543210
00000000000000000111111111111111


# HandleTableSize2
Field = 1
Sign = (1 << 15) - 1
Result = Field << 16 | Sign

データの二進数表現
10987654321098765432109876543210
00000000000000010111111111111111


# MemoryMap1
BeginAddress: 0xFFFFFF000
Size: 0x2000
Permission: RO
Type: Static

flag1
Field = ((0xFFFFFF000 >> 12) & ((1 << 24) - 1)) | 1 << 24
Sign = (1 << 6) - 1
Result = Field << 7 | Sign

データの二進数表現
10987654321098765432109876543210
11111111111111111111111110111111

flag2
Field = ((0x2000 >> 12) & ((1 << 20) - 1)) | 1 << 24
Sign = (1 << 6) - 1
Result = Field << 7 | Sign

データの二進数表現
10987654321098765432109876543210
10000000000000000000000100111111


# MemoryMap2
BeginAddress: 0x10000000
Size: 0x0
Permission: RO
Type: Static

Field = ((0x10000000 >> 12) & ((1 << 24) - 1)) | 1 << 24
Sign = (1 << 6) - 1
Result = Field << 7 | Sign

データの二進数表現
10987654321098765432109876543210
10000000100000000000000000111111


# MemoryMap3
BeginAddress: 0x1000000000
Size: 0x100000000
Permission: RO
Type: Static

flag1
Field = ((0x1000000000 >> 12) & ((1 << 24) - 1)) | 1 << 24
Sign = (1 << 6) - 1
Result = Field << 7 | Sign

データの二進数表現
10987654321098765432109876543210
10000000000000000000000000111111

flag2
Field = ((0x100000000 >> 12) & ((1 << 20) - 1)) | 1 << 24
Sign = (1 << 6) - 1
Result = Field << 7 | Sign

データの二進数表現
10987654321098765432109876543210
10000000000000000000000000111111


# Padding
Result = 0xFFFFFFFF

データの二進数表現
10987654321098765432109876543210
11111111111111111111111111111111


# Flags
- 0x1
Field = 0x1
Sign = (1 << 16) - 1
Result = Field << 17 | Sign

データの二進数表現
10987654321098765432109876543210
00000000000000101111111111111111

