x86 architecture notes real mode registers 0 15 ax | ah | al | bx | bh | bl | cx | ch | cl | dx | dh | dl | general-purpose registers bp | . | stack frame base pointer sp | . | top of stack pointer si | . | source index di | . | destination index ip | . | instruction pointer sw | . | status word (flags) cs | . | code segment register ss | . | stack segment register ds | . | data segment register es | . | extra segment register segment combinations cs:ip code to execute ss:sp top of stack ds:si typically, src string pointer es:si typically, dst string pointer memory map 0x00000 (1k) lowmem, real mode interrupt vector table 0x00400 (256k bytes) lowmem, bios data 0x00500 (~30k) available ram 0x07c00 (512 bytes) os boot sector 0x07e00 (480k) available ram 0x80000 (128k) extended bios data area 0xa0000 (64k) ega/vga graphics modes 0xb0000 (32k) monochrome text mode 0xb8000 (32k) colour text mode 0xc0000 (128k) rom of video card and/or network cards 0xe0000 (128k) rom of bios . bda / ebda maps See https://wiki.osdev.org/Memory_Map_(x86)