GoConqr has a new look! Let us know what you think.

Flashcards

x86 slide flash cards

Jacob Mays Computer Organization and Architecture Army English 39 cards

Cards in this deck (39)

  1. 1How many 16-bit general purpose registers are there in x86?8
  2. 2What are the 8 16-bit general purpose registers in x86?AX-accumulator
    BX-base
    CX-counter
    DX-date
    BP-stack base
    SI-source
    DI-destination
    SP-stack
  3. 3AX (accumulator)is used in arithmatic operations
  4. 4BX (base)used as a pointer to data
  5. 5CX (counter)used in the shift and rotate instructions, and used for loops
  6. 6DX (date)used in arithmetic and I/O operations
  7. 7BP (stack base)points to the base of the stack
  8. 8SI (source)points to a source in memory for stream operations
  9. 9DI (destination)points to a destination in memory for stream operations
  10. 10SP (stack)points to the top of the stack
  11. 11In 1986, Intel doubled the size of each general purpose register from what to what?16 to 32 by adding an E
  12. 12What do segmented registers do?point to different segments in memory
  13. 13how many bits are segment registers?16-bit
  14. 14how many segment registers are there in x86?6
  15. 15SS (stack segment)points to the stack
  16. 16CS (code segment)used by the cpu to fetch the code
  17. 17DS (data segment)default register for MOV operations
  18. 18ES (extra segment) FS GSextra data segment
  19. 19What are control and status registers?are special purpose registers that hold information about the most recently
    performed ALU operation, memory alignment, enabling and disabling of interrupts, and set processor-
    operating mode.
  20. 20MOVThe mov instruction copies the data item into the location referred to by its first operand. While
    register-to-register moves are possible, direct memory-to-memory moves are not.
  21. 21PUSHThe push instruction places its operand onto the top of the hardware supported stack in
    memory
  22. 22POPThe pop instruction removes the 4-byte data element from the top of the hardware-supported
    stack into the specified operand (i.e. register or memory location).
  23. 23LEAThe lea instruction places the address specified by its second operand into the register specified
    by its first operand. Note, the contents of the memory location are not loaded, only the effective address
    is computed and placed into the register.
  24. 24addInteger Addition - The add instruction adds together its two operands, storing the result in its first operand.
  25. 25subInteger Subtraction - The sub instruction stores in the value of its first operand the result of subtracting the value of its second
    operand from the value of its first operand.
  26. 26inc, decIncrement, Decrement - The inc instruction increments the contents of its operand by one. The dec instruction decrements the
    contents of its operand by one.
  27. 27imulInteger Multiplication - Includes two-operand and three-operand
    The two-operand form multiplies its two operands together and stores the result in the first operand.
    The three operand form multiplies its second and third operands together and stores the result in its first operand.
  28. 28idivInteger Division - The idiv instruction divides the contents of the 64 bit integer EDX:EAX by the specified operand value. The
    quotient result of the division is stored into EAX, while the remainder is placed in EDX.
  29. 29PushThe push instruction places its operand onto the top of the hardware supported stack in memory.
  30. 30POPThe pop instruction removes the 4-byte data element from the top of the hardware-supported stack
    into the specified operand.
  31. 31CallPushes the address in the IP, incremented once, to the stack and jumps to the address in the
    operand. The subroutine instructions are then sequentially executed.
  32. 32ReturnFound at the end of a subroutine to pop the prior address off the stack and return the address to
    IP
  33. 33Callercalling program
  34. 34Calleesubroutine that is called
  35. 35Returntransfers control back to the caller
  36. 36Integer overflowAn integer overflow is a type of an arithmetic
    overflow error when the result of an integer operation
    does not fit within the allocated memory space.
  37. 37Buffer overflowBuffers are memory storage regions that temporarily hold data while it is being transferred from one
    location to another. A buffer overflow (or buffer overrun) occurs when the volume of data exceeds the
    storage capacity of the memory buffer.
  38. 38Stack overflowA stack overflow is a runtime error that happens when a program runs out of memory in the call stack. The
    stack overflow generally signals a problem in resource provisioning and has to be fixed in order to allow
    the program to run and use memory properly.
    Stack overflows can be caused by not allocating enough memory to a particular program. They can also
    be caused by a codebase where the coder or developer did not remember memory limits and
    programmed the executable to exceed them.
  39. 39What is used to split a program into smaller units in order to solve a particular part of a problem?subroutine

Information

Description
Army Computer Organization and Architecture (X86 Architecture) Flashcards on x86 slide flash cards, created by Jacob Mays on 16/02/2022.
Created by
Jacob Mays
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?