Note: This is the June 17, 2006 capture of http://bentong.topcities.com/comp/progs/asm/asm_qa.htm from the Wayback Machine. This was uploaded to the reloaded ISLESV.NET on June 22, 2023.

  1. What is a general purpose computer?
    A computer which is used for a wide variety of purposes. It can be a game machine, a text editor, a programming studio, etc. depending on the software run on it.

  2. Name the three classes of computers.
    Mainframes, minicomputers and microcomputers.

  3. What are the main similarities and differences between a microcomputer and a minicomputer?
    Similarities: the same underlying principle
    Differencies: power, price

  4. What is the heart of the microcomputer called?
    MPU or microprocessing unit.

  5. What is the 8088?
    The 8088 is a 16-bit chip which communicates with the outside world through 8-bit busses.

  6. What is the primary input unit of the PC? Give two other examples of input units available for the PC.
    The primary input unit for the PC is its keyboard. Two other examples of input unit are scanners and CD-ROM drives.

  7. What are the primary output devices of a PC?
    Display and printer.

  8. What two sections is the memory of a PC partitioned to?
    One which holds data and another which holds code or instruction.

  9. What is the storage capacity of a 5 1/4-inch, double-sided, double-density floppy diskette for the PC? What is the storage capacity of the Winchester drive in the PC-XT?
    5 1/4 floppy: 320kb. Winchester drive: 10, 20 or 30 MB.

  10. What do ROM and RAM stand for?
    ROM is Read Only Memory, memory which can only be accessed but not changed. RAM is Random Access Memory, which is used by applications to hold data and code. The content of RAM is lost if power is turned off.

  11. How much RAM can be installed in the PC without adding a memory board?
    256K (2^8 is 256).

  12. Why must the operating system be reloaded from the DOS diskette each time power is turned on?
    Information in RAM is lost once power is turned off, thus DOS needs to be reloaded from the disk.

  13. What tells the computer what to do, where to get data, how to process the data, and where to put the results when done?
    The software or the computer program.

  14. What is the name given to a sequence of instructions that is used to guide a computer through a task?
    Program.

  15. What is the native language of the 8088?
    Machine language.

  16. How does machine language differ from assembly language?
    Machine language is a sequence of zeroes and ones; assembly language is human readable.

  17. What does opcode stands for?
    OPeration CODE, that is, the code for a certain operation. This is the part of the instruction which identifies the operation that is to be performed.

  18. What is an operand? Give two types.
    Operands identify the data that are to be processed as the micro-computer carries out the operation specified by the opcode. Two types of operands are destination operands and source operands.

  19. In the assembly language statement

    START: ADD AX,BX ; Add BX to AX

    what is the label?
    START.

  20. What is the function of an assembler? A compiler?
    An assembler transforms each assembly statement into a corresponding machine language instruction; a compiler breaks down a statement into equivalent assembly statements, and then assembles these into machine instructions.

  21. What is object code?
    The machine language output of the assembler.

  22. Give two benefits derived from writing programs in assembly language instead of a high level language.
    a. speed
    b. compactness

  23. What is meant by the phrase real-time application?
    An application that must be able to respond to the present input before another input occurs.

  24. List two hardware-related applications that require use of assembly language programming. Name two software-related applications.
    Hardware: disk drive operation, interfacing.
    Software: graphics, math.

  25. Explain the difference between a macro call and a subprogram call.
    The macro code will be expanded whenever there is a macro call, while a subprogram call will not.  So macro call costs more memory than subprogram call, but executes faster because a subprogram call needs to save return addresses and jump to the subprogram code, while a macro call needs not.

  26. What is a two-pass assembler?  Why two-pass is usually used in modern design of assemblers instead of one-pass?
    The first pass of the two-pass assemblers create the symbol table and the second pass generate the object code. The reason that most assemblers are designed to be two-pass assemblers is that one-pass assemblers often face problems with forward references such as jump instructions that jumps forward.

  27. What are the data structures needed in the design of an assembler?
    Symbol Table for the record of user defined identifiers; Operation Table for the conversion of mnemonic instructions to machine codes; and Location Counter to keep track of the current operation being assembled and for calculating the offset of the operand part of the instruction.

  28. What is the purpose of the software model for a microprocessor?
    To aid the programmer in understanding the microprocessor system from a software point of view.

  29. What must an assembly programmer know about the registers within the 8088
    microprocessor?
    Their uses, purposes, and limitations.

  30. How many registers are located within the 8088?
    14: AX, BX, CX, DX, CS, DS, SS, ES, IP, SP, BP, SR (FR), SI, DI.

  31. How large is the 8088’s memory address space?
    1,048,576 bytes = 1024K = 1 MB. 384K of this is for ROM BIOS data.

  32. What is the highest address in the 8088’s memory address space? Lowest?
    Highest: FFFFF, lowest: 00000.

  33. Is memory in the 8088 microcomputer organized as bytes, words, or double words?
    All of the above.

  34. The contents of memory location B0000 are [sic] FF, and those at B0001 are [sic] 00H. What is the even-addressed data word stored at address B0000?
    00FF.

  35. Show how the double word 12345678H will be stored in memory starting at address A001H?

    [A0004] => 12
    [A0003] => 34
    [A0002] => 56
    [A0001] => 78

  36. How much memory can be active at a given time in the 8088 microprocessor?
    256K (=64K/segment * 4 segments)

  37. Which of the 8088’s internal registers are used for memory segmentation?
    The four segment registers (CS, DS, ES, SS).

  38. How much of the 8088’s active memory is available as a general-purpose data storage memory?
    128K (The Data Segment and Extra Segment, each of which is 64K.)

  39. Which part of the 8088’s memory address space is used to store instructions of a program?
    The Code Segment, controlled by the word at the CS register.