The Intel 8086 anddan 8088 haddilengkapi dengan 14 16-[[bit]] [[processor register prosesor|registersregister]]. Four ofEmpat themdiantaranya (AX, BX, CX, DX) weredirancang sebagai fungsi umum (general purposepurpouse) (althoughmeskipun eachmasing-masing hadjuga alsomemiliki anfungsi additionalkhusus purposetambahan; formisanya examplehanya onlyregister CX canyang bedapat useddigunakan assebagai apenghitung (counter) withdalam theinstruksi ''loop'' instruction). EachSetiap couldregister bedapat accesseddiakses assebagai two separatedua bytes (thus8-bit) BX'sterpisah high(jadi byte-atas canBX's bedapat accesseddiakses assebagai BH and lowdan byte-bawah-nya assebagai BL). InSelain addition to themitu, thereterdapat arejuga fourempat segmentregister registerssegmen ('''CS, DS, SS anddan ES'''). TheyRegister areini useddigunakan tountuk formmembangun aalamat memory addressmemori. ThereAda arejuga twodua pointerregister registerspenunjuk (pointer) (SP whichyang pointsmenunjuk topada thetitik bottomawal of thetumpukan (stack), anddan BP whichyang candapat bemenunjuk usedpada totitik pointmanapun atdalam some other place in thetumpukan (stack) oratau the memorymemori). ThereAda aredua tworegister index registersindeks (SI anddan DI) which canyang bedapat useddigunakan tosebagai pointpenunjuk inside andalam array. FinallyDan terakhir, thereada issebuah theregister [[flag register]]penanda ([[FLAGS register (computing)|FLAGSflag]]) containingyang flagsterdapat suchdidalamnya penanda-penanda asseperti [[carry]], [[overflow]], zero anddan solain onlain, anddan thejuga sebuah penunjuk instruksi (instruction pointer (- IP) whichyang pointsmenunjuk atke thetitik currentinstruksi instructionyang sedang dieksekusi.
In real mode, memory access is ''segmented''. This is done by shifting the segment address left by 4 bits and adding an offset in order to receive a final 20-bit address. For example, if DS is A000h and SI is 5677h, DS:SI will point at the absolute address DS × 16 + SI = A5677h. Thus the total address space in real mode is 2<sup>20</sup> bytes, or 1 [[Mebibyte|MiB]], quite an impressive figure for 1978. All memory addresses consist of both a segment and offset; every type of access (code, data, or stack) has a default segment register associated with it (for data the register is usually DS, for code it is CS, and for stack it is SS). For data accesses, the segment register can be explicitly specified (using a segment override prefix) to use any of the four segment registers.