Machine-Level & Systems Programming - Set 2

  1. What does ISA stand for?
    Instruction Set Architecture
  2. What is x86 short for?
    Intel 80x86 ISA
  3. What are the "easy to remember" assembly names of the four general purpose 16-bit registers on the 8086 processor?
    AX, BX, CX, DX
  4. What does AH refer to on the 8086 registers?
    8 most significant bits of the AX register
  5. What does AL refer to on the 8086 registers?
    8 least significant bits of the AX register
  6. Does the ISA make it possible to refer to the low or high bits of each 16-bit register individually?
    • Yes
    • - AH, AL
    • - BH, BL
    • - CH, CL
    • - DH, DL
  7. True/False: Changing the value of AX will not change the values of AH and/or AL.
    False, AH and AL are "tied" to the 16-bit register
  8. True/False: xH and xL registers can be used as 2-byte registers to store 2-byte quantities.
    False, they are 8 bits, so they can store 1-byte.
  9. What are SI and DI?
    • Two 16-bit index registers.
    • - general purpose registers
    • - by convention, they contain addresses (pointers)
    • - CANNOT be decomposed into High and Low 1-byte registers
  10. Which 2-byte registers CANNOT be decomposed into HIGH and LOW 1-byte registers?
    SI and DI
  11. What are the BP and SP registers?
    • Two 16-bit special registers.
    • - BP = Base pointer
    • - SP = Stack pointer

    *Storing in any of these registers will break you code
  12. What are the CS, DS, SS, ES registers?
    • Four 16-bit segment registers
    • - CS = Code Segment
    • - DS = Data Segment
    • - SS = Stack Segment
    • - ES = Extra Segment

    *Storing in any of these registers will break your code
  13. What is the IP register?
    • 16-bit Instruction Pointer register.
    • - point to the next instruction to execute
    • - typically not used directly when writing assembly code
  14. What is the FLAGS register?
    • - 16-bit register
    • - contains "status bits" that has its individual name and meaning
    • - collection of bits, not multi-bit value
  15. Name the six 16-bit registers that can be used as "variables"
    AX, BX, CX, DX, SI, DI
  16. Name the 7 16-bit registers that cannot be used to store data. They are used to make your program run.
    BP, SP, IP, CS, DS, SS, ES
  17. How many bits are addresses in the 8086 processor?
    20, can reference 2d things
  18. What do addresses in the 8086 processor reference?
  19. CS point to the beginning of the:
    code segment
  20. DS point to the beginning of the:
    data segment
  21. SS points to the beginning of the:
    stack segment
  22. How may bits are the EAX, EBX, ECX, EDX registers?
  23. For backwards compatibility, AX, BX, CX, and DX refer to...
    the 16 low bits of EAX, EBX, ECX, and EDX
Card Set
Machine-Level & Systems Programming - Set 2
The x86 Architecture